Resumen
sentry-autofix usa una arquitectura distinta al resto de agentes. En vez de un solo React agent, corre un StateGraph con etapas explicitas y una critica intermedia antes de entregar el parche final.
Archivos fuente:
apps/api-nestjs/src/modules/sentry-autofix/application/services/autofix-hybrid-agent.service.ts
apps/api-nestjs/src/modules/sentry-autofix/infrastructure/services/autofix-opus-langchain.service.ts
Grafo hibrido
Nodos actuales:
Flujo:
seed_context inicia estado y revision count.
investigate determina causa probable, archivos a tocar y restricciones.
generate_patch propone un parche sobre los archivos triageados.
critic_patch revisa calidad y puede pedir una nueva iteracion.
handoff entrega el parche aprobado.
Si la critica rechaza el parche y aun hay margen de revision, el flujo vuelve a generate_patch.
Repositorios soportados
Hoy el modo hibrido esta limitado por codigo a:
UGPS-2025/raul-ugps
UGPS-2025/BackApi
Que agrega la investigacion
La etapa de investigacion entrega:
- resumen del incidente
- causa probable
- archivos que probablemente requieren cambio coordinado
- archivos relacionados inspeccionados
- restricciones de implementacion
Eso se transforma en contexto adicional para el generador del parche.
Foundry y Anthropic
AutofixOpusLangchainService usa ChatAnthropic con bootstrap de autenticacion desde AnthropicFoundryService.
Puntos clave:
- el deployment sale de Azure Foundry
- las llamadas pueden incluir
maxTokens y temperature por request
- el servicio arma headers autenticados para cada request
- si LangSmith esta activo, adjunta callbacks y puede resolver URL de la corrida
Relacion con Teams engineering
El agente de ingenieria de Teams no genera parches por si mismo. Lo que hace es orquestar la capa de autofix mediante tools como:
list_autofix_runs
get_autofix_run_detail
trigger_sentry_autofix
approve_autofix_pr
resolve_sentry_issue
Eso deja a sentry-autofix como motor de ejecucion y a Teams como interfaz operativa.
Si cambias el flujo de Autofix, revisa tambien el agente de ingenieria y su documentacion. Si no, el bot puede quedar describiendo un flujo que ya no existe.