PocketCoder-A1: Un Agente Autónomo para Desarrollo Nocturno con Claude
PocketCoder-A1 es una herramienta CLI con un panel web que ejecuta tareas de desarrollo de forma autónoma. El agente opera en sesiones, guarda el estado, ejecuta código mediante Claude CLI o API y luego verifica los resultados: pytest, py_compile, comprobaciones de archivos. Es compatible con los proveedores Claude Max, Claude API y Ollama. Se instala mediante pip, se ejecuta en cualquier proyecto con un panel en localhost:7331.
Desarrollado en Python puro sin frameworks: 15 módulos, 7086 líneas. Servidor HTTP en http.server, JSON mediante módulo estándar, archivos mediante pathlib. Dependencias externas mínimas: playwright para pruebas E2E, anthropic/ollama opcionales.
Arquitectura y Lanzamiento de Claude CLI
El agente captura una línea base de validación antes de comenzar, ensambla un prompt, lanza Claude CLI como un subproceso con análisis NDJSON en tiempo real. Banderas de lanzamiento clave:
import os, subprocess
env = os.environ.copy()
env.pop("CLAUDECODE", None)
proc = subprocess.Popen(
["claude", "-p", prompt,
"--dangerously-skip-permissions",
"--no-session-persistence",
"--max-turns", "25",
"--verbose",
"--output-format", "stream-json"],
cwd=str(project_dir),
env=env,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
text=True,
bufsize=1,
)
| Bandera | Propósito |
|------|---------|
| -p prompt | Modo no interactivo |
| --dangerously-skip-permissions | Confirmación automática de tool_use |
| --no-session-persistence | Sin guardar sesión |
| --max-turns 25 | Límite de iteraciones |
| --output-format stream-json | Flujo NDJSON |
El analizador clasifica eventos: tool_use (Read — azul, Bash — morado, thinking — amarillo). Las métricas de rate_limit_event actualizan el panel mediante AJAX cada 2–3 segundos.
Verificación de Resultados en Tres Niveles
Después de una sesión, el agente no se detiene en "COMPLETADO". La verificación se ejecuta:
- Nivel 1 (BLOQUEANTE): py_compile para todos los archivos .py, pytest, existencia de archivos, success_criteria de la tarea. Si falla — reintento con inyección de error.
- Nivel 2 (ADVERTENCIA): ruff, build, git diff — registrados.
- Nivel 3 (ANTI-BUCLE): Errores de línea base antes de comenzar. Máximo 5 intentos, de lo contrario BLOQUEADO y pasar a la siguiente tarea.
Los errores se inyectan en el prompt: "VERIFICACIÓN FALLIDA, intento 2/5, BLOQUEANTE: pruebas 2 fallidas."
Proveedores y Gestión de Tareas
| Proveedor | Mecanismo | Requisitos |
|----------|-----------|--------------|
| claude-max | Subproceso CLI, Stream-JSON, herramientas nativas | Suscripción a Claude Max |
| claude-api | SDK de Anthropic, bucle agéntico, 6 herramientas | Clave API |
| ollama | Transmisión de texto, sin llamadas a herramientas | Ollama local |
Las tareas se crean de tres formas:
- CLI:
pca task add. - Agregar Rápido en el panel.
- Transformación IA: texto sin formato → tareas estructuradas con prioridades y criterios.
Estados: PENDIENTE, EN PROGRESO, HECHO, BLOQUEADO. Arrastrar y soltar para prioridades. Ciclo de vida: el agente selecciona la siguiente tarea automáticamente.
Caso Real: Agregar un Proveedor a epotos-templates
Proyecto epotos-templates para procesamiento de documentos. Tarea: clonar el repositorio, agregar cambio de proveedor Ollama → DeepSeek.
- Transformación IA convierte texto sin formato en 5 tareas con criterios.
- Lanzamiento del agente: claude-api, registro en vivo con THINK/BASH/READ.
- Después de la sesión — verificación, marca de verificación verde en éxito.
- Transición automática a la siguiente: analizar ollama.ts, ai-client.ts, buscar puertos.
Progreso de 0/5 a 2/5 tareas por sesión, con registros detallados de llamadas a herramientas.
Puntos Clave:
- Operación autónoma: establecer tareas — dejar, regresar a código verificado.
- Verificación de tres niveles evita falsos positivos.
- Panel en tiempo real con análisis NDJSON y métricas de tokens.
- Soporte para múltiples proveedores mediante una canalización unificada.
- Código abierto, 7086 líneas de Python puro sin frameworks.
Instalación: pip install pocketcoder-a1, pca init /ruta/al/proyecto, pca ui. Adecuado para desarrolladores de nivel medio/senior que buscan descargar suscripción a LLM con automatización nocturna.
— Editorial Team
Aún no hay comentarios.