CODEX MEETING · MAYO 2026

Spec-Driven Development
+ orquestación multi-agente

Cómo administrar el context window
y escalar agentes que no se sabotean a sí mismos
Ramiro Carnicer · Search Backend
LA TESIS

El context window es el cuello de botella de los agentes.

SDD lo administra como recurso escaso.

La orquestación multi-agente lo escala
en contextos frescos y aislados.

Juntos, hacen que la IA pase de asistente que sugiere a
equipo que entrega.

1 · El problema

Context window: la "RAM" del modelo

El modelo NO tiene memoria.

Cada turno relee TODO el historial desde cero.

Y cuando el contexto se llena…

todo se degrada — antes de llegar al techo.

UNA SESIÓN REAL
200K tokens ≈ 500 páginas
System prompt 5K Tools / MCPs 10K Conversación 60K Libre 125K
Suena mucho — hasta que abrís un repo real con 165K líneas de código.
1 · El problema

Context rot: la degradación silenciosa

Olvida instrucciones

Lo que le dijiste
10 mensajes atrás
ya no está.

Confunde archivos

Mezcla clases
con nombres
parecidos.

Repite errores

Vuelve a meter
el mismo bug
ya corregido.

?

Inventa APIs

Llama métodos
que no existen
en tu codebase.

No es que el modelo se vuelva tonto. Es que se distrae.
2 · La solución base

SDD: Spec-Driven Development

Antes de escribir código, escribimos especificaciones que el agente puede leer, validar y descomponer en tareas.

Vibe Coding
"Hacé un endpoint que…"
  • el agente improvisa
  • 30% sale bien
  • 70% hay que refactorizar
SDD
ticket → spec → plan → código → review
  • cada paso es un artefacto leíble
  • el agente nunca improvisa
  • el contexto se mantiene comprimido
2 · La solución base

Los 4 documentos del SDD

1
proposal.md
¿Qué problema
resolvemos?

PARA
PM + tech lead
2
functional.md
¿Cómo se ve
desde afuera?

PARA
QA + producto
3
technical.md
¿Cómo lo
construimos?

PARA
Devs
4
tasks-breakdown.md
¿En qué orden
entregamos?

PARA
Quien codea

Cada documento constrains al siguiente.

2 · La solución base

Por qué este orden no es opcional

Cuando el agente codea el task #3,
NO necesita leer el ticket original.

Solo necesita el tasks-breakdown.md y el slice relevante de technical.md.

TOKENS CARGADOS AL CODEAR EL TASK #3
Sin SDD
50,000 tokens
Con SDD
3,000 tokens
SDD es compresión semántica del contexto.
2 · La solución base

SDD se aplica como una skill

TICKET JIRA
CODEX-001
Generador de
changelog desde
git log
SKILL
SDD
Spec-Driven
Development
📄 proposal.md
📄 functional.md
📄 technical.md
📄 tasks-breakdown.md
workspace/sdds/CODEX-001/
Hasta acá: cero código.
El 60% del trabajo intelectual ya está hecho — y leíble por humanos.
3 · Orquestación multi-agente

Pero un agente único no escala

AGENTE MONOLITO
Hace TODO
analiza ticket
escribe spec
codea
se revisa a sí mismo
abre PR

1. Context bleed

Spec, código y review viven en el mismo contexto.
La review está sesgada.

2. Token blow-up

Al task #4, ya hay 80K tokens
de historial irrelevante.

3. Sin punto de retorno

Si la review falla, el agente no puede pensar de nuevo —
su cabeza está llena.

3 · Orquestación multi-agente

Un sub-agente = un .md o un .toml

Un agente con un rol acotado, su propio contexto, sus tools permitidas y su system prompt.
En la práctica: un Markdown o un TOML.

📄  explorer.md
---
name: explorer
model: gpt-5.2
tools: Read, Glob, Grep
---
Sos un agente read-only.
Leés el repo y devolvés contexto comprimido. Nunca escribís nada.
📄  implementer.toml
name = "implementer"
model = "gpt-5.3-codex"
tools = ["Edit", "Write", "Bash"]
Implementás cambios con flujo TDD. Reportás archivos tocados y evidencia. No te revisás a vos mismo.
Cambiar un agente = editar un .md o .toml.  Sin redeploy. Sin SDK.
3 · Orquestación multi-agente

Una sesión principal + 5 sub-agentes

ROLQUÉ HACEQUÉ NO HACE
explorer Lee y comprime contexto del repo (read-only). Escribe nada.
documentator Escribe specs en docs/ (funcional + técnica). Toca código.
planner Convierte spec en plan de tasks + checklist. Codea.
implementer Codea con flujo TDD, reporta evidencia. Se revisa a sí mismo.
tester_reviewer Tests + checks + handoff (report-only). Contexto FRESCO. Modifica código.
Un agente · un rol · un objetivo · un contexto.
3 · Orquestación multi-agente

El invariante crítico: freshContext

IMPLEMENTER

Codea + commit

reporta evidencia
crea .reviewing lock
🧱
FIREWALL
freshContext: true
TESTER_REVIEWER

Tests + checks + handoff

solo lee: spec + plan + diff
NO ve el resto
VERDICT
  • accept
  • request-changes
  • block
POR QUÉ IMPORTA
El tester_reviewer NO sabe lo que el implementer intentó hacer. Solo ve el resultado.
Esto replica lo que hace un humano en code review: lee el diff, no el debugger.
Si el implementer alucinó, el tester_reviewer lo cacha — porque no comparte la alucinación.
🔒 Enforzado por hook pretool_allowlist.py — bloquea writes mientras existe el .reviewing lock.
3 · Orquestación multi-agente

El flow completo end-to-end

JIRA TICKET

input

EXPLORER

lee + comprime

DOCUMENTATOR

specs en docs/

PLANNER

spec → plan tasks

BUILD LOOP

impl ⇄ tester × N

PR

main integra
↻ por cada task
Cada caja es un agente con su propio context window.
Ningún agente ve más de lo que necesita.
Es un pipeline de software, no una conversación.
4
DEMO EN VIVO
git-changelog-gen
Vamos a la terminal.
Ticket → SDD → impl ⇄ review × 4 → CHANGELOG.md → PR
Si algo falla en vivo, lo van a ver fallar.
Esto NO es un video. Es el sistema corriendo. Ojo a los handoffs.
5 · Cierre

Las 3 cosas que hacen los buenos agentes

1

Comprimen el contexto antes de gastarlo.

→ SDD: 4 archivos antes de codear

2

Aíslan roles para evitar context bleed.

→ Multi-agente: un rol, un contexto

3

Verifican con contexto fresco.

→ Review chain: no se creen a sí mismos

Compresión · Aislamiento · Verificación
LA IDEA

El context window es ingeniería, no magia.

SDD lo administra.

La orquestación lo escala.

Si se llevan UNA cosa, que sea esta.
PERO OJO

Los agentes hacen.
Vos los orquestás.

Y para orquestar bien hay que haber metido mano en el código y saber lo que estamos haciendo.
No es magia.  No "vibe codeamos".  Es ingeniería de agentes.

GRACIAS

Ramiro Carnicer Souble
Backend Engineer · Founder-minded Builder · Buenos Aires
Backend Software Engineer en MELI. Building Khora, Infer y experimentos varios.
Backend systems, AI products, and thoughtful internet experiments.
EL REPO
github.com/ram4-dev/multi-sdd-team
ENCONTRAME EN
WEB
ram4.dev
X
@ram4_dev
GITHUB
ram4-dev
LINKEDIN
ramirocarnicersouble