1
00:00:10,000 --> 00:00:15,800
Buenas, esto es BIMPRAXIS, el podcast donde el

2
00:00:15,800 --> 00:00:17,920
BIM se encuentra con la inteligencia artificial.

3
00:00:20,519 --> 00:00:23,620
Exploramos la ciencia, la tecnología y el futuro

4
00:00:23,620 --> 00:00:26,559
desde el enfoque de la arquitectura, ingeniería y

5
00:00:26,559 --> 00:00:27,179
construcción.

6
00:00:28,859 --> 00:00:29,519
¡Empezamos!

7
00:00:37,259 --> 00:00:38,259
Muy buenas.

8
00:00:38,259 --> 00:00:41,659
Bienvenidas, bienvenidos a un nuevo episodio de BIMPRAXIS.

9
00:00:41,659 --> 00:00:43,719
Hoy os traemos cómo domar a la IA,

10
00:00:43,719 --> 00:00:45,899
cinco tácticas para convertir a tu agente en

11
00:00:45,899 --> 00:00:47,460
un ingeniero de élite.

12
00:00:47,520 --> 00:00:48,320
Hola a todos.

13
00:00:48,320 --> 00:00:50,039
Qué ganas tenía de meterme en este tema.

14
00:00:49,960 --> 00:00:50,960
Y tanto.

15
00:00:50,960 --> 00:00:53,259
A ver, para arrancar este análisis a fondo,

16
00:00:53,259 --> 00:00:55,479
imaginemos la siguiente escena por un momento.

17
00:00:55,479 --> 00:00:58,439
Tienes a tu absoluta disposición un ejército infinito

18
00:00:58,439 --> 00:00:59,979
de ingenieros de software.

19
00:00:59,539 --> 00:01:01,920
O sea, el sueño de cualquier empresa.

20
00:01:01,920 --> 00:01:03,039
Totalmente.

21
00:01:03,039 --> 00:01:05,879
Son rápidos, trabajan de madrugada sin inmutarse y

22
00:01:05,879 --> 00:01:07,640
encima jamás te van a pedir un aumento

23
00:01:07,640 --> 00:01:08,159
de sueldo.

24
00:01:08,680 --> 00:01:11,819
Suena al paraíso de cualquier desarrollador, desde luego.

25
00:01:11,620 --> 00:01:13,620
Ya, pero hay una trampa monumental en todo

26
00:01:13,620 --> 00:01:14,500
esto.

27
00:01:14,500 --> 00:01:17,480
Estos trabajadores incansables resulta que tienen la memoria

28
00:01:17,480 --> 00:01:18,540
de un pez.

29
00:01:17,959 --> 00:01:19,120
Literalmente.

30
00:01:19,040 --> 00:01:21,099
Y claro, si les das demasiada información de

31
00:01:21,099 --> 00:01:24,079
golpe, se saturan y comienzan a sabotear tu

32
00:01:24,079 --> 00:01:27,480
propio proyecto con decisiones que son completamente ilógicas.

33
00:01:27,000 --> 00:01:29,640
Y fíjate, esa paradoja, la de tener un

34
00:01:29,640 --> 00:01:33,340
trabajador brillante pero amnésico, es la barrera invisible

35
00:01:33,340 --> 00:01:35,260
contra la que está chocando gran parte de

36
00:01:35,260 --> 00:01:37,219
la industria tecnológica ahora mismo.

37
00:01:37,219 --> 00:01:40,219
Claro, cuando intentamos desarrollar software asistido.

38
00:01:40,219 --> 00:01:41,060
Eso es.

39
00:01:41,060 --> 00:01:43,459
Por eso, hoy la misión de esta exploración

40
00:01:43,459 --> 00:01:46,760
es desgranar el sistema que ha ideado Madpokok.

41
00:01:46,560 --> 00:01:48,219
Que es un ingeniero que lleva ya una

42
00:01:48,219 --> 00:01:49,620
década en este sector, ¿verdad?

43
00:01:49,640 --> 00:01:52,780
Y tras lidiar con esto a diario, ha

44
00:01:52,780 --> 00:01:56,060
estructurado unos flujos de trabajo muy estrictos, lo

45
00:01:56,060 --> 00:01:58,439
que él llama skills, para guiar a la

46
00:01:58,439 --> 00:01:59,659
inteligencia artificial.

47
00:01:59,799 --> 00:02:01,700
O sea, no es solo aprenderse cuatro comandos

48
00:02:01,700 --> 00:02:02,939
de teclado de memoria.

49
00:02:02,939 --> 00:02:03,459
Qué va, qué va.

50
00:02:03,459 --> 00:02:06,099
Es un cambio de mentalidad radical.

51
00:02:06,099 --> 00:02:08,039
Tienes que entender por qué debes tratar a

52
00:02:08,039 --> 00:02:10,500
la máquina casi como a un humano, pero

53
00:02:10,500 --> 00:02:14,539
con unas restricciones cognitivas asombrosamente frágiles.

54
00:02:14,419 --> 00:02:16,699
Vale, pues para entender esas restricciones de las

55
00:02:16,699 --> 00:02:18,740
que hablas creo que tenemos que meternos un

56
00:02:18,740 --> 00:02:20,840
poco en la psicología del modelo.

57
00:02:20,879 --> 00:02:22,819
Sí, es que podemos llamarla así, claro.

58
00:02:22,800 --> 00:02:24,340
Ya, bueno, tú me entiendes.

59
00:02:24,340 --> 00:02:25,860
El caso es que dejar a estos agentes

60
00:02:25,860 --> 00:02:28,639
sueltos a su libre albedrío es un desastre

