Episodio 05: Prompting para el Desarrollo de Software

Aníbal Rojas (00:00)
Esto es O Corres

Freddy Montes (00:01)
O te encaramos.

Aníbal Rojas (00:03)
donde hablamos acerca del impacto gigantesco de la inteligencia artificial generativa en el desarrollo del software. ¿Cómo estás, Freddy?

Freddy Montes (00:11)
Todo muy bien, ¿Y vos?

Aníbal Rojas (00:13)
Bueno, hoy estábamos justo antes de arrancar, estábamos hablando sobre los anuncios, ok? Nos tocó anuncios de Google, del Google I/O. Una locura lo que anunciaron, pero este no es un podcast de noticias, eso lo dejamos otra gente, al menos por el momento, nosotros nos concentramos en temas un poquito más de fondo, aunque siempre intentamos conectarlo con la realidad, porque no hay forma de no hacerlo.

Freddy Montes (00:33)
No hay manera de no hacerlo

Aníbal Rojas (00:34)
Mira, Freddy, Prompt Engineering, yo creo que eso por fin se murió como término Dios mediante. ¿Qué opinas tú?

Freddy Montes (00:42)
Yo creo que se murió como término y sigue viviendo como lo que siempre fue: una habilidad que hay que trabajar y desarrollar. Ya yo no escucho como cursos de prompting engineer como al principio. Ya no hay ofertas de prompt engineer de 40 años de experiencia en prompt engineer, entonces yo diría que el prompt engineer como profesión que nos quisieron vender pues claramente murió porque es que algo que

Aníbal Rojas (00:52)
ya no hay ofertas, ya no hay ofertas de empleo buscando prompt engineer

jajaja

Freddy Montes (01:06)
Yo no veo que alguien se vaya a dedicar en su vida a ser única y exclusivamente un ingeniero del pero si es algo...

Aníbal Rojas (01:11)
habrá alguien por ahí

que sí sea un prompt whisperer muy bueno y que ayude a un montón de gente en organización habrá alguien así pero pero fíjate yo lo que sí creo que es importante es que el prompting sigue es una habilidad fundamental en el contexto del desarrollo del software además tenemos un montón de dimensiones está presente y yo creo que algo de lo que a juro hay que hablar no a pesar de que el famoso término haya muerto

Freddy Montes (01:17)
Seguramente.

Yo creo que se hizo más complejo.

Yo creo que se hizo más complejo. Yo creo que el prompting se ha estado haciendo a medida de que están saliendo más herramientas y más tipos que se le están dando diferentes habilidades al Yo creo que el prompting se ha hecho más complejo.

Aníbal Rojas (01:47)
más complejo o... o sea porque fíjate, yo veo diferentes cosas, ¿ok? La primera es, yo creo que al principio todos empezamos con una onda muy canónica, Y había un prompting canónico, entonces había que agarrar y definir un contexto, definir un rol, definir el formato de salida, y había como varias fórmulas, había unos formulamientos acerca de cuál era la forma correcta de promptear para optimizar el proceso Y bueno, en mi caso particular,

yo no sé si es una cosa de que ya yo tengo una competencia que estoy aplicando de forma inconsciente pero por otra parte siento que el avance de los modelos ha hecho que esto no sea tan necesario,

Freddy Montes (02:25)
no, yo creo que sí sigue siendo muy necesario, incluso más que antes, para obtener buenos Para obtener cosas de calidad, tenéis que escribir prompts de calidad. Es que escribir prompts es generar Y mientras mejores instrucciones tengan la capacidad de darle a algunos de estos LLMs, mejores resultados vas a

Aníbal Rojas (02:28)
Ajá.

Freddy Montes (02:47)
en estos días estaba escuchando una gente que trabaja mucho con que Devin es esa gente que uno tiene en y ellos literalmente le mandan instrucciones a Devin súper súper específicas de lo que tiene que hacer y mientras más específico, mejores resultados, menos feedback Entonces, yo, por ejemplo, no es lo mismo que tú le digas al LLM

Aníbal Rojas (02:51)
Mm-hmm.

Freddy Montes (03:09)
resuelve esta tarea, que le digas resuelve esta tarea y le pases un chunk de código a que tú le digas este es el problema que tengo, la solución debería verse de esta manera, esta es la parte donde deberías comenzar, o sea hay una habilidad de... yo lo veo mucho como delegar. Yo siento...

Aníbal Rojas (03:28)
Perfecto. Yo

iba a ese punto. Yo justamente iba a ese punto. Pero mi pregunta es, ¿tú sigues pensando en términos de voy a crear un contexto, voy a dar un rol, voy a hacer esto? Y haces como una fórmula porque en mi cabeza es como que más bien, sobre todo con la introducción de los modelos de razonamiento, empezó a ser un poco más como que, esta es una persona a la que le voy a delegar una tarea.

Y de repente el patrón no es tan diferente, pero ya es una mecánica un poquito distinto. Y es más como preparar... Yo puedo pasar una hora, un montón de tiempo preparando un documento con las especificaciones, restricciones, decir, mira, este es el contexto, es algo muy rico y el documento de una vez es el promo, ya no tengo que hacer más nada.

Freddy Montes (04:12)
yo creo que depende mucho la tarea que quieras alcanzar, porque si estás en una tarea donde tu goal es entender un problema o entender una situación o tratar de darle forma a varias ideas que tienes flotando en tu cabeza y estás usando estos modelos de razonamiento, pues sin duda alguna no deberías darle muchas especificaciones porque tú lo que quieres es más bien la opinión de él para empezar a formar

tu misma opinión alrededor y entonces empezar como a refutar. Entonces hay mucho como back and forth. Ok, entonces es algo como medio medio abierto y obviamente quieres y ahí es donde entra, que lo hemos conversado en episodios anteriores, ahí es donde entra cuando uno ve la cadena de pensamiento uno de ahí obtiene también un montón de información. tarea

Aníbal Rojas (04:59)
a mí

me fascina leer eso porque además me da feedback acerca de cómo yo planteé el prompt. Porque si yo veo que efectivamente la cadena de pensamiento se va por donde no es yo digo ay, esto, esto yo, yo, yo la cagué. No debería decir eso pero ya lo dije.

Freddy Montes (05:04)
¿Huh?

