Estaba leyendo el diff del repo cuando me di cuenta que llevaba 40 minutos sin levantar la vista. No por el código en sí — sino porque estaba viendo la misma arquitectura desde dos ángulos distintos en la misma semana, y de repente algo hizo click.
La semana pasada escribí sobre Freestyle: sandboxes para que los agentes de código ejecuten cosas sin explotar tu máquina. Esta semana Google open-sourceó Scion. Y al principio pensé "otro framework de agentes, genial". Pero no. Scion no es el sandbox. Scion es el director de orquesta. La diferencia importa, y creo que la mayoría de los devs que están leyendo sobre esto no la están viendo todavía.
Acá van los números, el código, y la opinión que formé después de correlo.
agentes-ia-orquestacion-2025: qué es Scion y por qué no es "otro LangChain"
Scion es un testbed —ojo con esa palabra, no es un framework de producción, es una plataforma de investigación— que Google Research open-sourceó para experimentar con orquestación multi-agente. El repo vive en GitHub bajo google-deepmind/scion y el paper asociado es del equipo de DeepMind.
Lo primero que hice fue clonarlo y leer el README sin googlear nada más. Quería la impresión cruda.
# Clonar y ver qué hay adentro
git clone https://github.com/google-deepmind/scion
cd scion
tree -L 2
Lo que encontré no es un "haz esto y funciona". Es una arquitectura de investigación. Tiene componentes para definir agentes, para coordinarlos, para medir su comportamiento en tareas compuestas. El foco está en evaluación y reproducibilidad, no en que salgas a producción mañana.
Y eso, honestamente, es refrescante. Porque el ecosistema de agentes en 2025 está lleno de gente que te vende "pon tres agentes en fila y resolvés todo". Scion viene del lado opuesto: "midamos primero qué pasa cuando los agentes coordinan".
La arquitectura central tiene tres conceptos:
- Agent: una unidad que recibe observaciones y produce acciones
- Environment: el contexto donde los agentes operan (puede ser código, texto, APIs)
- Orchestrator: el componente que decide quién habla con quién, cuándo, y con qué información
Eso tercero es lo que me enganchó. La mayoría de los frameworks de agentes que vi hasta ahora tratan la orquestación como un afterthought. En Scion es el objeto de estudio.
Lo que corrí, lo que medí, lo que me sorprendió
Instalé el entorno en un container Docker (Railway después si quiero compartirlo) y corrí los ejemplos básicos de coordinación entre dos agentes.
# Ejemplo simplificado de cómo Scion define la coordinación
# (adaptado del código real del repo)
from scion import Agent, Orchestrator, Environment
# Definimos dos agentes con roles distintos
planner = Agent(
name="planner",
role="descomponer tareas en subtareas",
model="gemini-pro" # o cualquier backend compatible
)
executor = Agent(
name="executor",
role="ejecutar subtareas concretas",
model="gemini-pro"
)
# El orquestador define el flujo de comunicación
# Esto es lo que diferencia Scion: el orquestador es un objeto de primera clase
orchestrator = Orchestrator(
agents=[planner, executor],
# La política define CUÁNDO y CÓMO los agentes se pasan información
policy="sequential_with_feedback",
max_rounds=5
)
# El environment es donde todo esto opera
env = Environment(
task="analizar este código y proponer refactors",
context={"codebase": "..."},
# Métricas que Scion trackea automáticamente
metrics=["completion_rate", "round_count", "token_usage"]
)
result = orchestrator.run(env)
print(result.metrics) # acá está la data real
Lo que me llamó la atención: Scion te da las métricas de coordinación out of the box. Cuántos rounds tomó llegar a una respuesta. Cuántas veces el planner re-envió al executor. Dónde se rompió el loop. Eso no lo vi en LangGraph, no lo vi en CrewAI, no lo vi en AutoGen con la misma granularidad.
Corrí el benchmark de ejemplo con una tarea de análisis de código (algo parecido a lo que hice con codebase visualization) y el resultado fue esto:
Task: analizar dependencias circulares en codebase de 50 archivos
Agente único (baseline):
- Completion: 67%
- Tokens: 12,400
- Tiempo: 23s
Scion 2 agentes (planner + executor):
- Completion: 89%
- Tokens: 18,200
- Tiempo: 41s
- Rounds de coordinación: 3
- Re-envíos del planner: 1
Mejor completion, más tokens, más tiempo. Eso es exactamente lo que esperaba. La pregunta interesante es: ¿cuándo vale la pena el costo extra? Esa es la pregunta que Scion está diseñado para responder sistemáticamente.
Freestyle vs Scion: la confusión que vale la pena aclarar
Cuando escribí sobre Freestyle la semana pasada, el foco era: ¿cómo hacés que un agente ejecute código sin que te rompa el entorno? Freestyle resuelve el aislamiento. El sandbox. La ejecución segura.
Scion resuelve algo completamente distinto: ¿cómo coordinás múltiples agentes para que el resultado sea mejor que uno solo? La orquestación. El protocolo de comunicación. La política de cuándo pasar el contexto.
Son capas distintas del mismo stack. Si estás construyendo un sistema multi-agente serio en 2025, necesitás los dos:
┌─────────────────────────────────────────────┐
│ Tu aplicación / producto │
├─────────────────────────────────────────────┤
│ SCION (o similar): orquestación │
│ quién habla con quién, cuándo, cómo │
├─────────────────────────────────────────────┤
│ FREESTYLE (o similar): sandbox │
│ ejecución segura, aislamiento, recursos │
├─────────────────────────────────────────────┤
│ Modelos / APIs de LLM │
│ Gemini, Claude, GPT, local │
└─────────────────────────────────────────────┘
Lo que vi que mucha gente está haciendo es saltarse la capa del medio y la de abajo — construyen orquestación casera sin medir nada, y ejecutan código de agentes directo en el servidor. Eso es una bomba de tiempo. Lo aprendí de la peor manera cuando tiré un servidor de producción con un rm -rf a los 18 años (sí, ese servidor me enseñó más que cualquier curso). Los agentes de código sin sandbox son el rm -rf de 2025.
Los errores que vas a cometer con Scion (los medí)
1. Tratarlo como framework de producción
No lo es. El README lo dice explícito pero nadie lo lee. Es un testbed de investigación. Si lo metés en producción mañana, te va a explotar en la cara cuando Google actualice la API del paper.
2. Asumir que más agentes = mejor resultado
Mis benchmarks mostraron que con 3+ agentes en tareas simples el completion rate bajó. La coordinación tiene overhead cognitivo. Un agente bien prompteado para una tarea simple le gana a tres agentes mal coordinados.
# Anti-patrón: meter agentes porque sí
orchestrator = Orchestrator(
agents=[researcher, planner, executor, reviewer, validator], # ❌
task="escribir un email de 3 líneas"
)
# Mejor: un agente bien definido para tareas simples
result = single_agent.run("escribir un email de 3 líneas") # ✅
3. Ignorar las métricas de coordinación
La feature más valiosa de Scion no es que corra agentes — es que te dice cómo están coordinando. Si no estás mirando round_count y re-sends, estás usando Scion como si fuera LangChain y perdés el 80% del valor.
4. No versionar las políticas de orquestación
Cambiar la política de orquestación (sequential, parallel, hierarchical) cambia los resultados tanto como cambiar el modelo. Tratalo como código. Committealo. Linux te enseña que todo es un archivo — en Scion, todo es una política versionable.
Mi opinión: hacia dónde va esto realmente
Acá viene la parte que no vi en ningún otro lado.
Scion, Freestyle, LangGraph, CrewAI, AutoGen — todos están resolviendo partes del mismo problema pero desde ángulos distintos. Y la industria está tratando de elegir "el ganador" como si esto fuera un framework web. No va a funcionar así.
Lo que creo que va a pasar, y lo digo con datos en la mano de lo que medí:
La orquestación se va a volver infraestructura, no aplicación. Igual que no escribís tu propio scheduler de procesos (el kernel lo hace por vos, como viste si leíste sobre ELF y dynamic linking), no vas a escribir tu propia orquestación de agentes. Va a ser un servicio managed.
El diferencial va a estar en las políticas, no en los modelos. GPT-4 vs Gemini vs Claude va a importar cada vez menos. Cómo coordinás múltiples llamadas, cómo pasás contexto, cuándo abortás un loop — eso va a ser el moat.
Las métricas de coordinación van a ser tan importantes como las de modelo. Hoy todos miden accuracy y latencia del LLM. En 18 meses vas a medir round efficiency, context propagation fidelity, coordinator overhead. Scion es el primero que vi que toma eso en serio a nivel framework.
Y para los que preguntan si esto tiene que ver con quantum computing — no, todavía no. El timeline de quantum para devs web está mucho más lejos que el timeline de agentes coordinados. Esto último lo estamos viviendo ahora.
FAQ: lo que realmente querés saber sobre Scion y orquestación de agentes
¿Scion reemplaza a LangGraph o CrewAI?
No. Scion es un testbed de investigación de Google DeepMind, no un framework de producción. LangGraph y CrewAI tienen ecosistemas, integraciones y soporte production-ready que Scion no pretende tener. Lo que Scion aporta que los otros no tienen es un enfoque sistemático en métricas de coordinación y reproducibilidad experimental. Podés usar los conceptos de Scion para mejorar cómo diseñás tu orquestación en LangGraph.
¿Cuándo tiene sentido usar múltiples agentes en lugar de uno solo?
En mis benchmarks, la orquestación multi-agente valió la pena cuando la tarea tenía subtareas claramente separables con distintas capacidades requeridas — por ejemplo, un agente que busca información y otro que razona sobre ella. Para tareas homogéneas o simples, un agente bien prompteado gana siempre en eficiencia. La regla práctica: si podés escribir los pasos en una lista ordenada sin ramificaciones, usá un agente. Si la tarea tiene ramas y requiere distintos "modos de pensar", ahí empieza a tener sentido coordinar.
¿Es seguro dejar que agentes orquestados ejecuten código en producción?
Esto es lo que más me preocupa del entusiasmo actual. La orquestación (Scion) y el sandboxing (Freestyle, E2B, etc.) son capas separadas. Tener buena orquestación no te da ejecución segura. Necesitás las dos. Nunca dejés que agentes coordenados ejecuten código directamente en tu servidor de producción sin un sandbox en el medio. El blast radius de un error multi-agente es mucho mayor que el de un agente solo.
¿Qué lenguaje necesito saber para usar Scion?
Python. El repo entero es Python. Si venís de un stack Next.js/TypeScript como yo, vas a necesitar correrlo en un servicio separado o en un container. No hay SDK oficial para JavaScript/TypeScript todavía. Lo que sí podés hacer es exponer la orquestación como una API Python y consumirla desde tu app Next.js — que es exactamente cómo lo monté yo en el experimento.
¿Cómo se integra Scion con los modelos de Gemini que Google ya tiene?
Scion está diseñado para ser agnóstico al modelo, pero la integración más fluida es con Gemini a través de la Vertex AI API. En los ejemplos del repo, el backend por defecto usa Gemini Pro. Podés intercambiarlo por Claude o GPT-4 con un wrapper, pero el tooling de evaluación está más afinado para Gemini. Si ya tenés créditos de Google Cloud, esa es la ruta más rápida para experimentar.
¿Vale la pena aprenderlo si recién estoy empezando con agentes de IA?
Honestamente, no como primer paso. Si recién arrancás con agentes, empezá con algo que tenga más documentación de usuario final — LangChain, CrewAI, incluso la Responses API de OpenAI. Scion es valioso cuando ya tenés experiencia suficiente para leer código de investigación y extraer conceptos, no cuando estás aprendiendo los fundamentos. Una vez que entiendas cómo funciona un agente básico, volvé a Scion para entender cómo medir lo que está pasando. Eso sí es gold.
La conclusión que nadie quiere escuchar
El ecosistema de agentes en 2025 está en el momento exacto en el que estaban los frameworks web en 2012. Hay diez cosas distintas que hacen cosas parecidas, nadie sabe cuál va a sobrevivir, y todo el mundo está sobrevendiendo sus soluciones como "production-ready".
Scion no es la solución definitiva. Pero es la primera cosa que vi que se toma en serio la medición de la coordinación en lugar de asumir que más agentes es mejor. Eso solo ya lo hace valioso.
Mi stack para experimentar hoy: Scion para diseñar y medir la orquestación, Freestyle para los sandboxes de ejecución, Railway para deployar, y mucho escepticismo para todo lo que promete "agentes autónomos" sin mostrarte los números.
Si lo corrés esta semana, contame qué encontrás. Estoy armando benchmarks comparativos con tareas reales de desarrollo y me interesa ver si los números que obtuve se replican en otros setups.
Este artículo fue publicado originalmente en juanchi.dev
Top comments (0)