61
00:02:28,639 --> 00:02:29,800
asegurado.

62
00:02:29,800 --> 00:02:31,900
Las fuentes mencionan un par de conceptos súper

63
00:02:31,900 --> 00:02:34,500
curiosos, el síndrome de memento y la zona

64
00:02:34,500 --> 00:02:35,259
tonta.

65
00:02:35,139 --> 00:02:37,379
Sí, lo de la zona tonta es brutal.

66
00:02:37,379 --> 00:02:40,139
Es un concepto de Dex High, un investigador

67
00:02:40,139 --> 00:02:41,979
de la empresa Human Layer.

68
00:02:42,139 --> 00:02:43,639
él divide el estado de la IA en

69
00:02:43,639 --> 00:02:45,939
la zona inteligente y la zona tonta.

70
00:02:45,979 --> 00:02:47,960
Vale, ¿y cómo pasas de una a otra?

71
00:02:48,240 --> 00:02:50,460
Pues a ver, al iniciar una sesión nueva,

72
00:02:50,460 --> 00:02:52,960
el contexto está limpísimo, no hay ruido.

73
00:02:53,039 --> 00:02:55,180
Ahí el modelo te da su mejor razonamiento

74
00:02:55,180 --> 00:02:55,919
lógico.

75
00:02:55,819 --> 00:02:57,740
O sea, está fresco y opera en la

76
00:02:57,740 --> 00:02:59,000
zona inteligente.

77
00:02:58,719 --> 00:02:59,139
Eso es.

78
00:02:59,139 --> 00:03:01,439
Pero claro, a medida que le vas metiendo

79
00:03:01,439 --> 00:03:05,020
tokens, ya sea código, texto, documentos, lo que

80
00:03:05,020 --> 00:03:07,159
sea, el declive empieza.

81
00:03:06,680 --> 00:03:09,560
Porque las relaciones de atención matemática que calcula

82
00:03:09,560 --> 00:03:11,840
la IA no escalan de forma lineal, ¿no?

83
00:03:12,020 --> 00:03:12,979
Exacto.

84
00:03:12,979 --> 00:03:14,680
Escalan de forma cuadrática.

85
00:03:14,680 --> 00:03:15,800
O sea que el peso de lo que

86
00:03:15,800 --> 00:03:17,240
le dices se multiplica.

87
00:03:17,240 --> 00:03:19,139
A ver, leyendo las fuentes, esto me sonaba

88
00:03:19,139 --> 00:03:21,400
muchísimo añadir equipos a una liga de fútbol.

89
00:03:22,039 --> 00:03:23,060
Cuéntame.

90
00:03:23,039 --> 00:03:24,439
Pues a ver, si una liga tiene 10

91
00:03:24,439 --> 00:03:26,840
equipos, el calendario de partidos que tienes que

92
00:03:26,840 --> 00:03:28,419
organizar es manejable.

93
00:03:28,139 --> 00:03:28,840
Claro.

94
00:03:28,840 --> 00:03:30,819
Pero si metes un equipo nuevo, no es

95
00:03:30,819 --> 00:03:32,599
que añadas un partido más.

96
00:03:32,599 --> 00:03:34,280
Es que ese equipo tiene que jugar contra

97
00:03:34,280 --> 00:03:35,800
todos los otros 10.

98
00:03:36,159 --> 00:03:38,340
Las relaciones se disparan por completo.

99
00:03:38,340 --> 00:03:39,199
Tal cual.

100
00:03:39,199 --> 00:03:41,819
Fíjate que cada palabra nueva obliga a la

101
00:03:41,819 --> 00:03:45,240
red neuronal a recalcular su relación matemática con

102
00:03:45,240 --> 00:03:47,639
absolutamente todo lo que le has escrito antes.

103
00:03:47,979 --> 00:03:48,520
Madre mía.

104
00:03:48,780 --> 00:03:50,719
Y llega un punto en que el cálculo

105
00:03:50,719 --> 00:03:53,419
de probabilidades se vuelve un laberinto.

106
00:03:53,840 --> 00:03:56,699
Históricamente, este límite de colapso está sobre el

107
00:03:56,699 --> 00:03:59,599
40% del contexto, que vienen a ser unos

108
00:03:59,599 --> 00:04:01,080
100.000 tokens.

109
00:04:01,039 --> 00:04:02,740
Y ahí es cuando cruzas a la zona

110
00:04:02,740 --> 00:04:03,639
tonta.

111
00:04:03,159 --> 00:04:04,460
De lleno.

112
00:04:04,460 --> 00:04:06,039
Y lo peor es que la IA no

113
00:04:06,039 --> 00:04:07,919
se apaga, ni te da un error de

114
00:04:07,919 --> 00:04:09,819
sistema rojo parpadeante.

115
00:04:09,879 --> 00:04:11,800
Simplemente se vuelve torpe en silencio.

116
00:04:12,060 --> 00:04:12,979
Eso es.

117
00:04:12,979 --> 00:04:14,580
Empieza a olvidar lo que le dijiste al

118
00:04:14,580 --> 00:04:17,819
principio, se inventa librerías que no existen y

119
00:04:17,819 --> 00:04:19,800
te revienta la arquitectura entera.

120
00:04:19,639 --> 00:04:20,379
Tela.

121
00:04:20,379 --> 00:04:21,833
Y aquí es donde entra lo de la

122
00:04:21,833 --> 00:04:22,873
película Memento, ¿no?

123
00:04:23,093 --> 00:04:23,993
Claro.

124
00:04:23,993 --> 00:04:26,273
Como el protagonista no tiene memoria a corto

125
00:04:26,273 --> 00:04:28,733
plazo, la única forma de sacar a la

