주요 내용
- 개요: 저자는 3년간 LLM을 활용한 코딩 경험을 바탕으로 자신만의 최소 코딩 에이전트 Harness를 구축함. 기존 도구(Claude Code, Cursor 등)의 복잡성과 불필요한 기능에 불만을 느껴 제작.
- 구성 요소:
- pi-ai: 통합 LLM API (다중 제공자 지원, 스트리밍, 도구 호출, 생각/추론, 컨텍스트 핸드오프, 비용 추적)
- pi-agent-core: 에이전트 루프 (도구 실행, 검증, 이벤트 스트리밍)
- pi-tui: 최소 TUI 프레임워크 (차분 렌더링, 동기화 출력)
- pi-coding-agent: 실제 CLI (세션 관리, 커스텀 도구, 테마, 프로젝트 컨텍스트 파일)
- pi-ai의 핵심 설계 원칙:
- 네 가지 주요 API(OpenAI, Anthropic, Google) 추상화
- 제공자별 특수성 처리 (예: Cerebras는
store필드, Mistral은max_tokens사용, Grok은reasoning_effort미지원) - 크로스-제공자 컨텍스트 핸드오프 (Anthropic의 thinking trace를 OpenAI로 변환 등)
- 모델 레지스트리 (OpenRouter, models.dev 데이터 파싱)
- 중단(Abort) 지원 (전체 파이프라인, 도구 호출 포함)
- 구조화된 분리된 도구 결과 (LLM용 텍스트 + UI용 데이터)
- 최소 에이전트 스캐폴드 (에이전트 루프: 사용자 메시지 → 도구 실행 → 피드백 → 반복)
- pi-tui의 설계:
- 종류: 전체 화면 TUI(스크롤백 버퍼 손실) vs 네이티브 TUI(스크롤백 유지)
- 유지 모드(retained mode) 사용: 각 컴포넌트가 자체 렌더링 및 캐싱
- 차분 렌더링(differential rendering): 변경된 라인만 다시 그리기
- 동기화 출력 이스케이프 시퀀스(
CSI ?2026h/l)로 깜빡임 최소화
- pi-coding-agent의 철학:
- 최소 시스템 프롬프트: 1000토큰 이하 (Claude Code의 10,000토큰 대비)
- 최소 도구: read, write, edit, bash (4가지) + 부가적 grep/find/ls
- YOLO 기본: 모든 명령 실행, 권한 체크 없음 (보안은 시뮬레이션으로 간주)
- 내장 To-Do/Plan 모드 없음: 파일 기반(TODO.md, PLAN.md)으로 대체
- MCP 지원 없음: CLI 도구+README 방식 선호 (MCP는 컨텍스트 오버헤드 큼)
- 배경 bash 없음: tmux 사용 (LLDB 디버깅, dev 서버)
- 서브-에이전트 없음: 직접 bash로 실행 (자체 관찰 가능)
- Agent Loop 단순화: 제공자 간 전환, 컨텍스트 직렬화/역직렬화 지원
- 벤치마크 결과:
- Terminal-Bench 2.0 실행: Claude Opus 4.5 사용, 5회 시도
- 리더보드에서 타 에이전트와 경쟁력 있는 성적
- Terminus 2(최소 tmux 기반)도 좋은 성적 → 최소 접근법의 유효성 증명
- 결론:
- 컨텍스트 엔지니어링이 핵심: 기존 Harness는 불가능
- 간결함과 제어 가능성: 포크 권장, 독재적 운영
- 미래 작업: 압축(compaction), 도구 결과 스트리밍 추가 예정
- 최종 메시지: "필요하지 않은 것은 만들지 않는다" 철학
링크 공유, 이제 더 스마트하게
어떤 URL이든 AI가 핵심 내용을 요약하고 미리보기를 자동 생성해 드립니다. 🤖