클로드 코드/커서를 직접 사용하는 대신, 필요에 맞춰 최소한의 기능을 갖춘 AI 코딩 에이전트를 처음부터 직접 만들어보는 건 어떨까요? 구체적인 구현 과정은 어떻게 되나요? @badlogicgames의 이 기술 블로그 게시물은 Pi라는 오픈 소스 프로젝트에 대해 자세히 설명합니다. Pi는 그가 자신을 위해 특별히 개발한 AI 프로그래밍 에이전트로, "극도로 미니멀한" 접근 방식을 구현합니다. 그의 관점은 다음과 같이 요약할 수 있습니다. 점점 더 복잡해지는 AI 지원 프로그래밍 도구가 넘쳐나는 오늘날, 숙련된 개발자에게 있어 궁극적인 목표는 "투명성, 제어 가능성, 그리고 단순성"으로 돌아가는 것입니다. 이 바퀴를 왜 만들었을까요? 마리오는 한때 Cursor와 Claude Code를 많이 사용했지만, 주로 세 가지 이유로 이러한 상용 도구에 점차 불만을 갖게 되었습니다. • 지나치게 기능적임: 그는 클로드 코드를 "기능의 20%만 유용한 거대한 우주선"이라고 묘사했습니다. • 제어 불가능(블랙박스): 상용 도구의 시스템 프롬프트가 자주 업데이트되므로 어제는 작동했던 워크플로가 오늘 갑자기 사용 불가능해질 수 있습니다. 더욱이, 이러한 도구들은 AI에 전송하는 특정 컨텍스트를 숨기는 경우가 많습니다. • 투명성 부족: 예를 들어, 클로드 코드의 "계획 모드"는 보이지 않는 하위 에이전트를 통해 실행되므로 개발자는 AI가 무엇을 생각하는지 볼 수 없으며 의사 결정 과정에 개입할 수도 없습니다. 파이(π)란 무엇인가요? pi는 Node.js/TypeScript로 작성된 명령줄(CLI) 프로그래밍 에이전트입니다. • 위치 지정: 커서와 같은 IDE가 아니라 터미널에서 실행되는 "코파일럿"입니다. 특징: 매우 "고집스럽고" 미니멀리즘적입니다. 복잡한 UI로 사용자를 만족시키려 하지 않고 효율적인 컨텍스트 관리에 집중합니다. 핵심 디자인 철학 A. "맥락적 엔지니어링"에 대한 강조 마리오는 인공지능 프로그래밍의 성공 여부는 모델의 성능이 아니라, 모델에 얼마나 정확한 맥락 정보를 제공할 수 있느냐에 달려 있다고 믿습니다. Pi는 계층적인 AGENTS.md 파일 시스템을 도입했습니다. 프로젝트 루트 디렉터리에 전역 규칙을 배치하고 하위 디렉터리에 특정 모듈에 대한 규칙을 배치할 수 있습니다. AI가 이러한 규칙을 자동으로 읽어들입니다. 이는 채팅창에 매번 "TypeScript를 사용해 주세요"라고 반복해서 입력하는 것보다 훨씬 효율적입니다. B. 도구 세트에 대한 최소주의적 접근 방식은 현재 인기 있는 MCP의 포괄적인 도구 체인과 다릅니다. Pi는 AI에 단 네 가지 필수 도구만 제공합니다. • 읽기: 파일을 읽습니다. • bash: 셸 명령을 실행합니다(이것은 가장 강력한 도구이며, AI는 이를 사용하여 모든 스크립트, 컴파일러 또는 테스트를 실행할 수 있습니다). • 편집: 파일을 수정합니다. • 쓰기: 파일을 생성합니다. 마리오는 Bash가 실행되는 한, 추가적인 복잡한 플러그인 없이도 에이전트가 전 세계를 마음대로 이용할 수 있다고 믿습니다. C. "마법"을 거부하고 "가시성"을 수용하라 • 암묵적인 작업이 없습니다. 사용자는 에이전트가 수행하는 모든 단계와 모든 API 호출을 확인할 수 있습니다. • 수동 모드의 장점: 단일 세션 내에서 원활한 모델 전환을 지원합니다(예: 간단한 코드 스캔에는 저렴한 GPT-4o-mini를 사용하고, 어려운 문제를 해결하기 위해 중간에 고가의 Claude 3.5 Sonnet으로 전환해도 작업 흐름을 방해하지 않습니다). 원본 블로그 게시글을 읽어보세요
스레드를 불러오는 중
깔끔한 읽기 화면을 위해 X에서 원본 트윗을 가져오고 있어요.
보통 몇 초면 완료되니 잠시만 기다려 주세요.
