주요 내용

  • 개요: 저자는 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가 핵심 내용을 요약하고 미리보기를 자동 생성해 드립니다. 🤖