Promptear o agentear esa es la cuestión
Un pequeño modelo mental para elegir cómo delegarle trabajo al robot
En estos días me toca revisar un programada de estudios que diseñé hace unos años para actualizar a una nueva edición. Este programa fue impartido en 2023 cuando la IA empezaba a ser parte de la conversación pero todavía no estaba tan naturalizado usar Claudio para todo.
La primera pregunta que le hice al equipo fue “¿Debería agregar usos concretos de inteligencia artificial para este programa?”. Me dijeron que lo dejaban a mi criterio. Yo creo que si porque siendo un curso de especialización siempre vale la pena ver ejemplos concretos de como se usan las herramientas en contexto. Pero todavía tengo algunas dudas sobre cómo voy a agregar ese contenido.
Mi mayor problema es que en mi experiencia la introducción de la IA en el trabajo del programador se dió de manera caótica, muy asociada a cómo el acceso a las herramientas fue evolucionando.
Al principio todo era prompt y prompt engineering. Pedirle al chat. Esta sigue siendo la principal interacción que el público general, no técnico, tiene con la IA. Es un reemplazo directo a buscar en Google o Stack Overflow.
En el caso de programador los casos de uso son más variados y dependen ligeramente de cuanto haya investigado esa persona. Es muy normal encontrarnos a colegas que se enamoran de la primera herramienta que aprenden y la aplican a todo.
¿Emepezó con prompts? Entonces promptea absolutamente todo.
¿Vió dos videos sobre como usar LangChain? Listo, todo es una agente.
Y así con diferentes combinaciones de herramientas y sistemas. Esto no es nuevo, es algo que los programadores intentamos hacer todo el tiempo. No importa que sepamos en nuestro corazón que a veces la herramienta que nos gusta no es óptima para el trabajo. El humano es al final del día un animal de costumbre.
El problema es cuando esta rigidez a la hora de trabajar nos trae problemas, ya sea de latencia, tokens desperdiciados, complejidad de código, y sobre todo tiempo perdido intentando arreglar un problema que podríamos haber evitado desde el principio.
Intentemos entonces plantear un modelo mental para poder decidir que herramienta usar, cuando y como.
A planear a planear cada cosa en su lugar
Antes de hablar de cuándo usar cada cosa, tenemos que entender qué resuelve cada una. Por mantener el orden en esta edición me voy a limitar a hablar de:
Prompts
Skills
Agents
Y en futuras ediciones podemos indagar más en sistemas complejos.
Empecemos.
Un prompt es una instrucción. Le decimos al modelo exactamente qué hacer, con qué input, y esperamos un output definido. El modelo ejecuta la tarea y termina. Cualquier memoria o contexto que podamos tener va a depender de la herramienta donde estemos prompteando (porque nos meten en agents loops sin que nos demos cuenta). Pero de primera deberíamos asumir que no vamos a tener ni memoria ni contexto. Input entra → output sale.
Una skill es una función con semántica en lenguaje natural. Es lo que usamos si necesitamos que el modelo haga algo que no sabe hacer o para lo que requiere instrucciones específicas que siempre se repiten.
Una skill es la forma de extender esas capacidades de forma “permanente”. Definimos qué y como hacerlo y el modelo decide cuándo invocar esas instrucciones.
Un agente es un loop. El modelo recibe un objetivo, decide qué pasos dar, ejecuta acciones (posiblemente usando skills), observa los resultados, y repite hasta llegar a algo. El agente es proactivo y autónomo, su único fin es llegar al resultado esperado, la forma en la que lo hace dependerá de cómo evolucione la ejecución durante el loop.
Prompts para soluciones específicas
Usamos prompts cuando podemos describir la tarea a realizar como una función: dado este input, quiero este output. No necesito que la IA tome decisiones ni orqueste nada raro.
Ejemplos concretos:
Reformatear datos con una estructura específica
Resumir un documento
Traducir una interfaz a otro idioma
Lo que todos tienen en común: el input está completo, el output esperado es claro, y el modelo puede hacerlo sin más herramientas
Si nuestra tarea entra en esta categoría, un prompt bien escrito va a ser más rápido, más barato, más predecible que cualquier otra alternativa. La idea de tener treinta agentes ejecutando en simultaneo es hermosa para vender en redes pero un prompt preciso que hace exactamente lo que le pedimos DA RESULTADOS.
Skills para cuando el modelo necesita hacer algo que no puede solo
El modelo puede interpretar un input y darnos un output pero para muchas tareas necesita información, accesos y mucho más.
Sin instrucciones no puede consultar una base de datos de clientes, acceder a la API de nuestro producto, o incluso editar un PDF.
Es facil confundirse porque muchas herramientas nos ofrecen modelo y skills todo en uno, entonces podemos creer que el modelo sabe efectivamente editar un PDF, pero no, hay un skill detrás de esa acción.
Cuando la tarea requiere información o capacidades externas, necesitamos skills. Una skill es básicamente una función que el modelo puede invocar. La definimos, describimos su comportamiento y el modelo decide si y cuándo llamarla basándose en lo que necesita para completar la tarea.
Ejemplos:
Buscar en una base de datos por criterios variables
Ejecutar código y devolver el resultado
Leer o escribir archivos
Lo importante acá es que la skill no toma decisiones, solo ejecuta. La decisión de cuándo llamarla es del modelo. Esto introduce algo de no-determinismo que tenemo que considerar al diseñar el sistema.
Agentes para problemas sin solución definida
Los agentes son la herramienta más sobrediseñada (y sobreutilizada) del ecosistema de LLMs hoy.
Un agente tiene sentido cuando:
El camino hacia el resultado no está definido de antemano
La tarea requiere múltiples pasos que pueden ramificarse según lo que se descubre en el proceso
Necesitamos memoria o estado entre acciones
El resultado de un paso determina qué hacer en el siguiente
No nos importa demasiado cómo se llega al objetivo
¿Un ejemplo de tarea para un agente? “Investigá los principales competidores de este producto y armá un análisis comparativo”. No hay un input → output lineal. El agente va a buscar información, evaluar qué encontró, decidir si necesita buscar más, ir profundizando en los más relevantes, y construir el análisis de forma incremental.
De nuevo es fácil confundirse porque muchas herramientas nos ofrecen “agent loops” en nuestras sesiones de prompting. Y realmente a veces eso es todo lo que necesitamos.
Mal usados los agentes son caros, lentos, no determinísticos y frustrantes de debuggear. Cuando el resultado sale bien son excelentes pero cuando algo sale mal encontrar exactamente dónde y por qué requiere bastante trabajo. Y todo el costo hundido de esos tokens. No es argumento para no usarlos pero si para pensar si vale la pena antes de implementarlos en un proyecto.
Mi modelo mental para tomar decisiones
Antes de diseñar cualquier cosa me siento a pensar:
¿La tarea es atómica, con input y output bien definidos, sin necesidad de datos externos? → Prompt.
¿El modelo necesita acceder a información o sistemas externos para completar la tarea? → Skills + prompt
¿El camino hacia el resultado es desconocido de antemano (o no me importa) y requiere múltiples decisiones? → Agente
¿Necesitás coordinar múltiples agentes especializados trabajando en paralelo? → Sistema multi-agente. Y acá realmente tenemos que preguntarnos si de verdad lo necesitamos. ¿Cómo llegamos a este punto? ¿Se puede simplificar?
Un agente que hace siempre los mismos pasos en el mismo orden no es un agente: es un pipeline. Y no toda automatización necesita un agente, de hecho si sabemos de antemano qué pasos va a dar podemos efectivamente hardcodearlos como se hizo toda la vida.
Si podés hardcodear, no necesitás un agente.
La complejidad que agrega un agente solo tiene valor cuando la incertidumbre del problema es mayor que la complejidad del sistema. Es una pésima idea delegarle al modelo la responsabilidad de descubrir una estructura que ya conocemos.
Eso es todo por esta semana. Si se enfrentan a la tentación de agentizar todo (o si tienen clientes que les piden agentes para todo) este es un buen momento para respirar, contar hasta cinco y evaluar si realmente necesitan ese nivel de complejidad en sus vidas.
Nos vemos la semana que viene con más Sin Códigos.
Espero que hayas disfrutado el artículo de hoy. Te cuento que este newsletter se sostiene de la gente que lo lee. Si querés recibir los próximos textos y bancar este trabajo, podés suscribirte gratis o pasar a una suscripción paga.
O también podés:
💌 Compartilo
Ahora sí ¡Nos vemos la próxima!


