El manejo de cargas de trabajo de IA en Fastly Compute no solo es posible, sino que también es muy eficaz, ya que aprovecha de forma inherente la baja latencia del borde y el estricto aislamiento de nuestro entorno. En esta publicación, desglosaremos varios patrones para añadir funciones de agente a los servicios Fastly Compute mediante las API LLM, y explicaremos cómo nuestra plataforma Compute, que ejecuta código en entornos aislados WebAssembly, garantiza que el agente se ejecute con una velocidad óptima y una seguridad de nivel empresarial.
Diseño de bucles de retroalimentación para un agente de IA

Este gif animado registra un asistente de IA lanzado recientemente que se ejecuta en el panel de control de Fastly. Cuando lanzas una indicación a un chat con IA como este, probablemente estés acostumbrado a esperar mientras el agente de IA piensa. En lugar del tiempo de cálculo de prueba (TTC) del propio modelo, en el que el modelo piensa más profundamente antes de dar una respuesta, puedes implementar este tipo de proceso de pensamiento creando un agente que utilice los resultados de las llamadas a la API LLM como retroalimentación para alcanzar un objetivo. Este método se conoce a menudo como «bucle de agente». Este proceso repite continuamente una secuencia de pasos, como razonar, planificar, actuar con herramientas y observar los resultados, hasta que se completa correctamente el objetivo.
El flujo de ejecución de este bucle de retroalimentación se ilustra a continuación. Aunque a menudo ocurre que un solo intercambio en el que un LLM genera inmediatamente una respuesta a una solicitud no dé el resultado deseado, este mecanismo permite al agente continuar de forma autónoma el bucle de ejecución y evaluación repetidas de los pasos (1) a (3), mejorando así la precisión y proporcionando el resultado final.

Este bucle se puede implementar en diversos entornos, desde infraestructura local hasta servidores remotos. Veamos el flujo de procesamiento dentro de un entorno remoto utilizando Fastly Compute con una implementación mínima. Por ejemplo, el SDK de JavaScript de Fastly Compute permite esta implementación, como se muestra a continuación. Ten en cuenta que este código se puede validar inicializando un kit de inicio de TypeScript con $npx fastly compute init, sustituyendo src/index.ts por el siguiente código:
addEventListener("fetch", (event) => event.respondWith(handleRequest(event)));
async function handleRequest(event: FetchEvent) {
let payload = {
model: 'gpt-5.2',
messages: [{role: "user", content: "what's the weather today?"}],
tools: [{ "type": "function", "function": {
"name": "get_weather",
"description": "retrieve weather forecast",
"parameters": {}}}]}
while(true){ // Agent loop begins
let res = await (await fetch("https://<LLM_API_ENDPOINT>/chat/completion", {
method: "POST",
headers: new Headers({
"Content-Type": "application/json",
"Authorization" : "Bearer <YOUR_ACCESS_TOKEN>",
}),
body: JSON.stringify(payload)
})).json();
if (res.choices[0].finish_reason != "tool_calls") {
return new Response(JSON.parse(res.choices[0].message.content))
}
if (res.choices[0].message.tool_calls != undefined) {
for (const toolCall of res.choices[0].message.tool_calls ) {
if (toolCall.type === "function") {
payload.messages.push({
role: "user",
content: "{\"weather\":\"windy and rainy\"}" // pseudo result
});
}
}
}
}
}
La ejecución de este código sigue este flujo de alto nivel:
Envía la indicación «¿qué tiempo hace hoy?» a la API LLM.
La API LLM devuelve una instrucción para ejecutar la herramienta
get_weather.Añade un valor ficticio
«viento y lluvia»como resultado provisional a la solicitud y vuelve a invocar la API LLM (bucle de agente).Recibe una señal de finalización de la API LLM (es decir, «stop» se devuelve como
finish_reason) y muestra el resultado final.
Al ejecutar este programa en mi entorno de laboratorio utilizando el modelo gpt-5.2, obtuve el siguiente resultado para el paso 4:
«Hoy hace viento y llueve. Si vas a salir, coge un impermeable y un paraguas, y ten cuidado con las carreteras resbaladizas y las ráfagas de viento fuertes. ¿Quieres un desglose por hora o consejos para el trayecto o planes al aire libre?»
El resultado derivado de este bucle iterativo de agente ejemplifica el bucle de comunicación discutido anteriormente, una técnica de procesamiento frecuentemente utilizada detrás del indicador «Pensando...» en las interfaces de chat modernas.
El bucle del agente en constante evolución
Los bucles de agente llevan tiempo llamando la atención, pero este año la aparición de interfaces para herramientas externas como MCP (p. ej., el servidor Fastly MCP) y llamadas a herramientas los ha potenciado mucho. Esta evolución se simplifica en el diagrama siguiente.

Aquí se ofrece un ejemplo concreto de tratamiento de código Compute que incluye llamadas a herramientas remotas. En este ejemplo, utilizamos la API de respuestas de OpenAI (anunciada en mayo) como un ejemplo que permite llamadas de herramientas remotas, aunque son posibles operaciones similares con la API de mensajes de Anthropic y otras. Puedes ejecutar este código siguiendo los pasos que se indican a continuación. En unas 60 líneas de código JavaScript, resumimos las mejores prácticas para migrar los servicios Fastly VCL a Compute basándonos en los resultados de la búsqueda de documentos y finalmente generamos un archivo PowerPoint editable (no un archivo pdf).
$ mkdir compute-agent-demo && cd compute-agent-demo
$ npx fastly compute init -l javascript -i
$ npm install pptxgenjs openai hono @fastly/hono-fastly-compute abortcontroller-polyfill
$ curl -s "https://gist.githubusercontent.com/remore/25a1638a3a2183daa609044cfa1ce6f9/raw/818322d634d59c10950878932517c4173b746dd3/index.js" > src/index.js
$ vi src/index.js # Put your API Token and rmeote MCP server address
$ fastly compute serve Un ejemplo del archivo PowerPoint resultante es el siguiente. Aprovechando la capacidad del LLM para resumir información y generar código, ahora podemos generar un archivo binario PowerPoint editable (.pptx) con contenido persuasivo que cumple con el objetivo.