Esto no sirve. Yo sí.

Ya lo dijiste, pero no pasa nada. Sí, entonces yo creo que depende de la tarea. Ahora, si la tarea es...

En estos días necesitaba hacer research. Por supuesto me fui a deep research. Mi prompt fue ridículamente específico de lo que yo esperaba leer de ese research. O sea, yo tenía bien claro, era un análisis de la competencia sobre un feature específico que mi competencia tiene. Entonces, por supuesto yo quería saber, por ejemplo, si la implementación del feature de ellos era nativa o era third party. Entonces, yo fui específico en el prompt y le dije, yo quiero saber esto. Yo quería saber cuánto cobran.

Yo quería saber si es un precio extra, si es un precio dentro de la misma oferta. Entonces mi prompt de anda a hacer este research tenía un output que esto es lo que yo espero que me digas. Estas son las preguntas que quiero que me Yo intenté no dejarle hueco para que él me de... Porque obviamente hacer un análisis de la competencia, cada quien lo hace a su manera. Igualmente lo va a hacer el LLM. Entonces él me podía tirar a mí un montón de información.

que probablemente hubiera tenido cierto valor pero no era lo que yo estaba Entonces ahí mis habilidades de prompting fueron...

Aníbal Rojas (06:19)
Y fíjate que yo creo que ahí

tú das un framing correcto. Tú das un framing que me parece muy bueno para esto. Bueno, a veces yo quiero explorar y quiero más bien que me sirva para explorar nuevas ideas. A veces yo quiero un resultado, mira, alineado con láser, con lo que yo estoy buscando y le monto todas las restricciones que necesito para que efectivamente se enfoque específicamente en algo. Me pasa, por ejemplo, a veces que quiero resolver algo

y con deep research. Mira, las versiones que estoy utilizando de librería lenguaje son esta, esta, esta, ok? Y voy a cosas muy muy específicas, precisamente para forzar a que no den una respuesta genérica que no me va a ayudar

Freddy Montes (07:02)
Entonces, para responder la pregunta, yo sí creo que el prompt cambió. Yo creo que todo esto de cuando al principio hacíamos como el prompt estructurado y era como esta estructura para todo, ya eso no es tan así porque poco a poco les hemos dado a los LLMs más y más más tareas y nos hemos dado cuenta prompteando y leyendo guías y obviamente hay un montón... Todos los grandes jugadores del AI tienen su propia guía de prompting. Incluso algunas están hechas para...

para promptear agentes, para promptear tareas y tal. Entonces cada quien tiene como sus recomendaciones generales. No hay nada escrito en piedra, pero ya sabemos que los LLM al no ser algo que te va a una respuesta exacta, no son un pure function como les digo yo. Todo lo contrario. Pero esta estructura de que al principio existían muchas de guías de... La primera parte es el rol, la segunda parte es la tarea, la tercera parte son los ejemplos, la cuarta parte... ya no... Eso sí cambia, sin duda.

Aníbal Rojas (07:51)
y

pero definitivamente sí yo creo que la gente que sigue haciendo uso pobre se queda gente que hace el uso pobre se le sucede porque es que tienen no tienen la capacidad de explicar un problema a otro humano de una forma que sea útil y de pedir mira yo quiero que obtener este resultado de forma útil y se reduce para mí a eso muchísimo

Freddy Montes (08:16)
Es que bueno, vos y yo que hemos trabajado como líderes de equipo, vos y yo sabemos que el hueco principal de habilidades que tienen los desarrolladores del software está en la comunicación. Y promptear es comunicar. Sí, yo creo que eso, yo creo que reciente, bueno, no recientemente, pero en los últimos años como que los desarrolladores se dieron cuenta de que nosotros tenemos este hueco, tenemos que empezar a cubrirlo, entonces ya uno lo ve menos, pero.

Aníbal Rojas (08:26)
Yo creo que es todo el mundo, ¿ok? Lo de los desarrollosos a mí me parece medio este estereotipo, ¿ok?

Freddy Montes (08:42)
Yo vengo del mundo donde los desarrolladores no querían ni siquiera hablar. Era, dame mi tarea, yo me voy a meter en esta caverna y salgo cuando la tarea esté Ya después se fueron creando equipos y todo este cuento, ¿verdad? Entonces sí, fui poco injusto en eso. Pero sí todavía sigue siendo muy difícil comunicar bien. Como vos decís. Yo creo que todo el mundo siempre puede comunicar mejor. Es complicado. Entonces, como prompting...

Aníbal Rojas (09:01)
Literalmente,

esto siempre se puede mejorar y yo creo que ese es el desafío. Es un desafío. Inclusive recuerdo un caso muy interesante, una persona que decía, oye, a raíz de delegarle tareas a un chat GPT, que era el modelo que estaba en el momento rulleando, me di cuenta que yo no era tan buena delegando las tareas a mi equipo. Y entonces esa persona empezó a mejorar su comunicación con la persona de su equipo para delegar tareas.

en base a lo que ella se daba cuenta de la respuesta que obtenía del LLM. Entonces, es eso.

Freddy Montes (09:34)
Claro, y se daba

cuenta que a medida de que seguía, porque obviamente uno, cuando uno está emocionado con esto, uno vuelve a intentarlo y vuelve a intentarlo y vuelve a intentarlo y no se va a dar cuenta de que la respuesta va mejorando y uno mismo se va haciendo su...

Aníbal Rojas (09:43)
Y eso para mí, de nuevo, es una

clave. Si uno no tiene el mindset de vuelvo a intentarlo y busco la aproximación hasta que funciona, entonces, bueno, lo que vas a hacer es obtener mucha frustración y vas a llegar muy rápidamente a la conclusión de que estos modelos no tienen ningún valor, ninguna utilidad.

Freddy Montes (09:58)
Sí, sí, sí, esto es mucho de probar. Eso también lo conversamos en una versión anterior.

Aníbal Rojas (10:02)
Ahora fíjate,

tú nombraste contextos, a mí me gusta mucho tu... una de las cosas que me gusta mucho de tu rol y de tu carrera es que tú te has movido por un montón y yo creo que todavía hoy en día te mueves por un montón de contextos distintos. ¿Cómo ves tú esa conexión entre esos contextos en los que nos movemos para desarrollar software que van desde la gestión tecnológica, la gestión de equipos?

