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값 기준은 넣지 않았다.
- 팀 설정이 권한을 올리지 못하게 막고 도구 출력을 정보로 표시하는 설계는, 모델 준수에 기대지 않는 경계의 사례다.
연결
- 에이전트 문서 작성
- 반영 결정: 하네스 원천 재검토와 Mixdog 지침 반영 - Mixdog 대화
- 권한 상승 차단과 출력 경계: 규칙을 다시 전달하는 것과 위반을 판정하는 것은 다르다
- 역할·예산·세션 간 메시지: 도구·에이전트 연결과 작업 흐름 제어는 별도로 설계한다