126
00:04:28,733 --> 00:04:30,753
IA de la zona tonta es borrarle el

127
00:04:30,753 --> 00:04:31,373
historial.

128
00:04:30,673 --> 00:04:33,093
Pero al limpiarlo la dejas en un estado

129
00:04:33,093 --> 00:04:34,433
amnésico otra vez.

130
00:04:34,513 --> 00:04:35,773
Pierdes todo el contexto.

131
00:04:35,813 --> 00:04:36,753
Pierdes todo.

132
00:04:36,753 --> 00:04:37,813
Vuelve a cero.

133
00:04:37,673 --> 00:04:39,073
A ver, espera, espera.

134
00:04:39,113 --> 00:04:41,213
Yo aquí veo una contradicción enorme con lo

135
00:04:41,213 --> 00:04:42,613
que nos vende el mercado.

136
00:04:42,713 --> 00:04:44,893
Porque las tecnológicas enuncian cada dos por tres

137
00:04:44,893 --> 00:04:46,893
ventanas de contexto de un millón o dos

138
00:04:46,893 --> 00:04:48,733
millones de tokens.

139
00:04:48,733 --> 00:04:51,493
Ya, te venden que el problema está solucionado.

140
00:04:51,493 --> 00:04:53,913
Claro, te dicen que puedes volcar la enciclopedia

141
00:04:53,913 --> 00:04:56,333
británica entera en el chat y que la

142
00:04:56,333 --> 00:04:57,633
IA ni suda.

143
00:04:57,633 --> 00:05:00,673
Pues siento decirte que es un espejismo técnico

144
00:05:00,673 --> 00:05:02,533
bastante peligroso.

145
00:05:02,533 --> 00:05:03,393
¿En serio?

146
00:05:03,453 --> 00:05:04,713
Totalmente.

147
00:05:04,713 --> 00:05:06,813
Darle un millón de tokens no significa que

148
00:05:06,813 --> 00:05:09,813
su razonamiento lógico se multiplique.

149
00:05:10,013 --> 00:05:11,953
Simplemente significa que te han dado una zona

150
00:05:11,953 --> 00:05:13,553
tonta inmensa.

151
00:05:13,513 --> 00:05:15,713
O sea, sirve para buscar cosas, pero no

152
00:05:15,713 --> 00:05:16,733
para pensar.

153
00:05:16,813 --> 00:05:17,933
Exacto.

154
00:05:17,933 --> 00:05:20,393
Sirve para tareas de recuperación de datos.

155
00:05:20,493 --> 00:05:22,133
Tú le pasas guerra y paz entero y

156
00:05:22,133 --> 00:05:23,693
le pides que busque en qué página un

157
00:05:23,693 --> 00:05:25,413
soldado se toma un té.

158
00:05:25,373 --> 00:05:26,613
Y te lo saca al instante.

159
00:05:26,633 --> 00:05:28,553
Te lo saca rápido, sí.

160
00:05:29,033 --> 00:05:30,673
Pero buscar un dato inerte no requiere el

161
00:05:30,673 --> 00:05:33,053
mismo esfuerzo cognitivo que programar la lógica de

162
00:05:33,053 --> 00:05:33,793
una base de datos.

163
00:05:34,353 --> 00:05:35,953
O sea, que el límite para el razonamiento

164
00:05:35,953 --> 00:05:38,473
puro siguen siendo esos 100.000 tokens.

165
00:05:38,513 --> 00:05:40,313
De ahí no pasamos por ahora.

166
00:05:40,753 --> 00:05:42,773
Si le pides que evalúe medio millón de

167
00:05:42,773 --> 00:05:45,813
líneas de código y tome decisiones arquitectónicas, su

168
00:05:45,813 --> 00:05:47,233
lógica colapsa.

169
00:05:47,293 --> 00:05:48,973
Vamos, que nos han montado el archivo más

170
00:05:48,973 --> 00:05:51,253
grande del mundo, pero el pobre archivista tiene

171
00:05:51,253 --> 00:05:53,133
un déficit de atención tremendo.

172
00:05:53,413 --> 00:05:55,913
Mejor no lo podrías haber resumido.

173
00:05:55,893 --> 00:05:58,113
Vale, pues sabiendo esto, ¿cómo empezamos un proyecto?

174
00:05:58,813 --> 00:06:01,593
Porque el instinto normal es coger, escribir un

175
00:06:01,593 --> 00:06:04,513
pliego de requerimientos gigantesco, dárselo a la máquina

176
00:06:04,513 --> 00:06:06,173
y sentarse a tomar un café.

177
00:06:06,093 --> 00:06:07,913
Pues según Pocock, hacer eso es pegarse un

178
00:06:07,913 --> 00:06:08,833
tiro en el pe directamente.

179
00:06:09,313 --> 00:06:09,833
¿Por qué?

180
00:06:10,113 --> 00:06:11,913
Porque estás cayendo en lo que llaman vibe

181
00:06:11,913 --> 00:06:12,773
coding.

182
00:06:12,933 --> 00:06:15,593
Básicamente delegas todo, ignoras el código que se

183
00:06:15,593 --> 00:06:17,653
genera y si la aplicación parece que funciona

184
00:06:17,653 --> 00:06:19,333
por encima, pues genial.

185
00:06:19,373 --> 00:06:21,213
Ya, pero las fuentes dicen que eso es

186
00:06:21,213 --> 00:06:24,133
la muerte de pasar de especificaciones a código.

187
00:06:24,033 --> 00:06:25,493
Exacto.

188
00:06:25,493 --> 00:06:27,133
Pierdes por completo el control de tu campo