hasta la programación, ¿cómo conectas tú esto con tema de la evolución que ha sufrido el prompting?

Freddy Montes (10:30)
Yo creo que es mucho como que uno mismo tiene que... Cuando uno va a empezar a utilizar uno y se ya va. ¿Qué estoy haciendo ahorita? ¿Estoy haciendo research? Yo tengo que ponerme en mentalidad de, ¿qué significa para mí o que espero obtener de este research? ¿Qué estoy buscando? Y no es simplemente agarrar y tirar un prompt y decir, activo deep research y decir, quiero saber tal cosa.

Es como que no, tengo que sentarme y pensar que esto es lo primero que yo hago antes de empezar cualquier tarea es tratar de entender qué estoy haciendo, para qué es esto, qué ocupo, qué necesito, cómo se ve bien cuando esto esté listo, cómo se ve mal cuando esté listo. O sea es muy importante para mí entender el scope de lo que estoy buscando. Y esto pasa mucho antes de empezar a teclear la primera tecla del teclado. Es mucho de...

Aníbal Rojas (11:03)
Mmhm

Freddy Montes (11:17)
estoy en este rol, en este momento, con esta tarea enfrente, ¿cuál es la mejor manera de hacer esta

Aníbal Rojas (11:23)
agregaría algo ahí y pienso que es algo que tenemos que llevarnos todos. Si no hacemos eso, Mira, el desgaste que vamos a tener nosotros, el desperdicio de tokens, el desperdicio de nuestro tiempo, es muy grande. De verdad, aquí es un mundo donde estar claro en lo que quiero obtener y dedicarle tiempo y decir, mira, yo estoy explorando, yo quiero una tarea que...

está muy, muy bien dimensionada, ¿OK? Tener esa claridad nos va a ayudar a optimizar el trabajo porque al final, a mí me pasa. Ahorita, hoy en día, yo me quedo viendo la pantalla que es como cuando antes uno veía compliar el código. ¿Qué estás haciendo? Nada, estoy esperando que compile. Y ahora estoy esperando que se generen los tokens. Y afortunadamente la gente

Google, en particular con el Deep Research de Gemini, ellos tienen una notificación y te avisan. No sé si ya la gente de Cloud de OpenAI también agregaron ese feature porque efectivamente yo no quiero estar viendo la pantalla cinco o diez minutos a que un Deep Research termine.

Freddy Montes (12:18)
o no

Ahora, siguiendo con lo de, estoy hablando primero de contexto humano, ahorita hablamos del contexto que le pasamos al LLM, pero el contexto humano es, ¿qué tareas necesito hacer? O sea, ¿qué estoy haciendo yo en este Entonces, vos vas a empezar a programar con AI, asegurarte de haber planeado primero. No intentéis programar y planear al mismo porque de la misma manera que tú lo vas a hacer vos como humano, no lo va a lograr hacer el AI.

Aníbal Rojas (12:41)
completamente de acuerdo.

Freddy Montes (12:44)
Todas estas herramientas IDs, todos tienen agente de programar o agente de chat y de preguntar. Podéis moverte entre esos dos, sí, pero no intentéis decirle, este código. no, así no era. Hace este código ahora. no, así tampoco era. Intentad entender exactamente lo que queréis que haga y cómo se ve. Para mí es muy importante entender, saber yo cómo se ve cuando algo está bien. Ese es como mi truco, ese es como mi mantra.

Aníbal Rojas (13:07)
Bueno, yo lo conecto mucho con

tu experiencia como diseñador, que también hay un espacio para eso en el diseño.

Freddy Montes (13:14)
Entonces, pero entonces luego, lo original de esto es, a veces es difícil, sobre todo cuando uno está cambiando de contexto. sea, salgo de una reunión, ahora tengo que hacer esto, salgo de aquí, tengo que programar, tengo que hacer corredor. Es muy difícil todos esos cambios de contextos. Esa vaina te drena muchísimo. Pero si yo tengo que empezar una tarea y no tengo idea de cómo empezar, no sé, solamente tengo una idea vaga de qué es más o menos lo que tengo que hacer, lo que me pidió el cliente, lo que me pidieron mis usuarios, lo que sea, yo prendo el voice mode.

Aníbal Rojas (13:38)
No

Freddy Montes (13:43)
de cualquiera y le empiezo a echar el cuento, le empiezo a echar lo que tengo en la cabeza porque a veces son tantas ideas y yo necesito como que se vuelvan una o dos para poder empezar ya a trabajar en eso que yo le echo todo el cuento de lo que tengo en la cabeza y luego le digo dame la idea principal de esto por donde debería empezar, que creí vos que es lo más importante.

Aníbal Rojas (14:01)
yo aplico una parecida y yo lo que hago es le digo mira yo te estoy dando estas ideas a como se me vienen en la cabeza esto no tiene un orden ni una jerarquía sino que son mis pensamientos sueltos ayúdame a transformar esto en algo coherente y le doy algún otro principio para que lo haga funciona muy bien y yo además conecto esto ahora con otra técnica que a mí me resulta increíblemente buena y es que que mira hazme preguntas

hazme todas las preguntas que necesites antes de empezar a hacer nada. Y para mí es increíblemente útil tener como esa persona que te está cuestionando todo lo que tú crees y que te da cuenta, oye, yo no había considerado este caso y esta pregunta está muy buena y esto se me olvidó. Entonces el pedirle al LLM que haga preguntas o que critique o que encuentre fallas en lo que uno le plantea. Yo creo que es uno de los casos menos usado.

Freddy Montes (14:32)
Mm-hmm.

Aníbal Rojas (14:57)
y donde es extremadamente útil porque nosotros tenemos un valles muy natural a que nuestras ideas están bien y no es verdad.

Freddy Montes (15:05)
Y la versión upgraded de eso que yo uso mucho es, yo le digo actúa como mi usuario y le doy un perfil de usuario que yo tengo definido. OK? Esa es como la versión 2D. Yo le digo actúa como mi usuario. Esto es lo que yo espero que tú hagas, que tú entiendas, se entiende o no se entiende. Y el bicho me dice no, yo no entiendo nada o si entiendo o bla bla bla. Entonces esa es como... hecho, ahí ya toda como una...

