Pi 1.0이 MCP를 핵심에 넣고 장기 실행용 Pi Durable을 공개했다

InfoQ 中文2시간 전

Pi가 1.0으로 올라섰다. 이번 릴리스에서 Code Mode와 네이티브 MCP 지원이 정식 안정 버전으로 들어왔고, 같은 시점에 장시간 실행을 겨냥한 새 Harness(에이전트 실행 골격)인 Pi Durable이 공개됐다. 터미널에서 쓰는 코딩 에이전트로 출발한 Pi가 에이전트를 돌리는 기반 계층까지 영역을 넓히겠다는 신호다.

Pi Durable이 겨냥하는 것은 에이전트 애플리케이션을 만들 때마다 반복해서 짜야 했던 주변 코드다. 사용자 메시지, 모델 응답, 도구 실행 결과, 작업 상태를 저장하고 프로세스가 죽으면 중단 지점에서 이어서 실행한다. 재실행해도 안전한 작업은 다시 돌리지만, 부작용이 중복될 수 있는 작업은 함부로 재실행하지 않는다. 내부적으로는 이벤트 소싱 대신 '의도, 실행, 결과'로 묶는 방식과 버전이 붙은 문서 저장소를 조합해 애플리케이션 상태를 관리한다고 팀은 설명했다. 개인 비서나 Slack 봇 같은 것을 Pi 위에 올리던 개발자라면 메시지 저장 스키마와 재시작 로직에 쓰던 코드 상당량을 프레임워크에 넘길 수 있다는 뜻이다.

MCP를 받아들인 방식도 눈에 띈다. Pi 팀은 지난 1년 동안 MCP를 공개적으로 비판해 온 쪽이다. 프로토콜이 비대하고 토큰을 낭비하며, 에이전트가 Bash나 CLI 도구, 코드를 직접 쓰는 편이 더 효율적이라는 입장이었고 공식 사이트에 MCP를 지원하지 않는다고 적어 두기까지 했다. 그 사이 MCP는 예순 번대에 걸친 개정을 거쳤고 모델 쪽 학습도 달라졌다. Pi는 이제 MCP를 코어에 넣되, 모든 도구 이름과 파라미터, 설명을 컨텍스트에 한꺼번에 밀어 넣지 않고 도구 검색과 점진적 노출로 필요한 만큼만 불러온다.

Code Mode는 QuickJS 샌드박스에서 에이전트가 자바스크립트 프로그램을 직접 작성해 실행하는 기능이다. 도구를 병렬로 호출하고 데이터를 걸러내고 중복을 제거하고 계산까지 샌드박스 안에서 끝낸 뒤, 실제로 쓸모 있는 결과만 모델에 돌려준다. 중간 데이터가 컨텍스트에 쌓이지 않으니 토큰 소비와 비용이 줄어든다. 자바스크립트 루프 안에서 Jev 같은 System 1 계열 모델을 직접 호출할 수도 있다. MCP로 GitHub 댓글 200개를 가져왔다면 각 댓글을 Jev에 넘겨 불만인지, 급한 문제인지, 어떤 범주인지 판단하게 하고 GPT나 Claude에는 분류·요약된 결과만 보여주는 식이다.

이 결정을 두고 Pi 사용자 일부는 불만을 드러냈다. MCP와 Code Mode가 코어로 들어오면서 Pi가 애초에 피하려던 비대한 Harness가 되는 것 아니냐는 우려다. Armin Ronacher는 Pi가 기본으로 불러오는 컨텍스트 양은 이전과 같다고 반박했다. Code Mode 역시 Bash를 한 바퀴 돌리는 것이 아니라, 모델이 Harness 내부에서 도구를 검색하고 조합하고 조율하도록 만든 것이라고 설명했다. 그는 또 Pi를 인수하기 전부터 Mario Zechner를 영입하려 시도했고, 두 사람이 지향하는 것은 비엔지니어도 쓸 수 있는 제품과 누구나 자기 에이전트를 만들 수 있는 인프라라고 밝혔다.

두 사람이 공개 방송에서 강조한 것은 에이전트가 잘하는 일과 못하는 일의 경계다. Mario는 설계나 아키텍처가 걸린 문제에서는 에이전트가 국소적으로 코드를 덧대며 상황을 악화시키는 경우가 많다고 말했다. Armin도 에이전트가 당면한 문제는 반드시 해결하지만 코드를 늘리지 않고 해결하는 경우는 거의 없다고 지적했다. Mario는 그 이유를 훈련 데이터에서 찾는다. 보안, 웹사이트, 프런트엔드처럼 정답이 있는 작업은 학습 데이터를 만들 수 있지만, 무언가를 설계하고 구조를 잡는 '구축' 과정 자체는 텍스트로 부호화되지 않아 모델이 배울 수 없다는 것이다.

대신 판정 기준이 명확한 영역에서는 성과가 뚜렷하다. 테스트 스위트처럼 옳고 그름을 기계적으로 가릴 수 있는 작업이 그렇다. Bun의 Rust 재작성은 기존 테스트를 새 구현에서 통과시키는 방식으로 진행됐고, 직렬화 라이브러리에 퍼징을 붙여 문제를 쏟아내게 하는 활용도 효과가 좋다고 두 사람은 전했다. 보안 쪽에서는 에이전트가 JVM의 네이티브 구조를 역으로 분석해 프로세스 메모리를 읽어낸 사례가 언급됐다. 다만 이런 사례는 판정 기준이 분명한 작업에서 나온 것이고, 아키텍처 판단은 여전히 사람 몫이라는 게 두 사람의 정리다.

Pi Durable이 크래시를 넘어 며칠씩 돌아가게 되면 새로운 문제가 생긴다. 에이전트가 쉽게 멈추지 않게 되는데, 그동안 코드베이스가 어떻게 변했는지 누가 보증하느냐는 것이다. Mario는 2월부터 7월까지 대부분의 시간을 이슈 확인과 수정에 썼고 그 때문에 Pi Durable 공개가 늦어졌다고 말했다. 어떤 이슈가 실제로 고칠 가치가 있는지 판단하는 일조차 아직 에이전트에게 맡기지 못한다는 것이다. 팀은 Pi를 넘기는 대신 더 많은 사람이 개발에 참여하게 만들어 '내가 있어야 한다'는 조건을 줄이는 쪽을 목표로 삼고 있다고 밝혔다.