189
00:06:27,133 --> 00:06:29,093
de batalla, que en el desarrollo de software

190
00:06:29,093 --> 00:06:31,813
siempre es y será el código fuente.

191
00:06:31,733 --> 00:06:33,353
Si no sabes cómo están los cimientos a

192
00:06:33,353 --> 00:06:34,833
la mínima que algo falle, se te cae

193
00:06:34,833 --> 00:06:35,673
la casa entera.

194
00:06:35,713 --> 00:06:36,673
Tal cual.

195
00:06:36,673 --> 00:06:38,573
Y por eso la táctica estrella de Pocock

196
00:06:38,573 --> 00:06:39,933
es otra historia.

197
00:06:40,073 --> 00:06:41,913
Tiene un skill en su repositorio con más

198
00:06:41,913 --> 00:06:44,013
de 58,000 descargas.

199
00:06:43,933 --> 00:06:44,793
¿Y cuál es?

200
00:06:44,913 --> 00:06:47,753
Un comando supersimple barra grill me.

201
00:06:48,033 --> 00:06:49,013
Interrógame.

202
00:06:49,153 --> 00:06:49,913
Literal.

203
00:06:49,913 --> 00:06:51,353
En lugar de que la IA te escupa

204
00:06:51,353 --> 00:06:53,433
un plan prematuro, ¿tú le ordenas que se

205
00:06:53,433 --> 00:06:56,133
ponga el sombrero de entrevistador implacable?

206
00:06:56,033 --> 00:06:58,413
O sea, ¿quién epila la ironía de esto,

207
00:06:58,413 --> 00:06:58,493
eh?

208
00:06:59,053 --> 00:07:02,433
Nos gastamos millones en crear inteligencias artificiales para

209
00:07:02,433 --> 00:07:04,813
que nos den respuestas rápidas Y la mejor

210
00:07:04,813 --> 00:07:08,093
técnica es rogarle que nos fría a preguntas.

211
00:07:08,073 --> 00:07:10,613
Es un baño de humildad tremendo.

212
00:07:10,533 --> 00:07:12,553
Es que debe ser agotador de verdad, como

213
00:07:12,553 --> 00:07:15,453
tener al típico jefe de proyecto fiscalizando cada

214
00:07:15,453 --> 00:07:17,013
coma que quieres poner.

215
00:07:16,853 --> 00:07:18,393
Ya, pero es que obliga a la máquina

216
00:07:18,393 --> 00:07:20,873
a desconfiar de tu idea inicial.

217
00:07:20,953 --> 00:07:22,913
Y el objetivo aquí es llegar a lo

218
00:07:22,913 --> 00:07:23,693
que Frederick P.

219
00:07:23,693 --> 00:07:26,613
Brooks llama un concepto de diseño compartido, en

220
00:07:26,613 --> 00:07:28,853
su libro El diseño del diseño.

221
00:07:28,473 --> 00:07:31,113
Que básicamente dice que la arquitectura de software

222
00:07:31,113 --> 00:07:33,353
no es una línea recta, sino un árbol

223
00:07:33,353 --> 00:07:34,113
lleno de ramas.

224
00:07:34,433 --> 00:07:34,933
Eso es.

225
00:07:34,933 --> 00:07:37,513
Si no exploras todas esas ramas antes de

226
00:07:37,513 --> 00:07:39,973
teclear, el proyecto va al pozo.

227
00:07:39,853 --> 00:07:40,713
Vale, entiendo.

228
00:07:40,713 --> 00:07:42,533
La IA te empieza a sacar escenarios en

229
00:07:42,533 --> 00:07:44,013
los que tú ni habías pensado.

230
00:07:43,953 --> 00:07:44,333
Claro.

231
00:07:44,333 --> 00:07:46,193
Te dice, oye, ¿qué pasa si falla la

232
00:07:46,193 --> 00:07:47,813
pasarela de pago a la mitad?

233
00:07:47,933 --> 00:07:49,453
¿O si le das puntos a un usuario

234
00:07:49,453 --> 00:07:50,113
en la app?

235
00:07:50,113 --> 00:07:51,273
¿Son retroactivos?

236
00:07:51,213 --> 00:07:53,673
Y Pocock decía que se pasaba media hora

237
00:07:53,673 --> 00:07:56,933
respondiendo 80 preguntas seguidas para funciones que parecían

238
00:07:56,933 --> 00:07:57,613
súper simples.

239
00:07:58,233 --> 00:07:59,953
Sí, sí.

240
00:07:59,953 --> 00:08:01,853
Pero es que es interrogatorio meter a lo

241
00:08:01,853 --> 00:08:03,813
humano en el bucle desde el principio.

242
00:08:04,073 --> 00:08:05,693
Es lo único que evita que la IA

243
00:08:05,693 --> 00:08:08,093
y tú vayáis por caminos distintos.

244
00:08:08,233 --> 00:08:10,513
¿Te asegura la alineación mental?

245
00:08:10,513 --> 00:08:11,213
Vale.

246
00:08:11,273 --> 00:08:13,473
Pongamos que sobrevivimos al tercer grado de la

247
00:08:13,473 --> 00:08:15,033
IA y ya estamos alineados.

248
00:08:15,693 --> 00:08:17,213
¿Qué hacemos para no volver a caer en

249
00:08:17,213 --> 00:08:18,333
el síndrome de memento?

250
00:08:18,653 --> 00:08:20,453
Pues cristalizar ese consenso.

251
00:08:20,453 --> 00:08:22,813
Y ahí usa otro comando.

252
00:08:22,833 --> 00:08:25,033
Barra top PRD.

253
00:08:25,513 --> 00:08:28,473
Para generar un documento de requisitos de producto.