Aníbal Rojas (15:13)
Uff, está buenísimo.

Freddy Montes (15:33)
ya están empezando a hablar de usuarios hay como aplicaciones.

Aníbal Rojas (15:36)
muy bueno yo yo oye no

no no eso no tenía en la cabeza por ningún lado está muy bueno ese tipo

Freddy Montes (15:42)
Entonces, ya hablamos del contexto de nosotros, de nosotros como seres humanos, en qué contexto nos ponemos para empezar a estos LMS, cómo a mí me ha funcionado. Ahora, hablamos del contexto del prompting, porque para mí el prompting son dos cosas. Delegar, para mí el prompting es relativamente delegar tareas o investigaciones o preguntas o lo que sea. Y cuando uno delega a un ser humano, uno tiene que toda la información que uno pueda.

Aníbal Rojas (16:00)
¡Mmm!

Freddy Montes (16:08)
a ese ser humano. Toda la información que uno considere y sepa que esta persona necesita para cumplir esa tarea con éxito. Y ahí es donde entra el contexto del prompt. ¿Qué contexto le voy a dar? Entonces te pregunto, ¿por dónde empiezo con eso? sea, ¿cómo sé yo que tengo que pasarle al modelo?

Aníbal Rojas (16:24)
Uhum.

antes de arrancar, yo creo que vale revisar principios fundamentales. Y un principio fundamental es, en general los modelos que estamos viendo son generalistas. Si hablamos de un Gemini, si hablamos de un Chess GPT, si hablamos de un Clot, son modelos son modelos generalistas entrenados con un corpus gigantesco que, entre otras cosas, incluyen tareas de diseño, tareas de producto, tareas de programación.

tareas de QA, etcétera. Pero tenemos que entender que igualito estos modelos también abarcan la medicina, aspectos legales, etcétera. Son modelos que siguen siendo generalistas. Aunque estamos viendo una tendencia para mí de que los modelos empiezan a tener un tuning que va a hacer la programación porque el mercado está muy caliente en ese sentido. Pero eso es otra discusión. Entonces, una de las cosas que es más importante para mí, que no perdamos nunca de vista, es que...

lo que nosotros no le demos explícitamente al modelo, el modelo se lo va a inventar a partir de esa generalización que sucede en el aprendizaje y entonces bueno ahí uno tiene que decidir si efectivamente nosotros queremos apostarle a ese contexto genérico que trae el LLM como parte de su entrenamiento o si queremos un contexto fuerte y yo lo conecto ahí entonces con el tema de por ejemplo ⁓ pasar de archivos

una cosa que yo hago es que yo intento explotar mucho la suscripción que todavía la pago de un cloud, de un chatgpd porque es que esa UI me da un cierto valor y en el caso específico de cloud yo por ejemplo utilizo una herramienta que se llama repo prompt, con esa herramienta yo puedo agarrar y armar un archivo que me concatenan varios archivos, pedazos de archivos y prompts y entonces se la paso a un cloud

Y el trabaja muy bien con eso. Inclusive, el Cloud con el MSP del File System se va a mi File System, a mi sandbox y me hace los cambios de una vez. Sin tener que ir yo a una herramienta de programación que maneja el contexto de una forma distinta a como lo maneja un chat clásico. Clásico, decirlo bueno.

Freddy Montes (18:40)
Sí. Hablando precisamente de que estas herramientas por naturaleza son generalistas y tienen el conocimiento humano. Una de las primeras cosas que yo siempre intento hacer es darle un framing para que se enfoque en un área predeterminada. Entonces, yo hago el típico prom del rol. Actúa como este profesional, esta persona con estas habilidades.

Aníbal Rojas (18:59)
Mm-hmm.

Freddy Montes (19:01)
Y yo a veces me pongo hasta medio lunático y le digo vainas como que, ¿eres conocido por ser el marketero que desarrolla landing pages con 30 % de conversión? O sea, yo llego a ese nivel de iluso. Le digo, sí, si tú eres lo mejor que le ha pasado. Por ejemplo, cuando yo hago mis slides para presentaciones, yo le digo que él es un consultor de presentaciones tecnológicas que trabajó con Steve Jobs.

Bill Gates y que todas sus charlas TEDx son las mejores del mundo. sea, a ese nivel yo le doy el mayor framing que yo puedo. sea, ese para mí...

Aníbal Rojas (19:36)
y eso

te va dar un estilo, eso te va a fijar un estilo, lo que tú nombres es bueno ahí está fijando implícitamente un estilo sin decirle y quiero este formato de salida, se lo está dando implícito en el contexto.

Freddy Montes (19:49)
Entonces yo lo primero que hago es, para mí el primer contexto es, ¿a qué área voy? ¿A qué área va esta tarea que estoy haciendo? Y una de las cosas que yo me di cuenta que funcionaba muy muy bien es, nosotros que trabajamos en tecnología y trabajamos con personas que hablan inglés, estas personas usan muchos acrónimos. Demasiados, diría yo, sobre todo la gente de marketing y de ventas. Entonces, por más que yo trate, yo tengo años trabajando con acrónimos, siempre hay uno nuevo, siempre se me olvida. Y a veces yo le digo, ¿qué significa?

Aníbal Rojas (20:06)
Uy, acabas de tocar un tema importantísimo. Ya vamos allá.

Freddy Montes (20:19)
ICP. Y si yo no le doy el contexto de qué, él me dice, bueno, pueden ser estas 10 cosas. Entonces me dice, el contexto de ingeniería es esto, en el contexto de biología es esto, en el contexto de ver, entonces yo le digo, en el contexto de marketing, qué significa tal cosa. Y él me dice, tal, tal, tal, tal, OK, perfecto. Entonces, ahí uno se da cuenta de que darle el contexto de cuál área, ya sea que se lo deje a nivel de, eres un profesional en tal área, o eres un especialista en tal área, o le diga, enfócate en esta área, para mí ese es el primer contexto que yo le doy.

Aníbal Rojas (20:47)
Ok, ok, ahora fíjate, tú nombraste algo interesante ahí, el tema en inglés, y yo aquí quiero meter un punto que para mí se me ha hecho muy El grueso, primero, fact, ok, hecho. El grueso en el entrenamiento sucedió con textos en inglés, o sea, esa es una realidad, una realidad. Pero ahí, para mí entonces es algo muy distinto, en la producción de contenido en español,

