T3 Code explicado: el cliente controla agentes en otra máquina
Arquitectura de T3 Code: registrar intención antes del efecto
Sigue un comando por RPC, eventos, outbox y trabajo del proveedor
Qué aprenderás
- Respeta el dueño del entorno
- Sigue la intención persistida
- Deja efectos al worker
Antes de empezar
- Un proyecto desechable en el entorno servidor
- Un proveedor compatible autenticado
Convierte una prueba desechable en evidencia antes de conectar proyectos importantes
Conclusiones clave
- Servidor posee archivos, Git y proveedores.
- Registro de eventos es fuente de verdad.
- Un recibo no implica agente terminado.
Respeta el dueño del entorno
El contrato en `packages/contracts/src/rpc.ts` une clientes y entornos que pueden tener versiones independientes. Las suscripciones entregan lo que necesita la vista activa. Preferencias de cliente quedan allí; ajustes de proyecto y entorno pertenecen al servidor.
Ni móvil ni navegador deben sustituir sistema de archivos o credenciales del servidor por los propios. El runtime de conexión comparte lógica de dominio y reconexión entre plataformas.
Sigue la intención persistida
El orquestador v2 decide eventos sin I/O de proveedor o archivos. `EventSink` confirma eventos, proyecciones, recibo aceptado y efectos de outbox en una transacción; después notifica a suscriptores.
El acuse del comando indica intención duradera, no que el agente terminó. Ese orden permite reintentos idempotentes y evita mostrar como exitoso un efecto aún pendiente.
Deja efectos al worker
`EffectWorker` ejecuta efectos tras la transacción y devuelve resultados a orquestación. El fin del turno del proveedor y los checkpoints o diffs posteriores son hitos separados.
Si se pierde el proceso proveedor, no se puede reproducir sin más un efecto vinculado a él en otra sesión. La recuperación debe retirar trabajo obsoleto. Aquí se leyeron fuentes, no se midió un servidor real.
Cómo elegir
| Criterio | Opción A | Opción B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
Pasos de implementación
- 1
Localiza contrato RPC y entorno propietario.
- 2
Distingue recibo de finalización de efecto.
- 3
Observa por separado turno y checkpoint.
Ejemplo para copiar
cliente RPC -> Orchestrator -> transacción EventSink
outbox -> EffectWorker -> proveedor / archivos -> eventoPreguntas frecuentes
¿Un recibo RPC significa cambio terminado?
No. La intención se aceptó; worker y proveedor todavía deben actuar.
¿Por qué no modificar archivos en la transacción?
El diseño deja I/O externo fuera y registra primero los efectos pendientes.
Fuentes
- T3 Code / docs/internals/overview.mdFuente verificada 2026-10-04
- T3 Code / packages/contracts/src/rpc.tsFuente verificada 2026-10-04
- T3 Code / apps/server/src/orchestration-v2/Orchestrator.tsFuente verificada 2026-10-04
- T3 Code / apps/server/src/orchestration-v2/EventSink.tsFuente verificada 2026-10-04
- T3 Code / apps/server/src/orchestration-v2/EffectWorker.tsFuente verificada 2026-10-04