254
00:08:28,453 --> 00:08:30,033
Exacto.

255
00:08:30,033 --> 00:08:31,713
La IA te resume toda la charla en

256
00:08:31,713 --> 00:08:34,113
un documento formal con el problema, la solución

257
00:08:34,113 --> 00:08:35,773
y todo detallado.

258
00:08:35,633 --> 00:08:37,833
Aunque leí en las notas que Pocock confiesa

259
00:08:37,833 --> 00:08:39,933
que casi nunca lee ese documento que acaba

260
00:08:39,933 --> 00:08:40,493
de generar.

261
00:08:41,133 --> 00:08:42,653
Y tiene sentido, fíjate.

262
00:08:42,693 --> 00:08:43,573
Ah, sí.

263
00:08:43,573 --> 00:08:45,487
A mí me parecía absurdo generar algo para

264
00:08:45,487 --> 00:08:46,507
ignorarlo.

265
00:08:46,307 --> 00:08:48,287
Piensa que tú ya tienes la idea clara

266
00:08:48,287 --> 00:08:50,967
porque acabas de sufrir el interrogatorio.

267
00:08:51,207 --> 00:08:53,007
Ese documento no es para ti.

268
00:08:53,007 --> 00:08:55,327
Es el disco duro externo de la IA.

269
00:08:55,327 --> 00:08:56,167
Ah, claro.

270
00:08:56,167 --> 00:08:58,247
Es un punto de guardado para cuando necesites

271
00:08:58,247 --> 00:09:00,267
recargarle el contexto y sacarla de la zona

272
00:09:00,267 --> 00:09:01,007
tonta.

273
00:09:00,967 --> 00:09:01,447
Eso es.

274
00:09:01,447 --> 00:09:04,127
Y el siguiente paso es transformar ese texto

275
00:09:04,127 --> 00:09:07,487
en tareas con el comando barra to issues.

276
00:09:07,307 --> 00:09:09,927
Para montar el típico tablero Kanban visual.

277
00:09:10,007 --> 00:09:10,407
Correcto.

278
00:09:10,407 --> 00:09:13,167
Pero ojo aquí, porque al dividir el trabajo

279
00:09:13,167 --> 00:09:15,087
sale a la luz el peor instinto de

280
00:09:15,087 --> 00:09:15,827
la IA.

281
00:09:16,027 --> 00:09:18,747
Le encanta programar de forma horizontal.

282
00:09:18,747 --> 00:09:20,567
Como en una cadena de montaje.

283
00:09:20,727 --> 00:09:23,367
Primero hacemos todos los cimientos, luego todas las

284
00:09:23,367 --> 00:09:24,867
paredes y luego todos los tejados.

285
00:09:25,547 --> 00:09:27,907
Traducido a software quiere montarte todas las tablas

286
00:09:27,907 --> 00:09:30,047
de la base de datos de golpe, luego

287
00:09:30,047 --> 00:09:32,527
programar toda la lógica del servidor y al

288
00:09:32,527 --> 00:09:34,047
final la interfaz visual.

289
00:09:34,027 --> 00:09:35,767
¿Y cuál es el riesgo de hacer eso?

290
00:09:35,647 --> 00:09:36,647
El feedback.

291
00:09:36,647 --> 00:09:39,167
O más bien, la falta de él.

292
00:09:39,167 --> 00:09:41,207
Si la IA mete un error conceptual en

293
00:09:41,207 --> 00:09:43,507
la base de datos el primer día, no

294
00:09:43,507 --> 00:09:45,467
te vas a dar cuenta hasta semanas después

295
00:09:45,467 --> 00:09:47,547
cuando intentes conectar la pantalla.

296
00:09:47,527 --> 00:09:49,687
Y para entonces arreglar el desastre te cuesta

297
00:09:49,687 --> 00:09:50,247
la vida.

298
00:09:50,227 --> 00:09:51,387
Totalmente.

299
00:09:51,167 --> 00:09:53,267
Pues para anular ese riesgo, las fuentes mencionan

300
00:09:53,267 --> 00:09:56,187
el concepto de balas trazadoras, del libro El

301
00:09:56,187 --> 00:09:57,267
programador pragmático.

302
00:09:57,267 --> 00:09:59,527
Y la analogía que usan es brutal.

303
00:09:59,307 --> 00:10:01,147
Sí, la del artillero de noche.

304
00:10:00,807 --> 00:10:01,827
Esa es.

305
00:10:01,827 --> 00:10:03,827
Si tú estás disparando munición normal en plena

306
00:10:03,827 --> 00:10:05,927
noche, no ves a dónde van las balas,

307
00:10:05,927 --> 00:10:07,127
estás a ciegas.

308
00:10:07,187 --> 00:10:09,667
Pero las balas trazadoras llevan fósforo, así que

309
00:10:09,667 --> 00:10:11,507
brillan en la oscuridad y te dan feedback

310
00:10:11,507 --> 00:10:13,507
visual inmediato para corregir el tiro.

311
00:10:13,447 --> 00:10:15,087
Pues en el código es lo mismo.

312
00:10:15,087 --> 00:10:18,007
Nada de desarrollos horizontales ciegos, hay que hacer

313
00:10:18,007 --> 00:10:20,487
cortes verticales súper finos.

314
00:10:20,207 --> 00:10:22,367
O sea, hacer una tabla de datos, conectarla

315
00:10:22,367 --> 00:10:23,967
a su lógica y ponerle un botón en

316
00:10:23,967 --> 00:10:24,807
la pantalla.

317
00:10:24,807 --> 00:10:26,207
Todo de arriba a abajo.