tiende a ser distinta del inglés, el inglés en particular el gringo tiende a ser muy práctico y transaccional en muchas cosas y mientras que entonces nosotros en español damos un montón de contexto y damos vueltas y hablamos y entonces ¿qué me ha sucedido a mí? que un prompt que se me va en español, un prompt técnico alrededor de un tema de programación o alrededor de tema, cualquier tema tecnológico si yo lo lanzo en español

Freddy Montes (21:23)
Me encanta, cierto.

Aníbal Rojas (21:42)
el resultado es malo. En cambio, ese prompt en inglés me da un resultado excelente. Entonces, mira, yo creo que hay que estar muy aware de esto. Yo lo considero un hack indispensable para cualquier persona que esté trabajando en producto, en desarrollo de software, lo que sea. Manejalo todo en inglés, ¿ok? Inclusive tengo algunos patrones para eso. yo por ejemplo digo...

Una de cosas que yo estoy haciendo es que estoy usando una herramienta de de de voz a texto que se llama Aqua, me encanta porque tiene mucho training específico en tecnología, entonces no tiene problemas con que tú le hables en spanglish o con que tú lees términos técnicos, se nota que le hicieron énfasis además es bastante rápida, es más rápida que las otras herramientas que había probado y entonces tú le puedes dar un prom personalizado.

Freddy Montes (22:24)

Aníbal Rojas (22:39)
Y en ese prompt personalizado yo le digo la herramienta, mira, si te hablo en español, fue que me equivoqué, tradúcelo al inglés, ok, antes de transcribir. Si te hablo inglés y español al mismo tiempo, no te preocupes, pásalo todo al inglés y tengo un prompt que agarra y le dice, no importa lo que venga, todo lo vas llevar al inglés, vas a pensar en inglés y vas a generar resultados en inglés. Oye, y de verdad entonces, bueno.

yo me siento la libertad de agarrar y estoy pronteando y entonces bueno mira hablo en español, hablo en inglés, que me salga con menos dificultad la cabeza es increíblemente práctico esto para mí

Freddy Montes (23:15)
Yo uso Mac Whisper para lo mismo. Sí, no es tan rápido y todo, pero también uno le puede decir antes de traducir, usa este Entonces, también me funciona muy bien. Entonces, siguiendo con el contexto, porque para mí esta es dominar el contexto del prompt. Para mí es la crema y la nata de ser un buen, yo sé que nadie le gusta escuchar esto, prompt engineer. O tener buenas habilidades de

Otra cosa súper importante, no es lo mismo, no es el mismo tipo de prompting el que vas a usar cuando estás programando, sea, no es lo mismo que le vas a decir a cursor a lo que le vas a decir a Gemini o a charge GPT cuando quieres planear algún proyecto.

Aníbal Rojas (23:51)
Este es un buen tema, es

un excelente tema porque es muy diferente tener un LLM que sí tendrá por debajo su arquitectura que no sabemos cuál es ya, que ya no estamos hablando nada más de un transformer, ya eso quedó en el pasado, pero no es lo mismo eso que un sistema de agentes como el que puede tener un Cursor, un Windsor o un Cloud Code.

Freddy Montes (24:13)
Y entonces ahí donde empiezan a entrar cosas como, ¿qué le voy a pasar a ese contexto? Porque, por ejemplo, ahorita que uno está usando Cursor, yo le puedo pasar una carpeta completa, yo le puedo pasar un archivo, yo le puedo pasar unas líneas de código, yo le puedo pasar documentación, yo le puedo pasar un URL. O sea, hay un montón de cosas que yo le puedo pasar al prompt. Y mientras...

Aníbal Rojas (24:36)
Bueno, y de hecho, de hecho

en el caso de Cursor, Winsor, Cloud y Codex de OpenAI, tú puedes entonces además agregar estos archivos que son específicos en diferentes puntos del directorio con instrucciones para el LLM, ¿no? Entonces, son un contexto adicional. De hecho, yo hay un proyecto donde tengo una carpeta y que son documentos que voy haciendo y es como un cheat sheet, ¿ok? Es como un cheat sheet, es un cheat sheet de testing, es un cheat sheet de...

de cómo hacer tal cosa. hay unas cosas que son para mí muy específicas y que yo intento buscar mejores prácticas, las resumo, ok? Pongo como ejemplitos y le doy eso como una guía. Entonces cuando el resultado que yo obtengo no es tan interesante, ⁓ le tiro un Gui Reset menos Hard a mi sandbox y entonces le digo mira utiliza esta guía como referencia y entonces le estoy dando un contexto que ya es un chit-chit.

que no es un contexto gigantesco, sino muy enfocado y conectado con la tarea específica que estoy intentando que logre hacer.

Freddy Montes (25:42)
Otra cosa que yo visto con respecto a esos kits, que lo llevan a otro nivel, es... Le metemos al proyecto un archivo de Markdown con un PRD. Un PRD es un Product... PRD Product Requirements Document. Básicamente es... Tú describes todo el proyecto. Tal cual como si fueras un Product Manager. Entonces tú ahí vas a explicar quiénes son tus usuarios, qué quieres hacer y tal. Hay gente que usa eso...

ese mismo documento y ya hay en Charge GPT hay un montón de prompts para generar PRDs hay aplicaciones específicas para generar PRDs, todo este tipo de cosas hay servicios que te venden para generar PRDs y todo eso, sea, hay un montón es relativamente fácil de hacer. Si tienes que ponerte precisamente en tu contexto humano de producto. Aquí no estamos hablando nada de Teneo, aquí estamos hablando cómo quiero que funcione, quiénes son mis usuarios, qué espero obtener de esto, dónde está el valor, tengo que describir todo eso. Yo he visto desarrolladores que usan ese PRD y empiezan a desarrollar.

Aníbal Rojas (26:18)
hay servicios que te venden, ¿ok?

Freddy Montes (26:39)
Yo personalmente hago una segunda cosa. Y es que yo pongo a la gente en modo chat, en modo research, y le digo, de este PRD, quiero que hagas un design doc. No un design doc, yo le llamo un plan. Quiero que me hagas paso a paso cómo vas a desarrollar esto. Y entonces, imagínatelo para ponerlo en el contexto de developers, imagínatelo como sprints. Como que cada fase es un sprint. Y al final de cada fase hay