Una diferencia importante entre este ejemplo de código y el anterior es que no hay ninguna instrucción while() en el programa. Dado que el bucle de la IA del agente se ejecuta esta vez en el lado de la API LLM, el código Compute (que actúa como agente) no implementa un bucle while(). Esto mejora la legibilidad del programa y demuestra cómo los avances recientes han propiciado un entorno en el que los flujos de trabajo de IA son mucho más fáciles de implementar.
const bestPractices = await callLLM(
'What are the best practices to migrate a fastly vcl service to compute? Outline ten practices and give each a summary of at least 300 characters.',
[{
"type": "mcp",
"server_label": "fastly-doc-search",
"server_url": "https://xxxxxxx.edgecompute.app/mcp",
"require_approval": "never",
}]
)
Como nota al margen, hemos implementado esta demostración mediante la integración con un servidor MCP remoto que se ejecuta en Compute bajo el dominio edgecompute.app al invocar la función callLLM(), como se muestra en el código anterior. Aunque cualquier servidor MCP remoto es compatible, he utilizado un servidor MCP implementado en Fastly Compute para aprovechar la plataforma sin servidor en el borde, que siempre se invoca desde el centro de datos más cercano a la API LLM. Así se minimiza la latencia de las llamadas a las herramientas y se contribuye a la optimización del tiempo hasta el primer token (TTFT). Las capacidades de Fastly Compute, como la ejecución en el borde con baja latencia y la compatibilidad con respuestas en streaming, son un gran apoyo para el desarrollo de tu agente de IA. Para más detalles sobre cómo implementar un servidor MCP usando Compute, échale un vistazo a mi entrada anterior del blog.
Cómo la plataforma de Fastly y el entorno aislado Wasm protegen tu carga de trabajo de IA
Por último, hablemos de la seguridad, que es fundamental para una IA fiable. Determinar qué permisos conceder a los agentes de IA y cómo gestionarlos ha sido una de las principales preocupaciones de los desarrolladores. Aunque los debates suelen centrarse en el diseño de modelos permisivos para acelerar el desarrollo cuando se utilizan agentes de codificación como Claude Code, Gemini CLI y Codex, el diseño de flujos de trabajo de IA para empresas requiere considerar el diseño de permisos restrictivos.
Al utilizar Fastly Compute, los programas se benefician fácilmente del aislamiento del entorno de ejecución de WebAssembly y de las funciones de seguridad de la memoria, como la comprobación lineal de los límites de la memoria dentro de unos límites de seguridad claros. Por ejemplo, la ejecución dinámica de código mediante el constructor AsyncFunction(), tal y como se implementa en el ejemplo anterior, se considera generalmente un riesgo de vulnerabilidad y un antipatrón en muchos entornos de ejecución de JavaScript. Aunque es necesario utilizarlo con precaución incluso en Fastly Compute, la plataforma se ejecuta en un entorno WebAssembly aislado que carece inherentemente de acceso al sistema de archivos, E/S de red o capacidades de ejecución de comandos externos, por lo que el agente puede realizar un procesamiento autónomo con un riesgo de ataque muy reducido.
Y eso no es todo: las completas llamadas Hostcall que ofrece la plataforma Fastly Compute también incluyen diversas cuestiones de seguridad. Por ejemplo, los límites en el número de llamadas de obtención/envío del backend ayudan a evitar la emisión de solicitudes externas excesivas. Además, nuestro mecanismo «Static Backend» puede restringir el tráfico a servidores externos predefinidos, lo que evita que el agente realice solicitudes HTTP a servidores externos no deseados o desconocidos.
// example of dynamic backend
fetch("https://example.com/some-path")
// example of static backend, restricting traffic to pre-defined external servers
fetch("https://example.com/some-path", {backend: "example-com"}) Este mecanismo no solo protege los flujos de trabajo de IA contra ejecuciones maliciosas, sino que también permite la autorización selectiva de comportamientos más amplios a través de una función denominada «backends dinámicos». Al permitir la asignación detallada de capacidades a los programas que se ejecutan como módulos Wasm dentro de una infraestructura segura, Fastly Compute facilita la implementación fluida de la seguridad en los flujos de trabajo de IA.
Garantizar el control mediante el uso de tecnologías y especificaciones estandarizadas
En esta publicación, hemos presentado varios métodos para implementar de forma eficaz agentes de IA en Fastly Compute. Los agentes de IA se han convertido en una herramienta indispensable para mejorar significativamente la productividad y la eficiencia operativa. Al utilizar Fastly Compute, un entorno de nivel empresarial que equilibra el rendimiento y la seguridad, puedes desarrollar agentes que aprovechen al máximo el poder de la IA. Espero que esta publicación te ayude a desarrollar agentes de IA con una mejor experiencia. Únete a la conversación en nuestro foro y cuéntanos qué te traes entre manos.