318
00:10:25,727 --> 00:10:27,947
Verlo funciona rápido.

319
00:10:27,947 --> 00:10:29,887
Y al hacer esto en el Kanban, consigues

320
00:10:29,887 --> 00:10:31,727
otra ventaja gigante.

321
00:10:31,727 --> 00:10:34,607
Puedes usar grafos acíclicos dirigidos.

322
00:10:35,447 --> 00:10:37,367
Uf, madre mía, qué término.

323
00:10:37,367 --> 00:10:39,247
Suena a ciencia ficción pura.

324
00:10:39,267 --> 00:10:41,687
Suena fatal, sí, pero es súper lógico.

325
00:10:41,687 --> 00:10:45,227
Básicamente es definir exactamente qué tarea bloquea a

326
00:10:45,227 --> 00:10:45,867
otra.

327
00:10:45,767 --> 00:10:48,127
O sea, un mapa unidireccional.

328
00:10:48,127 --> 00:10:50,127
La tarea B depende de la A, pero

329
00:10:50,127 --> 00:10:51,287
la C va por libre.

330
00:10:51,287 --> 00:10:53,327
Y nunca entras en bucles infinitos.

331
00:10:53,067 --> 00:10:53,927
Eso es.

332
00:10:53,927 --> 00:10:56,327
Y al tener esas tareas aisladas, puedes paralelizar

333
00:10:56,327 --> 00:10:57,307
el trabajo.

334
00:10:57,307 --> 00:10:58,947
Puedes poner a varios agentes de IA a

335
00:10:58,947 --> 00:10:59,867
currar a la vez.

336
00:10:59,887 --> 00:11:00,627
Exacto.

337
00:11:00,627 --> 00:11:03,467
Cinco agentes en cinco tareas libres, sin pisarse

338
00:11:03,467 --> 00:11:04,887
el código unos a otros.

339
00:11:05,027 --> 00:11:06,547
Imagínate la velocidad de eso.

340
00:11:06,587 --> 00:11:07,847
De locos, claro.

341
00:11:07,847 --> 00:11:09,187
Y ahí es cuando llegamos a lo que

342
00:11:09,187 --> 00:11:10,787
llaman el turno de noche.

343
00:11:10,727 --> 00:11:12,307
El momento en el que el humano se

344
00:11:12,307 --> 00:11:14,207
levanta de la silla y deja a los

345
00:11:14,207 --> 00:11:16,387
agentes tecleando en la oscuridad.

346
00:11:16,207 --> 00:11:16,547
Vale.

347
00:11:16,547 --> 00:11:18,687
Pero seríamos teniendo el problema de la amnesia

348
00:11:18,687 --> 00:11:20,887
y de que la IA a veces alucina,

349
00:11:20,927 --> 00:11:24,387
dejarla sola modificando cosas parece súper arriesgado.

350
00:11:24,407 --> 00:11:26,587
Es que, si no le pones límites, lo

351
00:11:26,587 --> 00:11:27,367
es.

352
00:11:27,467 --> 00:11:29,387
Como programan a ciegas y no pueden ver

353
00:11:29,387 --> 00:11:32,367
si el sistema compila o explota, la solución

354
00:11:32,367 --> 00:11:34,467
de Pocock es obligarles a usar el comando

355
00:11:34,467 --> 00:11:35,607
barra TDD.

356
00:11:36,127 --> 00:11:39,947
Test Driven Development, el desarrollo guiado por pruebas.

357
00:11:39,827 --> 00:11:42,227
El ciclo de hierro, escribes un test que

358
00:11:42,227 --> 00:11:44,967
falla en rojo, escribes el código mínimo para

359
00:11:44,967 --> 00:11:47,387
que pase a verde y refactorizas.

360
00:11:47,267 --> 00:11:48,927
A ver, espera un segundo.

361
00:11:48,447 --> 00:11:51,107
El TDD es algo que los programadores humanos

362
00:11:51,107 --> 00:11:52,587
odiamos históricamente.

363
00:11:52,627 --> 00:11:53,647
Odiar es poco.

364
00:11:53,627 --> 00:11:56,947
Es aburridísimo, frena la creatividad y exige muchísima

365
00:11:56,947 --> 00:11:57,487
disciplina.

366
00:11:58,147 --> 00:12:00,007
Casi nadie aguanta usándolo meses.

367
00:11:59,887 --> 00:12:01,227
Ya, es tedioso.

368
00:12:01,127 --> 00:12:02,467
O sea, me estás diciendo que la gran

369
00:12:02,467 --> 00:12:04,907
revolución de la inteligencia artificial es que por

370
00:12:04,907 --> 00:12:07,367
fin hemos encontrado a un pringado digital al

371
00:12:07,367 --> 00:12:09,087
que endosarle las tareas que nos dan más

372
00:12:09,087 --> 00:12:09,887
pereza.

373
00:12:09,587 --> 00:12:11,227
Pues siendo sinceros, sí.

374
00:12:11,687 --> 00:12:13,147
Y funciona de maravilla.

375
00:12:13,467 --> 00:12:15,127
Porque si dejas que la máquina escriba el

376
00:12:15,127 --> 00:12:18,427
código primero y luego el test… Hace trampa.

377
00:12:18,387 --> 00:12:19,547
Muchísima.

378
00:12:19,587 --> 00:12:21,567
Mira el código espantoso que acaba de escribir

379
00:12:21,107 --> 00:12:24,307
y se inventa un test específico que valide

380
00:12:24,307 --> 00:12:25,727
ese desastre.

381
00:12:25,807 --> 00:12:27,287
Valida su propia basura.

382
00:12:27,187 --> 00:12:30,007
Fíjate, rompe la cerradura y luego fabrica una