Aníbal Rojas (26:43)
Mm-hmm.

Freddy Montes (27:09)
algo de valor de ese producto o de ese Así lo hago yo y luego yo le digo a la gente, ok, empecemos a programar. Ahora si estamos en modo código, agarra este archivo que te acabo de crear y empieza con la fase 1. Empieza con la fase 1 y yo le digo, y yo te voy a ir diciendo cuando vas a la siguiente fase. No es que lo vas a hacer todo, porque qué pasa, yo en cada fase o en cada paso de las fases, porque las fases pueden estar vividas en paso, yo hago code review y si está bien le hago commit.

Aníbal Rojas (27:35)
Mm-hmm.

Freddy Montes (27:36)
y si está mal lo arreglo yo dependiendo si es un quick fix o le digo a él no mira esto está mal o si lo corro y no corre hay un error le digo mira aquí hay un error entonces estoy ahí como per programming pero ya definimos un plan ok ya definimos un plan

A veces, dependiendo del proyecto, si algo cambia, le digo, si algo cambió, porque nuestro plan, igual que en la vida real, cuando uno planea desarrollo de software, a medio camino tú dices, pero yo no tomé en cuenta tal cosa. Y en el momento lo hiciste y lo arreglaste, actualiza el plan para que eso quede en memoria y más adelante lo sigamos teniendo de contexto.

Aníbal Rojas (28:00)
y

Una cosa que a mí me ha funcionado mucho, yo no he probado herramientas como Taskmaster, que es un MSP que tú conectas en curso o en tu IDE favorito con AI, y el Taskmaster te permite precisamente llevar la lista de tareas, Le ofrecen una gestión de proyectos a los agentes. Y yo no lo he probado, pero si he utilizado esa misma técnica...

y de repente le digo oye mira vamos a llevar un archivo que es un tu.mardown.md y entonces bueno ahí está estructurado a nivel macro entonces digo mira vamos a concentrarnos en esta tarea ok agrega las sub tareas que tú necesites y vamos a ir eliminando y de hecho eso para mí está muy alineado porque ya muchos sistemas de agentes te lo hacen por ejemplo en las últimas en las últimas como dos releases de CloudCode

tú cuando le das una tarea a Cloud Code, él de una vez te genera la lista de tareas. Y entonces tiene una lista de tareas. Sí, sí, adicionalmente. Y Cloud las va tachando, a medida que va avanzando las va tachando. Entonces, ya es un comportamiento, es útil. Y hay una realidad que yo creo que no ha cambiado mucho conectando con nuestro tema del prompting, que es la ventana del contexto. Porque la realidad es que no tiene ningún sentido tirarle tres, cuatro, cinco libros. Esto no va funcionar.

Freddy Montes (29:11)
y tú la puedes aceptar o cambiar.

Aníbal Rojas (29:35)
Porque la ventana de contexto de los LLM sigue siendo limitada. Hay un montón de trucos en los sistemas de agentes como el que usa Cursor, como el de Windsor, etcétera, que son trucos que básicamente consisten en hacer un rack, diferentes formas de buscar información en archivos. Y bueno, pero todo eso está muy comprometido por la ventana de contexto. Y en ese caso, por cierto, una cosa que me funciona muy bien es que para ciertos problemas...

Gemini con la ventana en contexto grande es de verdad una pieza que me rescata un montón de veces.

Freddy Montes (30:09)
a mí personalmente, pesar de que Gemini, si tiene la mayor ventana de contexto, creo que la última vez que actualizaron, bueno, no sé, esta semana no he revisado, pero la última vez eran dos millones de tokens. Después empezaron una gente por ahí que diciendo que hizo la trampa, que lo estaban midiendo diferente. Anyways, el punto es que sí, es la que tiene mayor ventana de contexto. Por más que tenga la mayor ventana de contexto, yo uso esa mayor ventana de contexto para empezar a reducir el contexto y tratar de separarlo en problemas más pequeños. Mi visión de esto...

de cómo trabajar con AI ha sido las mismas mañas que yo uso con mis equipos, traducido AI. Siempre es tratar de hacer las cosas más pequeñas y ir paso a Siempre ha sido lo mismo.

Aníbal Rojas (30:49)
Y

regresamos al tema de que el prompting se nos está convirtiendo precisamente en delegación y además en proceso. Entonces tú nombraste un proceso y a mí me funciona y lo he hecho y de verdad es muy útil. Oye, bueno, mira, armamos un documento, armamos el PRD y el PRD, bueno, vamos a implementar primero esto, ¿OK? Y para eso me haces entonces, entonces compórtate como un engineer manager, ¿OK? Ese es un rol que me ha sido particularmente útil.

estoy rescatando algo que dije que no usaba tanto, pero sí hay un momento donde ese rol hace una diferencia, comportarte como un engineer manager ¿por qué? porque yo creo que resulta mejor porque el engineer manager es una persona que gestiona equipo además de las tareas técnicas, entonces hay un montón de documentos con lo que han sido entrenados los LLM que tienen ese cruce de poder delegar muy bien, ¿no? bueno, comporta de esta forma

Freddy Montes (31:35)
Camente.

Aníbal Rojas (31:44)
y generar un plan técnico de cómo vamos a implementar esto. Me sirve particularmente, por ejemplo, cuando yo considero que es algo muy complejo, o tres, o tres, sí yo creo que es súper bueno en eso.

Freddy Montes (31:59)
hablemos de los modelos,

de cuál modelo es bueno para qué cosa, porque yo creo que eso es súper importante. O tres, en planning, en planear cosas es para mí lo que nosotros conocemos como el papá de los helados hasta hoy, 21 de mayo de 2025, ¿no? No hay, para mí no hay ningún modelo el que yo le pueda tirar.

una completa locura de material que yo tengo que analizar y que tengo que poner juntos y que tengo como que extraer información y tratar de conseguir por dónde empezar. Como que no hay mejor modelo que es para mí. O tres, el segundo para mí de hacer esa tarea de planear, Claude. Claude es muy bueno también planeando.

