Prospero 네이티브 코딩 하네스 - skeeto

C++ 단일 실행 파일로 만든 코딩 에이전트 하네스다. 원문. 라이선스는 Unlicense(퍼블릭 도메인)다.

형태와 연결 방식

  • ImGui 기반 GUI이며 Windows, macOS, Linux에서 돈다.
  • OpenAI Chat Completions API와 Anthropic Messages API를 지원한다.
  • 엔진은 GUI 없이, ssh 너머로, 백그라운드에서도 실행할 수 있다.
  • 설정은 INI 파일 하나다.

지침·스킬·MCP·팀 설정

  • 지침은 사용자 AGENTS.md를 먼저 읽는다. 이어 루트부터 내려가며 AGENTS.md나 CLAUDE.md를 읽는다.
  • 스킬은 Claude Code 형식을 쓴다.
  • MCP 서버를 연결할 수 있다.
  • 저장소에 포함된 팀 설정은 권한을 올릴 수 없다. 명령, trust=yes, 비밀값을 담을 수 없다.

역할과 서브에이전트

  • 기본 역할은 explore와 general 두 개다.
  • explore는 read, grep, glob, skill 도구만 쓴다. 예시 설정 assets/prospero.ini는 이 역할에 claude-haiku-5-5를 지정한다.
  • 역할은 설명, 프롬프트, 모델, 도구 허용 목록으로 정의한다.
  • 서브에이전트도 서브에이전트를 띄울 수 있다. 다만 그렇게 띄운 서브에이전트는 task 도구를 받지 않는다.

예산과 모델 설정

  • task_budget은 요청 200회다. 이를 넘으면 마무리하라는 안내를 받는다. 1.5배에 이르면 중단된다.
  • 모델마다 fallback, compactor, subagent_model을 지정할 수 있다.

계획 모드와 우회 모드

  • Plan 모드에서는 plan.md만 쓴다. 사용자는 승인 전에 계획을 고칠 수 있다.
  • Bypass 모드는 사용자만 켤 수 있다.

외부 입력 경계

  • web_fetch는 대화에 이미 나온 URL만 읽는다. 로컬 주소는 읽지 않는다.
  • 도구 출력은 임의의 단어로 감싸고, 지시가 아니라 정보라고 표시한다.
  • 도구 출력에서 보이지 않는 문자는 제거한다.

세션 간 메시지

  • 세션끼리 메시지를 주고받는다. 받은 메시지에는 다른 세션에서 왔다는 표시가 붙는다.
  • 메시지 연쇄는 8단계까지로 제한한다.

평가: prospero eval

  • 평가 묶음을 돌려 모델과 편집 형식을 비교한다.
  • 과제별로 짝을 지어 비교한다.
  • 한 형식이 다른 모든 형식보다 우연 이상으로 나을 때만 그 형식을 추천한다. 기준은 부호 검정 p<0.05다.
  • 판정 지표는 통과율을 먼저 본다. 통과율로 가려지지 않으면 실패한 편집, 단계 수, 토큰 수를 본다.

검증 상태

메인이 README, docs/configuration.md, docs/usage.md, docs/development.md, assets/prospero.ini 원문을 직접 읽었다. 설치와 실행은 하지 않았다. 위 내용은 문서가 밝힌 동작이며, 실제 동작은 확인하지 않았다.

적용 해석

아래는 원문의 주장이 아니라 우리의 해석이다.

  • 읽기 도구만 쓰고 저가 모델을 지정하는 explore 역할은 Mixdog Explore 에이전트와 같은 방향이다.
  • 짝지은 비교 발상은 harness-improver 판정 규칙에 반영했다. 하루 예산으로는 유의성에 이를 수 없어 p값 기준은 넣지 않았다.
  • 팀 설정이 권한을 올리지 못하게 막고 도구 출력을 정보로 표시하는 설계는, 모델 준수에 기대지 않는 경계의 사례다.

연결