Habilidad para Agentes de IA
Haz que tu asistente de programación de IA aprenda a usar Peeka para diagnosticar problemas en aplicaciones Python.
Tabla de Contenidos
- ¿Qué es la habilidad peeka-diagnostics?
- Resumen del Contenido de la Habilidad
- Método de Instalación
- Modo de Uso
- Ejemplos de Escenarios de Uso
- Mantenimiento del Archivo de Habilidad
- Preguntas Frecuentes
¿Qué es la habilidad peeka-diagnostics?
peeka-diagnostics es un archivo de habilidad para Agentes de IA (SKILL.md). Después de instalarlo, tu asistente de programación de IA (como OpenCode, Cursor, Cline, etc.) podrá:
- Juicio automático: Seleccionar el comando peeka correcto según los síntomas del problema (solicitudes lentas, fugas de memoria, interbloqueos, etc.)
- Ejecutar diagnóstico: Adjuntarse a procesos Python en ejecución a través de
peeka-cliy recolectar datos en tiempo real - Analizar resultados: Realizar análisis estructurado usando la salida JSONL y
jq - Solución paso a paso: Seguir el playbook de diagnóstico incorporado (análisis de rendimiento, resolución de excepciones, análisis de memoria, análisis de hilos)
El archivo de habilidad se centra en el flujo de diagnóstico principal de Peeka: watch, trace, stack, monitor, top, sc, sm, memory, inspect, logger, thread y run, con orientación de parámetros, recetas de jq, sintaxis de expresiones condicionales y protocolos de seguridad.
Resumen del Contenido de la Habilidad
Árbol de Decisión de Diagnóstico
La habilidad tiene una tabla de mapeo incorporada de síntomas a comandos, la IA seleccionará automáticamente la ruta de diagnóstico según los síntomas:
| Síntoma | Comando Recomendado | Objetivo |
|---|---|---|
| Respuesta lenta / alta latencia | watch → trace |
Localizar llamadas lentas |
| Valor de retorno incorrecto / bug lógico | watch observar entrada y salida |
Asociar entrada con salida |
| Excepción / error | watch -e → stack |
Encontrar ubicación y causa de la excepción |
| Crecimiento de memoria / fuga | memory comandos de serie |
Encontrar asignaciones de memoria y poseedores |
| CPU alta | top → trace |
Encontrar rutas de puntos calientes de CPU |
| Interbloqueo / bloqueo | thread → stack |
Encontrar puntos de contención de bloqueos |
| Anomalías gevent/eventlet o monkey patch | patch-status → attach / watch |
Confirmar estado de parches de runtime e integridad RPL |
4 Playbooks de Diagnóstico
| Playbook | Escenario | Flujo Principal |
|---|---|---|
| A: Análisis de Rendimiento | Interfaz lenta, función tarda demasiado | watch filtrar llamadas lentas → trace descomponer árbol de llamadas → localizar cuello de botella |
| B: Resolución de Excepciones | Error en entorno de producción | watch -e capturar excepción → stack obtener pila de llamadas → analizar causa raíz |
| C: Análisis de Memoria | Crecimiento continuo de memoria | memory iniciar rastreo → múltiples instantáneas → diff comparación → referrers buscar referencias |
| D: Análisis de Hilos | Interbloqueo, hilo bloqueado | thread listar estados → filtrar WAITING → stack obtener pila |
Capacidad de Análisis JSONL
Toda la salida CLI está en formato JSONL, la IA usará jq para realizar análisis estructurado:
# Filtrar llamadas lentas
peeka-cli watch "module.func" -n 10 | jq 'select(.type == "observation" and .cost > 100)'
# Extraer información de excepción
peeka-cli watch "module.func" -e -n 5 | jq 'select(.success == false) | {func: .func_name, error: .exception}'
# Análisis top de memoria
peeka-cli memory --action top | jq '.data.top_allocations[:5]'
Método de Instalación
Requisitos Previos
- Peeka ya está instalado (ver Guía de Instalación)
- Usar un asistente de programación de IA que soporte Skill/SKILL.md
Método 1: Instalación a nivel de proyecto (recomendado)
Copia el archivo de habilidad al directorio .agents/skills/ de tu proyecto:
# Ejecutar en la raíz del proyecto
mkdir -p .agents/skills/peeka-diagnostics
# Copiar el archivo de habilidad desde el repositorio de Peeka
curl -o .agents/skills/peeka-diagnostics/SKILL.md \
https://raw.githubusercontent.com/peeka-project/peeka/master/.agents/skills/peeka-diagnostics/SKILL.md
Estructura de directorios después de la instalación:
your-project/
├── .agents/
│ └── skills/
│ └── peeka-diagnostics/
│ └── SKILL.md
├── src/
│ └── ...
└── ...
Método 2: Instalación global
Si tu herramienta de IA admite un directorio global de habilidades (como ~/.config/opencode/skills/), puedes instalarlo en una ubicación global:
mkdir -p ~/.config/opencode/skills/peeka-diagnostics
curl -o ~/.config/opencode/skills/peeka-diagnostics/SKILL.md \
https://raw.githubusercontent.com/peeka-project/peeka/master/.agents/skills/peeka-diagnostics/SKILL.md
Modo de Uso
OpenCode
En OpenCode, carga la habilidad a través de load_skills:
task(
category="deep",
load_skills=["peeka-diagnostics"],
prompt="Mi API responde lentamente, ayúdame a diagnosticar con peeka el PID 12345"
)
O refiérete directamente en la conversación:
@peeka-diagnostics La memoria de mi servicio Python sigue creciendo, el PID es 54321, ayúdame a solucionarlo
Otras herramientas de IA
Para Cursor, Cline u otras herramientas de IA que admitan instrucciones personalizadas:
- Asegúrate de que el archivo de habilidad esté en
.agents/skills/peeka-diagnostics/SKILL.md - La herramienta de IA descubrirá y cargará la habilidad automáticamente
- Cuando describas problemas relacionados con el diagnóstico de Python, la IA aplicará automáticamente el conocimiento en la habilidad
Palabras Clave de Activación
Las siguientes palabras clave activarán a la IA para usar la habilidad peeka-diagnostics:
debug python,diagnose pythonslow app,memory leak,high CPUtrace function,watch expressionthread deadlock,runtime debuggingprofile python,peeka
Ejemplos de Escenarios de Uso
Escenario 1: Diagnosticar interfaz lenta
“Mi tiempo de respuesta de la interfaz /api/users aumentó de 50ms a 2s, el PID del proceso objetivo es 12345, ayúdame a solucionarlo”
La IA automáticamente:
peeka-cli attach 12345peeka-cli sc "*user*"para encontrar clases relacionadaspeeka-cli watch "myapp.api.users.get_users" -n 5 --condition "cost > 100"para filtrar solicitudes lentaspeeka-cli trace "myapp.api.users.get_users" -n 3 -d 5para descomponer el árbol de llamadas- Analizar la salida JSONL y localizar la subfunción cuello de botella
- Limpieza con
peeka-cli reset && peeka-cli detach
Escenario 2: Diagnosticar fuga de memoria
“Después de varias horas de ejecución, la memoria de mi servicio Python aumentó de 200MB a 2GB, PID 54321”
La IA automáticamente:
- Adjuntar el proceso e iniciar tracemalloc
- Tomar múltiples instantáneas con intervalos y comparar con diff
- Usar
memory --action toppara encontrar las mayores fuentes de asignación - Usar
memory --action referrerspara rastrear la cadena de referencias - Emitir informe de análisis y sugerencias de reparación
Escenario 3: Diagnosticar interbloqueo de hilos
“Mi servicio está bloqueado, todas las solicitudes se agotan el tiempo de espera, PID 33333”
La IA automáticamente:
peeka-cli threadenumera todos los estados de hilos- Filtrar hilos en estado
WAITING - Obtener información detallada de la pila de hilos sospechosos
- Analizar la contención de bloqueos y dar sugerencias
Mantenimiento del Archivo de Habilidad
Actualizar la habilidad
Cuando Peeka lance una nueva versión, actualiza el archivo de habilidad:
curl -o .agents/skills/peeka-diagnostics/SKILL.md \
https://raw.githubusercontent.com/peeka-project/peeka/master/.agents/skills/peeka-diagnostics/SKILL.md
Extensión Personalizada
El archivo de habilidad es Markdown puro, puedes extenderlo según las necesidades de tu proyecto:
- Agregar patrones de diagnóstico específicos del proyecto
- Agregar accesos directos para patrones de funciones comunes
- Complementar pasos de resolución de problemas específicos del proyecto
Preguntas Frecuentes
¿La IA no usa peeka para diagnosticar?
- Confirma que el archivo de habilidad se instaló correctamente en
.agents/skills/peeka-diagnostics/SKILL.md - Menciona explícitamente palabras clave relacionadas con diagnóstico y depuración de Python en el prompt
- Confirma que
peeka-cliestá instalado y disponible
¿La ejecución del comando de diagnóstico de IA falló?
- Verifica que Peeka esté instalado correctamente:
peeka-cli --help - Confirma que el proceso objetivo todavía está en ejecución:
ps -p <pid> - Verifica los permisos (ptrace_scope, CAP_SYS_PTRACE)
¿Dónde puedo encontrar el archivo de habilidad?
- Repositorio GitHub: peeka/.agents/skills/peeka-diagnostics/SKILL.md
- Dirección de descarga directa:
https://raw.githubusercontent.com/peeka-project/peeka/master/.agents/skills/peeka-diagnostics/SKILL.md