Aníbal Rojas (32:44)
mode thinking, cloud in mode thinking es muy bueno, muchas veces está cerca de O3, yo creo que tenemos que hacer un capítulo nada más de los pero definitivamente los modelos están conectados con el tema que estamos hablando, que es prompting, porque no es lo mismo promptear un O3 que promptear un 2.0 Flash de Gemini, nada que ver.

Freddy Montes (32:47)
Lo remojo a ti, quince.

Sí.

Ahora, yo siento que nosotros hemos tenido, nuestra profesión, ha tocado hacer mucha delegación, nos ha tocado hacer mucho planning, pero cuando la gente viene de ser IC, de ser individual contributor, quizás no ha oportunidad de hacer ese tipo de tareas. Entonces, ¿qué recomendaciones tenemos nosotros para que la gente poco a poco vaya mejorando el prompting de ellos? ¿Qué pueden hacer?

Aníbal Rojas (33:22)
Uff, qué buen punto.

Oye, primero es, yo recomiendo muchísimo esto. Lápiz y papel. Yo de verdad creo que en este mundo de hoy en día, lápiz y papel se van a convertir en un superpoder. El hecho de poder sentarte con un ojo en blanco, ¿ok? Agarrar y con tu mano, con tu cerebro conectado con la mano, escribir las cosas primero, ayuda un montón a ⁓ traducir las ideas dispersas en cosas coherentes.

es algo que ya sabemos que se está perdiendo a nivel de los niños. Eso es terrible. Y yo me he dado cuenta que cuando yo pienso en papel, cuando yo pienso en papel, tengo muy buenos resultados. Yo diría que lo primero es, la técnica que sea, aprende a organizar tus pensamientos, aprende a dar una estructura a tus pensamientos y aprende a reconocer cuando tú ves que hay cosas que están bien estructuradas y bien hiladas porque el LLM lo va a agradecer. Eso es lo

Freddy Montes (34:27)
Hablando de eso que acabas de decir de los niños, ⁓ en estos días descubrí que hay una gente en España que está enseñando a los niños a utilizar inteligencia artificial y me parece que la técnica que están utilizando es muy buena. Ellos agarran y ponen a los niños a dibujar algo. Los niños, tú sabes que los niños dibujan, supongamos, los niños dibujan una flor, pero en su cabeza eso es...

un león fantástico que vive en Narnia y que tiene 400 amigos y que tiene la habilidad de volar. Pero ellos para nosotros fue una florecita que hicieron. ¿Verdad? ¿De qué hacen? Se nota. ¿Qué hacen ellos? Ellos le dicen, bueno, vamos a generar con AI cómo se vería tu dibujo. Entonces le dice, describemelo. Empieza a describirme lo que tú dibujaste. Entonces el niño hace estas descripciones fantásticas y ese es el prompt que le dan al AI. Entonces cuando el AI genera, el AI no genera lo que el niño dibujó.

Aníbal Rojas (35:00)
Se nota que tienes hijos, chiquitos.

Freddy Montes (35:21)
el AI genera lo que el niño se Eso para mí fue la... Yo decía, yo no... Yo todavía no había puesto como en palabras simples cómo yo frameaba mi propio cerebro en prompting y es eso. Es cómo me imagino yo que va a resultar esto. Lo que sea que la tarea va a ser. Yo empiezo más o menos pensando cómo se va a esto cuando esté listo. O qué espero yo obtenerte. Eso para mí es como mi framing.

y ahí viene agarrar papel, agarrar lápiz, un truco que vos y yo usamos mucho es la aplicación que tenemos en el teléfono que le hablamos y lo transcribe de ahí

Aníbal Rojas (35:56)
vamos a

la cuña, Voice Notes, muy buena aplicación para sacarte las cosas de la cabeza y fíjate tú acabas de introducir técnica que yo creo que es potente también porque prompting no son una más palabras porque estos modelos son multimodales todos entonces bueno mira si yo agarro y hago un esquema en papel o algo rapidito en Figma o en Sketch o en lo que sea y se lo paso en LLM

Mira, eso da una idea muy clara de hacia dónde vamos, Y mucho de todos estos sistemas como Bolt, todo lo que se concentra sobre todo en el Frontend, ahí es muy útil esto, Entonces, este...

Freddy Montes (36:28)
Si puedes

complementar tu texto con algo visual y estos modelos multimodales, supuesto que los vas alimentar de más información y por supuesto que te van a dar mejores resultados.

Aníbal Rojas (36:41)
Entonces yo creo que esas son dos recomendaciones buenas. No pierdan de vista el tema del inglés. Si es un tema técnico van a obtener resultados completamente distintos si es en inglés o si es en español. Hay momentos donde el español obviamente pues es más rico y nos interesa por el contexto. Si estamos en un contexto de mercadeo, si estamos en un contexto de gestión de proyectos, de repente el español es importante mantenerlo. Pero en un dominio técnico, váyanse al inglés.

no pierdan eso de vista.

Freddy Montes (37:11)
inglés, sin

duda. Si no, pierdan tiempo en tratar de hacer lo mismo en español. La verdad, no van a obtener buenos resultados.

Aníbal Rojas (37:18)
Yo diría que otra cosa importante que no pueden dejar de llevarse, en vez de dar instrucciones, pidan crítica, pidan preguntas, pidan cuestionamiento, ⁓ Utilicen el LLM como un sparring que les va a ayudar a ustedes a refinar su pensamiento y eso para mí es increíblemente útil porque mira, tienes una persona que está ahí 7x24, nunca se cansa

puedes estar todo el día criticándote, eso es buenísimo.

Freddy Montes (37:45)
Y no solamente eso, sin juicio, que una de las cosas que los seres humanos por naturaleza tememos es que nos juzguen. Entonces, muchas veces, y esto lo hemos visto toda la vida, hay gente que prefiere no hacer esa pregunta porque considera que la pregunta es tonta. Prefiere quedarse callado y quedarse con la duda, y eso puede llevar a problemas en el trabajo, tomaste una decisión equivocada porque decidiste no hacer esta pregunta. El LLM no te va a hacer eso. Todavía, probablemente después hay un LLM que te haga roast. Pero por el momento, el LLM te va a responder cualquier pregunta por más...

tonta que te pare

