Los marcos de agentes para desarrolladores siguen en una fase temprana. El eve de Vercel y el Flue de Fred Schott, ambos lanzados este año, están fijando la plantilla inicial.

Schott es el creador del marco web Astro, lo que llevó a que su empresa fuera adquirida por Cloudflare en enero. Acaba de publicar la versión 2 de Flue, su primera versión estable, construida sobre "hooks de agente" al estilo de React.

Un agente como función que se re-renderiza

En Flue, un agente se representa mediante una función de JavaScript. Esa función se re-renderiza en cada turno, es decir, antes de cada llamada al modelo. Los hooks llegaron después de que Schott advirtiera que la componibilidad de React encajaría bien en el desarrollo de agentes.

En sus palabras: "Al principio tuiteé que estábamos construyendo el Astro de los agentes o el Next.js de los agentes. Pero luego me di cuenta: quizá nadie había construido siquiera el React de los agentes".

La analogía ya la había usado Bret Taylor, consejero delegado de Sierra y presidente de OpenAI: "Estamos más bien en la era jQuery de los agentes, no en la era React".

Qué hacen los hooks

Los hooks se escriben en TypeScript. Según la publicación de lanzamiento de Flue 2, permiten "construir agentes dinámicos capaces de gestionar su propio estado, escuchar eventos del ciclo de vida del agente e incluso incorporar distintos recursos y capacidades de forma dinámica en tiempo de ejecución".

La versión incluye 16 hooks integrados, entre ellos useSkill(), useTool() y useSubagent(). También pueden añadirse hooks propios.

Lo que esto abre es un agente cuya configuración cambia a medida que avanza una conversación o un flujo de trabajo. Schott sostiene que hace falta para construir "bots de soporte reales, bots de triaje reales", porque no pueden configurarse por completo de antemano. El agente no puede ser estático: tiene que adaptarse en tiempo real a lo que el usuario quiere o a lo que exige la situación.

Un ejemplo concreto: un agente de soporte puede incorporar una herramienta de gestión de cuentas después de verificar al usuario.

"La magia basada en ficheros es un antipatrón"

El planteamiento de Schott sobre el diseño de marcos de agentes ha evolucionado rápido desde que lanzó Flue 1 a principios de mayo. Al principio quiso trasladar al nuevo marco los conceptos de los marcos web existentes, y pone como ejemplo el enrutado por ficheros:

"Lo portamos a Flue de forma bastante ingenua, pensando: genial, pondré tus cinco agentes en estos cinco ficheros y esas serán las cinco rutas que exponen. Pero para mucha gente que construye con Flue, sobre todo los clientes grandes, toda su empresa es un solo agente. El enrutado les da igual. Hay un único agente".

Es un caso concreto de cómo los hábitos del desarrollo web no se trasladan directamente al diseño de agentes: el mismo concepto se convierte en lastre ante un problema distinto.

En resumen

  • Qué: Flue 2, la primera versión estable del marco de agentes
  • Quién: Fred Schott, creador de Astro; su empresa se unió a Cloudflare en enero
  • Idea central: un agente es una función de JavaScript que se re-renderiza antes de cada llamada al modelo
  • Hooks integrados: 16, entre ellos useSkill(), useTool() y useSubagent()
  • Descartado: el enrutado por ficheros; para los clientes grandes toda la empresa es un agente