383
00:12:30,007 --> 00:12:32,487
llave rota que casualmente la abre.

384
00:12:32,087 --> 00:12:32,747
Exacto.

385
00:12:32,887 --> 00:12:34,267
Pero si le forzas a hacer el test

386
00:12:34,267 --> 00:12:37,827
primero, basándose solo en los requisitos documentados, ahí

387
00:12:37,827 --> 00:12:39,707
pones un muro de contención.

388
00:12:39,307 --> 00:12:40,587
El test manda.

389
00:12:40,967 --> 00:12:43,327
Y claro, la IA tiene esa paciencia infinita

390
00:12:43,327 --> 00:12:45,147
que a nosotros nos falta.

391
00:12:44,667 --> 00:12:46,847
Va a repetir el ciclo cientos de veces

392
00:12:46,847 --> 00:12:48,627
y hace falta sin resoplar.

393
00:12:48,547 --> 00:12:49,627
Vale, me convence.

394
00:12:49,627 --> 00:12:50,987
Tenemos un sistema robusto.

395
00:12:50,987 --> 00:12:53,267
Pero claro, todo esto asume que estamos en

396
00:12:53,267 --> 00:12:55,227
un proyecto nuevo y limpito.

397
00:12:54,867 --> 00:12:57,247
Ah, amigo, el mundo real.

398
00:12:57,247 --> 00:12:57,867
Claro.

399
00:12:57,867 --> 00:12:59,647
¿Qué pasa si metes a estos agentes en

400
00:12:59,647 --> 00:13:02,127
un proyecto antiguo de una empresa, lleno de

401
00:13:02,127 --> 00:13:04,067
parches y código enredado de hace años?

402
00:13:04,487 --> 00:13:06,681
Pues que la red neuronal entra en pánico,

403
00:13:06,681 --> 00:13:07,701
lógicamente.

404
00:13:07,681 --> 00:13:09,761
Pocock tiene una regla de oro, si tienes

405
00:13:09,761 --> 00:13:11,981
una base de código basura, la IA solo

406
00:13:11,981 --> 00:13:13,761
va a producir basura más rápido.

407
00:13:13,741 --> 00:13:16,081
Y aquí citaban a John Oosterhout en su

408
00:13:16,081 --> 00:13:19,061
libro Una filosofía del diseño de software.

409
00:13:18,941 --> 00:13:22,521
Sí, la diferencia vital entre módulos superficiales y

410
00:13:22,521 --> 00:13:24,021
módulos profundos.

411
00:13:23,761 --> 00:13:25,981
Entiendo que los superficiales son el problema, ¿no?

412
00:13:25,981 --> 00:13:28,181
Ese código espagueti.

413
00:13:27,921 --> 00:13:30,341
Son veneno puro para la IA.

414
00:13:30,341 --> 00:13:33,321
Un módulo superficial es un archivo enano que

415
00:13:33,321 --> 00:13:35,761
hace una tontería, pero depende de otros 50

416
00:13:35,761 --> 00:13:37,781
archivos regados por todo el sistema.

417
00:13:37,781 --> 00:13:39,761
Y navegar por 50 archivos se come la

418
00:13:39,761 --> 00:13:41,441
ventana de tokens rapidísimo.

419
00:13:41,401 --> 00:13:43,441
Y te lleva directo a la zona tonta.

420
00:13:43,441 --> 00:13:45,641
Además, al intentar hacer los tests que hablábamos

421
00:13:45,641 --> 00:13:48,701
antes, la IA no puede aislar esa función.

422
00:13:48,701 --> 00:13:51,341
Tiene que inventarse tantas simulaciones de otras partes

423
00:13:51,341 --> 00:13:53,141
del programa que el test deja de tener

424
00:13:53,141 --> 00:13:54,041
sentido.

425
00:13:53,781 --> 00:13:54,101
Vale.

426
00:13:54,101 --> 00:13:56,161
¿Y los módulos profundos son lo contrario?

427
00:13:56,221 --> 00:13:57,741
Totalmente.

428
00:13:57,741 --> 00:14:00,761
Un módulo profundo que en una interfaz externa,

429
00:14:00,761 --> 00:14:03,581
súper sencilla, pero por dentro esconde un montón

430
00:14:03,581 --> 00:14:05,241
de complejidad y funciones.

431
00:14:05,501 --> 00:14:07,281
A ver, como la mecánica de un coche

432
00:14:07,281 --> 00:14:08,281
manual.

433
00:14:08,281 --> 00:14:11,301
Tú tienes una palanca de cambios súper simple.

434
00:14:11,301 --> 00:14:13,121
Primera, segunda, tercera.

435
00:14:13,121 --> 00:14:15,441
Eso es el exterior del módulo profundo.

436
00:14:15,721 --> 00:14:16,121
Claro.

437
00:14:15,961 --> 00:14:19,521
Pero por dentro hay cientos de engranajes sincronizados.

438
00:14:19,521 --> 00:14:21,341
Si cada vez que cambias de marcha tuvieras

439
00:14:21,341 --> 00:14:24,221
que alinear 10 engranajes a mano, que sería

440
00:14:24,221 --> 00:14:26,901
un módulo superficial, no podrías conducir.

441
00:14:26,901 --> 00:14:28,961
Pues a la IA le pasa igual.

442
00:14:28,961 --> 00:14:31,221
Necesita ver solo la palanca, para hacer los

443
00:14:31,221 --> 00:14:33,541
test, sin tener que calcular la fricción de

444
00:14:33,541 --> 00:14:34,661
todo el motor interno.

445
00:14:34,761 --> 00:14:36,661
Entonces, si tu proyecto es un lío de

