Depuración del Comportamiento de Agentes
Diagnostica y corrige problemas con los agentes de OpenCode. Aprende técnicas de depuración, análisis de registros y cómo rastrear el ciclo de vida de las solicitudes para identificar problemas.
Depuración del Comportamiento de Agentes
Modo de Depuración
Habilita el modo de depuración para ver información detallada:
opencode --debugO configura la variable de entorno:
export OPENCODE_DEBUG=1
opencodeQué Muestra el Modo de Depuración
Ciclo de Vida de la Solicitud
[DEBUG] Request received: "Fix the bug in main.py"
[DEBUG] Agent routing: Matched 'default' agent (description: "General-purpose coding assistant")
[DEBUG] Tool selection: Using 'read' tool for src/main.py
[DEBUG] Permission check: read tool allowed for src/**
[DEBUG] Tool execution: read src/main.py (234 bytes)
[DEBUG] Tool selection: Using 'edit' tool for src/main.py
[DEBUG] Permission check: edit tool allowed for src/**
[DEBUG] Tool execution: edit src/main.py (success)
[DEBUG] Response generated: "Fixed the bug by adding null check"
Invocaciones de Herramientas
[DEBUG] Tool: read
[DEBUG] Arguments: {"path": "src/main.py"}
[DEBUG] Result: Success (234 bytes)
[DEBUG] Tool: edit
[DEBUG] Arguments: {"path": "src/main.py", "old": "...", "new": "..."}
[DEBUG] Result: Success
Verificaciones de Permisos
[DEBUG] Permission check: bash tool
[DEBUG] Command: "npm test"
[DEBUG] Pattern: "npm *" → ALLOWED
[DEBUG] Permission granted
Problemas Comunes y Soluciones
Problema: Agente No Responde
Síntomas:
- Sin respuesta después de enviar un mensaje
- Largos retardos sin salida
Pasos de Depuración:
- Verificar la validez de la clave API:
echo $OPENAI_API_KEY | head -c 10- Verificar la conectividad de red:
curl -I https://api.openai.com- Revisar registros de depuración para errores de timeout
Solución:
{
"providers": {
"openai": {
"apiKey": "${OPENAI_API_KEY}",
"timeout": 60000
}
}
}Problema: Agente Equivocado Seleccionado
Síntomas:
- La solicitud va al agente equivocado
- El agente no entiende la tarea
Pasos de Depuración:
- Revisar descripciones de agentes en la salida de depuración
- Revisar reglas de enrutamiento
- Probar coincidencia de patrones
Solución:
{
"agentRouting": {
"rules": [
{
"pattern": "specific-pattern",
"agent": "target-agent"
}
]
}
}Problema: Permiso Denegado
Síntomas:
- Errores de "Permiso denegado"
- Herramientas no se ejecutan
Pasos de Depuración:
- Verificar reglas de permisos en la salida de depuración
- Verificar coincidencia de patrones
- Revisar el orden de deny vs allow
Solución:
{
"permissions": [
{
"tool": "bash",
"allow": ["npm *", "git *"],
"deny": ["sudo *"]
}
]
}Análisis de Registros
Niveles de Registro
| Nivel | Salida | Caso de Uso |
|---|---|---|
| Predeterminado | Información básica | Operación normal |
| Depuración | Trazas detalladas | Solución de problemas |
| Detallado | Contenido completo | Depuración profunda |
Habilitar Modo Detallado
opencode --verboseO en sesión interactiva:
> /verbose
Rastreando Solicitudes
Rastreo Manual
Sigue esta lista de verificación para depuración manual:
- Verificar configuración:
cat opencode.json | jq .- Verificar clave API:
echo "Key starts with: ${OPENAI_API_KEY:0:8}..."- Probar API directamente:
curl https://api.openai.com/v1/chat/completions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "gpt-4o", "messages": [{"role": "user", "content": "test"}]}'- Verificar salida de depuración:
opencode --debug 2>&1 | grep -i errorDepuración de Rendimiento
Respuestas Lentas
Causas:
- Ventana de contexto grande
- Prompts complejos
- Latencia de red
- Limitación de tasa
Soluciones:
| Causa | Solución |
|---|---|
| Contexto grande | Limpiar conversación con /clear |
| Prompts complejos | Simplificar instrucciones |
| Latencia de red | Verificar conexión, usar región más cercana |
| Limitación de tasa | Agregar demoras, actualizar plan de API |
Uso de Tokens
Monitorea el uso de tokens en la salida de depuración:
[DEBUG] Token usage: prompt=1234, completion=567, total=1801
[DEBUG] Estimated cost: $0.03
Practice Questions
How do you enable debug mode in OpenCode?
What does the request lifecycle trace show?
What should you check first when an agent doesn't respond?
How do you clear the conversation to reduce context size?
What does the token usage line in debug output show?
Key Takeaways
- Habilita el modo de depuración con el flag
--debugoOPENCODE_DEBUG=1 - La salida de depuración muestra enrutamiento de agentes, selección de herramientas, permisos y ejecución
- Siempre verifica primero la validez de la clave API y la conectividad de red
- Usa
/clearpara reducir el tamaño del contexto cuando las respuestas son lentas - El uso de tokens y estimaciones de costos aparecen en la salida de depuración
- Los niveles de registro se pueden ajustar para más o menos detalle
- El rastreo manual sigue un enfoque sistemático de lista de verificación