Aníbal Rojas (38:16)
Lo otro para mí, la inversión del tiempo, preparar. Preparar fundamental para optimizar. no preparamos... y fíjate lo irónico de esto, ¿no? Fíjate lo irónico de esto, porque es que yo creo la cabeza de un montón de gente el trabajo de desarrollo de software era hecho a código. oye, no había un valor en la preparación, en sentarse frente a una pizarra.

etcétera, en crear los documentos, etcétera. Hoy en día más que nunca queda patente que cuando preparamos bien el trabajo lo que es programar. Mira, es después muy eficiente.

Freddy Montes (38:52)
no sé en qué momento de la ingeniería o del desarrollo software esto se volvió así, porque antes era al contrario. Era muy valioso sentarte a planear lo que ibas a hacer, a entender de P a P exactamente lo que necesitabas hacer, lo que tu usuario necesitaba.

Aníbal Rojas (39:06)
cuando el CPU y la

memoria se volvieron baratos y hubo abundantes. Porque cuando la gente tenía que correr el software, en tarjetas perforadas, y tenía que mandarlo en una motoneta, a que lo corriera en una oficina que estaba a 10 cuadras, ahí sí había que pensar muy bien.

Freddy Montes (39:10)
Exacto. Probablemente ahorita...

no había espacio para errores. Ahora es el equivalente a que tenemos una cámara en el bolsillo y toma 100.000 fotos porque no te importa. Antes no, antes uno tenía 12 fotos y uno se... ponte... y yo me acuerdo que a uno cuando chamacos le decían, párate ahí, riete y no te mueves. O sea, no puedes salir mal en esta foto porque me quedan cuatro. Es eso, es la abundancia de recursos te permite errar miles de veces. Que errar no está mal. De hecho, una de las cosas que te permite, le dirá, es precisamente, errar tan rápido.

Aníbal Rojas (39:24)
Exacto.

Freddy Montes (39:51)
que puede volver a intentarlo, otra historia.

Aníbal Rojas (39:53)
Y eso nos lleva

a un nuevo proceso y para mí eso nos lleva a proceso que lo conecta con prompting. Usted lanza un primer prompt ⁓ y usted revisa el diff. Ve dónde están los cambios de los archivos y dice, ay, esto no fue para ningún lado. Mira, usted agarra y reseté ese sandbox, lo deja en estado previo, haga sus commits frecuentes en su rama para que puedas siempre hacer este truco y entonces agarra, refinas tu prompt y vuelves a iterar y lo lanzas. Es mucho más económico.

que intentar que el LLM corrige algo que ya salió malo de entrada.

Freddy Montes (40:24)
Sobre todo cuando le empiezas a decir no sirve, enter, no sirve, enter. Vas a pasar ahí en un loop de frustración vos mismo, es como que no, devuélvete.

Aníbal Rojas (40:29)
Uy!

Importante a nivel de prompting, el loop de la frustración, si ustedes ven un sistema en curso, es un sistema de gente en curso o en wins, lo que sea, en lo que ustedes estén haciendo, que se queda pegando, dando y generar los mismos resultados una otra vez, ese contexto está empichacado, como decimos en Venezuela, ya no sirve, limpien ese contexto y arranquen con un contexto limpio y un prompt nuevo.

Freddy Montes (40:55)
y para mí el último tip ya para ir cerrando este sí es el tip más infravalorado de todos es dile al AI que te mejore tu prompt o dile al AI tengo este prompt cómo te digo que esto como te pronteo a ti mismo para que esto funcione te lo mejora ridículamente

Aníbal Rojas (41:11)
te tengo te tengo uno último porque te

inspiraste con ese ⁓ porque ese es muy bueno que es decir el AI resúmeme todo lo que pasó aquí para arrancar con un contexto nuevo

Freddy Montes (41:22)
También otra cosa que yo hago es, te voy a poner un ejemplo, estoy trabajando en un feature de Analytics, ¿Cómo analizamos, cómo se muestra el contenido de la página web, los usuarios? Anyways, un Analytics. Imagínense Google Analytics, ¿ok? Tiene unos nuances de nuestro producto, pero Google yo empecé a hacer deep research primero, para entender qué está haciendo la competencia.

Luego de ahí dije, OK, esto está cool, me dio muy buena información, hay unas cosas que me parecen interesantes y tal, no sé qué. En el mismo chat de que ya tenía el contexto del research que él mismo hizo, le dije, actúa como un especialista en BI, en Data Analytics, y dame los data points que yo necesito mínimos para hacer un MVP. Me dijo, estos son. Estos son. Le dije, OK, cool. Ahora, descríbeme.

Aníbal Rojas (42:04)
Super buen promo

Freddy Montes (42:10)
cómo, escríbeme el prompt para que un agente hace web me haga el dashboard con estos datos.

perfecto ni cerca lo tuve que mejorar un montón tuve que iterar sobre el sí pero la base de lo que me dio yo no lo hubiera podido lograr no hubiera eso lo hice en dos tres horas de trabajo eso fácilmente de yo hacer ese research y traer esto y hacer todo esto a pie hubieran sido fácilmente para tener un pio sí tres semanas de trabajo

Aníbal Rojas (42:40)
Mira, yo creo que cerramos con eso que toca decir porque le metiste dos o tres horas de trabajo a Prompteando y esa es la realidad. A esto hay que meterle trabajo al Prompt, ok? Y a decir, mira, este no es el enfoque, no tiene la documentación, déjame refinar este documento. Eso es un trabajo. Ahorita es parte fundamental del trabajo y yo creo que eso, con eso efectivamente nos cerramos. Esto fue Ocorres.

Freddy Montes (43:01)
un chao.

¡O ten caramas!

Aníbal Rojas (43:09)
Nos pueden encontrar donde, Freddy?

Freddy Montes (43:11)
en Okorres.com

Aníbal Rojas (43:12)
Listo, ahí nos vemos y yo creo que para el próximo capítulo que te parecía hablamos de los modelos que quedo ahí como sugerido. Listo.

Freddy Montes (43:18)
Hablemos de modelos. Sobre

todo con todo lo que acaba de pasar. Hay varios modelos nuevos que tenemos que probar y hablar de ellos.

Aníbal Rojas (43:23)
Nos vemos en

la próxima. Chao.

Episodio 05: Prompting para el Desarrollo de Software

headphones Escuchar

Más Opciones »
Transmitido por