446
00:14:36,661 --> 00:14:38,501
módulos superficiales, ¿cómo lo arreglas?

447
00:14:38,701 --> 00:14:41,801
Con otro comando más, barra, improve code base

448
00:14:41,801 --> 00:14:42,441
architecture.

449
00:14:42,441 --> 00:14:45,561
Y ojo, no analiza todo de golpe.

450
00:14:45,641 --> 00:14:48,861
procesa el código por secciones pequeñas buscando oportunidades

451
00:14:48,861 --> 00:14:52,461
para unificar todas esas funcioncillas sueltas en un

452
00:14:52,461 --> 00:14:53,961
buen módulo profundo.

453
00:14:53,761 --> 00:14:55,281
Fíjate qué paradoja.

454
00:14:55,401 --> 00:14:57,661
Durante años pensábamos que la IA nos iba

455
00:14:57,661 --> 00:15:01,081
a permitir ser peores programadores, que ella arreglaría

456
00:15:01,081 --> 00:15:02,381
nuestros fallos.

457
00:15:02,361 --> 00:15:03,341
¿Y es justo al revés?

458
00:15:02,901 --> 00:15:05,481
Es que nos obliga a ser unos arquitectos

459
00:15:05,481 --> 00:15:07,561
de software impecables para que ya no se

460
00:15:07,561 --> 00:15:07,941
pierda.

461
00:15:08,881 --> 00:15:11,521
Es como si hubiésemos sido albañiles poniendo ladrillos

462
00:15:11,521 --> 00:15:13,601
toda la vida, y de repente la IA

463
00:15:13,601 --> 00:15:16,301
nos obliga a ser urbanistas para planificar toda

464
00:15:16,301 --> 00:15:17,221
la ciudad.

465
00:15:17,301 --> 00:15:18,261
¡Qué buena analogía!

466
00:15:18,261 --> 00:15:20,901
Y ese es el presente del sector, ¿eh?

467
00:15:20,901 --> 00:15:24,661
Al final de todo este proceso hiperautomatizado, hay

468
00:15:24,661 --> 00:15:27,741
una fase inevitable de control de calidad manual.

469
00:15:27,741 --> 00:15:29,561
Donde entra el humano de verdad.

470
00:15:29,521 --> 00:15:31,621
Claro, ahí es donde pones tu gusto, tu

471
00:15:31,621 --> 00:15:32,701
criterio.

472
00:15:32,941 --> 00:15:35,241
Si automatizas el 100%, vas a tener un

473
00:15:35,241 --> 00:15:38,681
producto que funciona, sí, pero sin alma.

474
00:15:38,781 --> 00:15:40,461
Ese toque final no te lo da la

475
00:15:40,461 --> 00:15:41,501
estadística.

476
00:15:41,381 --> 00:15:42,341
Me encanta.

477
00:15:42,341 --> 00:15:44,821
Al final la máquina levanta los muros rapidísimo.

478
00:15:45,101 --> 00:15:47,241
Pero nosotros decidimos si la casa tiene buena

479
00:15:47,241 --> 00:15:49,741
luz o si es agradable vivir ahí.

480
00:15:49,041 --> 00:15:52,321
Esa es la reflexión final que yo creo

481
00:15:52,321 --> 00:15:53,441
que nos queda.

482
00:15:53,321 --> 00:15:55,861
A medida que le delegamos la ejecución pura

483
00:15:55,861 --> 00:15:59,241
a las máquinas, máquinas, nuestro valor profesional cambia

484
00:15:59,241 --> 00:16:01,181
de sitio irremediablemente.

485
00:16:01,181 --> 00:16:04,241
Ya no importa cuántas líneas por minuto picas.

486
00:16:04,241 --> 00:16:07,321
Importa tu capacidad para hacerle las preguntas correctas

487
00:16:07,321 --> 00:16:09,101
a la IA y el buen gusto que

488
00:16:09,101 --> 00:16:11,881
tengas para evaluar si el ensamblaje final merece

489
00:16:11,881 --> 00:16:12,541
la pena.

490
00:16:12,541 --> 00:16:14,981
O cultivamos ese criterio o nos quedamos fuera

491
00:16:14,981 --> 00:16:16,501
del juego, así de claro.

492
00:16:16,501 --> 00:16:17,581
Así de claro, sí.

493
00:16:17,581 --> 00:16:19,341
Pues nos quedamos con esa provocación en la

494
00:16:19,341 --> 00:16:20,841
cabeza para darle vueltas.

495
00:16:20,841 --> 00:16:23,121
Antes de despedirnos hasta el próximo programa, os

496
00:16:23,121 --> 00:16:25,061
informamos de que las voces que oyes han

497
00:16:25,061 --> 00:16:27,261
sido generadas por la IA de Notebook LM

498
00:16:27,261 --> 00:16:29,961
y que dirigiendo el podcast se encuentra Julio

499
00:16:29,961 --> 00:16:32,401
Pablo Vásquez, un humano que te envía saludos.

500
00:16:32,401 --> 00:16:35,401
En caso de error, probablemente sean errores humanos.

501
00:16:35,401 --> 00:16:36,081
Nos escuchamos.

502
00:16:47,461 --> 00:16:49,601
Y hasta aquí el episodio de hoy.

503
00:16:49,601 --> 00:16:51,141
Muchas gracias por tu atención.

504
00:17:01,041 --> 00:17:03,181
Esto es BIMPRAXIS.

505
00:17:03,181 --> 00:17:05,301
Nos escuchamos en el próximo episodio.

506
00:17:26,161 --> 00:17:26,441
¡Suscríbete al canal!

