
Eco²
Backend · Cloud infrastructure
Indicaciones de reciclaje a partir de una foto y una conversación.
Un asistente de IA todo en uno que entiende cómo funciona el reciclaje en Corea.
Una corrección aislada de otro agente, una revisión dividida por lentes
Dos casos corregidos con agentes de programación en el backend de Eco². Solo se nombra un modelo donde lo registra una marca de coautoría de Claude Opus 4.5 o 4.6.
January 2026
Aislado de la rama develop que usaba otro agente, el streaming de tokens se corrigió en dos pasadas
Agente de programaciónOtro agente
AcciónOtro trabajo en curso en develop
- traspasoÁrbol ocupado → separación→ Worktree aparte · primero la nota de análisis (Worktree de la corrección)
En desarrolloStream de Chat
Observación · hallazgoSolo llegan eventos de etapa, sin tokens
- traspasoAlcance: emisión del stream→ Worktree aparte · primero la nota de análisis (Worktree de la corrección)
Agente de programaciónWorktree de la corrección
AcciónWorktree aparte · primero la nota de análisis
- traspasoArchivos que cambiar→ Envolver el SDK de OpenAI en un adaptador de LangChain (Worktree de la corrección)
Agente de programaciónWorktree de la corrección
AcciónEnvolver el SDK de OpenAI en un adaptador de LangChain
- traspaso→ PR #437 → fusionado en develop (Artefactos)
ArtefactosArtefactos
ArtefactoPR #437 → fusionado en develop
- traspaso→ Worktree · pasos de análisis en la skill git-workflow (Artefactos)
- traspasoE2E tras el merge→ Tokens de respuesta duplicados · fuga del intent “general” (Stream de Chat)
En desarrolloStream de Chat
Observación · hallazgoTokens de respuesta duplicados · fuga del intent “general”
- devueltoDos emisores→ Distinguir los dos emisores por node · seq → omitir los tokens capturados (dos pasadas) (Worktree de la corrección)
ArtefactosArtefactos
ArtefactoWorktree · pasos de análisis en la skill git-workflow
Agente de programaciónWorktree de la corrección
AcciónDistinguir los dos emisores por node · seq → omitir los tokens capturados (dos pasadas)
- traspasoAntes / después→ Fragmentos SSE registrados, antes y después (Stream de Chat)
- traspasoComprobación a nivel de comando→ Comprobación local de comando: 0 tokens del notifier (Artefactos)
En desarrolloStream de Chat
Observación · hallazgoFragmentos SSE registrados, antes y después
ArtefactosArtefactos
ArtefactoComprobación local de comando: 0 tokens del notifier
- traspaso→ PR #448 · fusionado tras resolver los conflictos con develop (Artefactos)
ArtefactosArtefactos
ArtefactoPR #448 · fusionado tras resolver los conflictos con develop
- Contexto
- El SSE de Chat entregaba los eventos de etapa pero ningún token. Otro agente estaba trabajando en develop, así que el trabajo empezó con una nota de análisis en un worktree aparte; tras fusionar la primera corrección, la duplicación y la fuga observadas entonces se acotaron con una segunda corrección.
- Resultado
- La responsabilidad de emitir tokens se acotó al único nodo que realmente los produce. La comprobación de comando solo muestra que el notifier no envía tokens; los fragmentos SSE registrados muestran la observación E2E posterior. Son evidencias distintas.
- Límite
- La identidad y el modelo del otro agente, y el número de agentes de programación, no están registrados. Ninguno de los dos PR tuvo una aprobación formal de revisión, y este registro no es el servicio actual ni una nueva ejecución E2E.
Fuentes y límites restantes
- Dentro del PR #448, el primer parche omitía los tokens de respuesta; un seguimiento hizo que ProcessChatCommand omitiera todos los tokens de mensaje capturados. No se funden en una sola corrección que funcionara a la primera.
- La nota de análisis y los fragmentos SSE de antes y después son registros de informe internos del repositorio.
February 10, 2026
El evaluador se revisó lente por lente, y solo los hallazgos concretos se convirtieron en código
Agente de programaciónImplementación
AcciónPipeline de evaluación candidato
- traspasoRevisión lente por lente→ Hallazgos: sin muestreo · guarda de costo / resultados mutables / config fuera de la closure (Cinco lentes de revisión)
Revisión · verificaciónCinco lentes de revisión
Observación · hallazgoHallazgos: sin muestreo · guarda de costo / resultados mutables / config fuera de la closure
- devueltoFiltrar antes de evaluar→ Muestrear y comprobar el costo diario antes de evaluar (Implementación)
- devueltoResultados inmutables · config fijada→ Objetos de resultado congelados · vinculación de config explícita (Implementación)
Agente de programaciónImplementación
AcciónMuestrear y comprobar el costo diario antes de evaluar
Agente de programaciónImplementación
AcciónObjetos de resultado congelados · vinculación de config explícita
- traspasoComprobaciones→ Comprobaciones unitarias · de cableado (local · con mocks) (Artefactos)
ArtefactosArtefactos
ArtefactoComprobaciones unitarias · de cableado (local · con mocks)
- no es una ejecución registradaNo llega hasta aquí→ E2E real con Redis + PG: no escrito en su momento (Artefactos)
- traspaso→ PR #546 fusionado · procedimiento en la skill eval-feedback-loop (Artefactos)
ArtefactosArtefactos
Regla · sin verificarE2E real con Redis + PG: no escrito en su momento
ArtefactosArtefactos
ArtefactoPR #546 fusionado · procedimiento en la skill eval-feedback-loop
- Contexto
- El informe de implementación del pipeline de evaluación de conversaciones registra cinco lentes de revisión y dos rondas de correcciones. El número de lentes no es un número de sesiones ni de agentes.
- Resultado
- El código tiene una rama que muestrea y comprueba el costo diario antes de evaluar, objetos de resultado congelados y vinculación de config explícita. Si la consulta del costo falla, la evaluación L2 sigue adelante, así que no es un tope estricto de gasto.
- Límite
- Las cinco lentes son una forma de dividir la revisión; no significan cinco sesiones de modelo independientes ni la aprobación de expertos humanos. Las puntuaciones internas cercanas a 100 del informe no son una medición de calidad y no se recogen aquí.
Fuentes y límites restantes
- El PR enlazado al inicio del informe es el #545; el PR público que fusionó las fases 1–4 es el #546.
- El stub de recalibración aún pendiente también figura tal cual en el informe.