PocketCoder-A1: 클로드와 함께 밤샘 개발을 자동화하는 자율 에이전트
PocketCoder-A1은 개발 작업을 자율적으로 실행하는 CLI 도구로 웹 대시보드를 제공합니다. 이 에이전트는 세션 단위로 작동하며 상태를 저장하고, 클로드 CLI나 API를 통해 코드를 실행한 후 결과를 검증합니다: pytest, py_compile, 파일 검사 등. 클로드 맥스, 클로드 API, 올라마(Ollama) 프로바이더를 지원합니다. pip로 설치하고, 로컬호스트 7331의 대시보드와 함께 어떤 프로젝트에서든 실행할 수 있습니다.
프레임워크 없이 순수 파이썬으로 구축: 15개 모듈, 7086줄. HTTP 서버는 http.server, JSON은 표준 모듈, 파일은 pathlib로 처리합니다. 외부 의존성 최소화: E2E 테스트용 playwright, anthropic/ollama는 선택사항입니다.
아키텍처와 클로드 CLI 실행
에이전트는 시작 전 검증 기준을 캡처하고, 프롬프트를 조립하며, 실시간 NDJSON 파싱과 함께 클로드 CLI를 서브프로세스로 실행합니다. 주요 실행 플래그:
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,
)
| 플래그 | 목적 |
|------|---------|
| -p prompt | 비대화형 모드 |
| --dangerously-skip-permissions | tool_use 자동 확인 |
| --no-session-persistence | 세션 저장 안 함 |
| --max-turns 25 | 반복 제한 |
| --output-format stream-json | NDJSON 스트림 |
파서는 이벤트를 분류합니다: tool_use (읽기 — 파랑, Bash — 보라, 생각 — 노랑). Rate_limit_event 메트릭은 AJAX를 통해 2–3초마다 대시보드를 업데이트합니다.
3단계 결과 검증
세션 후 에이전트는 "완료"에서 멈추지 않습니다. 검증 실행:
- 1단계 (차단): 모든 .py 파일 py_compile, pytest, 파일 존재 여부, 작업의 success_criteria. 실패 시 오류 주입으로 재시도.
- 2단계 (경고): ruff, 빌드, git diff — 기록.
- 3단계 (반복 방지): 시작 전 기준 버그. 최대 5회 시도, 그렇지 않으면 차단되고 다음 작업으로 이동.
오류는 프롬프트에 주입됩니다: "검증 실패, 시도 2/5, 차단: 테스트 2개 실패."
프로바이더와 작업 관리
| 프로바이더 | 메커니즘 | 요구사항 |
|----------|-----------|--------------|
| claude-max | CLI 서브프로세스, Stream-JSON, 네이티브 도구 | 클로드 맥스 구독 |
| claude-api | Anthropic SDK, 에이전트 루프, 6개 도구 | API 키 |
| ollama | 텍스트 스트리밍, 도구 호출 없음 | 로컬 Ollama |
작업은 세 가지 방식으로 생성됩니다:
- CLI:
pca task add. - 대시보드의 빠른 추가.
- AI 변환: 원시 텍스트 → 우선순위와 기준이 있는 구조화된 작업.
상태: 대기 중, 진행 중, 완료, 차단됨. 우선순위 드래그 앤 드롭. 라이프사이클: 에이전트가 자동으로 다음 작업 선택.
실제 사례: epotos-templates에 프로바이더 추가
문서 처리를 위한 epotos-templates 프로젝트. 작업: 저장소 복제, 프로바이더 전환 Ollama → DeepSeek 추가.
- AI 변환이 원시 텍스트를 기준이 있는 5개 작업으로 변환.
- 에이전트 실행: claude-api, THINK/BASH/READ와 함께 실시간 로그.
- 세션 후 — 검증, 성공 시 녹색 체크 표시.
- 다음으로 자동 전환: ollama.ts, ai-client.ts 분석, 포트 grep.
세션당 0/5에서 2/5 작업 진행, 상세 도구 호출 로그 포함.
핵심 포인트:
- 자율 운영: 작업 설정 — 떠나기, 검증된 코드로 돌아오기.
- 3단계 검증으로 오탐 방지.
- NDJSON 파싱과 토큰 메트릭이 있는 실시간 대시보드.
- 통합 파이프라인을 통한 다중 프로바이더 지원.
- 오픈 소스, 프레임워크 없는 순수 파이썬 7086줄.
설치: pip install pocketcoder-a1, pca init /경로/프로젝트, pca ui. 밤샘 자동화로 LLM 구독 부담을 덜고 싶은 중/시니어 개발자에게 적합합니다.
— Editorial Team
아직 댓글이 없습니다.