홈으로 돌아가기

PocketCoder-A1: Claude 기반 자율 코딩 에이전트

PocketCoder-A1 — Claude를 통해 코딩 작업을 수행하는 자율 에이전트로, 3단계 검증과 웹 대시보드를 갖춤. 순수 Python을 사용하며, 여러 제공자를 지원하고 NDJSON을 실시간으로 파싱합니다. 실제 사례에서 프로젝트에 제공자 추가를 자동화하는 것을 보여줍니다.

자율 코딩에서 Claude 실행: PocketCoder-A1
Advertisement 728x90

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를 서브프로세스로 실행합니다. 주요 실행 플래그:

Google AdInline article slot
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 | 비대화형 모드 |

Google AdInline article slot

| --dangerously-skip-permissions | tool_use 자동 확인 |

| --no-session-persistence | 세션 저장 안 함 |

| --max-turns 25 | 반복 제한 |

Google AdInline article slot

| --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

Advertisement 728x90

다음 읽기