Earendil, Pi 1.0과 함께 실험적 durable 에이전트 하네스 Pi Durable 공개
- Earendil이 코딩 에이전트 Pi 1.0과 함께 실험적 패키지 Pi Durable을 공개. Pi Durable은 저장소 위에 올라가는 durable 에이전트 하네스로, Pi 코딩 에이전트를 대체하지 않고 코딩 에이전트를 포함한 모든 agentic 애플리케이션을 짓는 프레임워크임
- 테스트를 뺀 전체 소스가 약 15,000줄이고 토큰으로는 GPT 기준 약 150,000, Claude 기준 약 250,000. 에이전트가 소스를 읽고 그 위에 직접 확장을 지을 수 있게 만든 게 설계 목표임
- 저장 백엔드는 memory, SQLite, JSONL 세 가지를 기본 제공하고 자체 백엔드용 conformance suite와 벤치마크도 함께 배포. SQLite와 JSONL 저장 코드는 Node API를 쓰지 않아 어댑터만 붙이면 Bun이나 Cloudflare Durable Object에서도 실행됨
- SQLite 모드에서는 활성 트랜스크립트와 실행 중 task, 대기 중 submission만 메모리에 두고 나머지는 디스크에 남김. 컴팩션이 컨텍스트 윈도우가 넘치기 전에 오래된 메시지를 요약하므로 수만 메시지 대화도 메모리에 들어감
- 여러 사람이 같은 에이전트를 조종하고 대화 포크에 계보 정보를 붙일 수 있음. 다만 Durable은 분기 대화 트리를 지원하지 않아 durable 보장에 필요한 선택인지 토론에서 의문이 나옴
Hacker News opinions
durable 에이전트 하네스는 나도 꽤 오래 파온 분야인데 진짜 재밌는 지점임. LangChain Deep Agents, Vercel Eve, OpenAI Agents API, Anthropic Managed Agents까지 큰 곳들이 다 제품 내고 있고, 이유는 durable해서 무인 장기 실행과 복구가 쉽고, 하네스와 컴퓨트를 분리하면 안전성과 확장이 좋아지고, 멀티플레이어가 쉬워진다는 것임
잘 이해된 문제인데 주름이 엄청 많아서 해킹하기 좋은 곳임. 최종 설계까지 디자인을 몇 개나 갈아엎었는지 모르겠고 더 배울 게 남아 있을 것 같음
15,000줄이 GPT로 150k 토큰, Claude로 250k 토큰이라니 차이가 이렇게 큰가? 토크나이저가 랩마다 다르니 누구 하나 붙잡고 얘기하면 끝이 없음. 최근 델타는 Opus 토크나이저 쪽이라는 openrouter 글도 있었음
Pi용으로 내가 만든 버전이 있는데 이걸로 그냥 갈아끼울 수 있으면 좋겠음
durable 상태가 JSON 문서에만 갇혀 있는 게 아쉬움. outbox 패턴을 붙여서 외부 저장소를 대화 상태와 동기화하는 기본 방법이 있었으면 함
그건 task로 이미 어느 정도 됨. root 대화 commit에서 마지막 답변 id를 뽑아 postgres로 멱등하게 밀어 넣는 task를 durable하게 스케줄하는 식임. 빠진 건 commit 안에서 outbox 쓰기를 상태 변경과 원자적으로 묶어주는 hook, 즉 설탕임
샌드박싱은 BYO인 것 같던데 정책 엔진이 있었으면 좋겠음. NVIDIA openshell 같은 걸 확장으로 붙이는 것도 생각해볼 만하고. 나는 JSONL 이벤트 스토어 쓰다가 I/O 마찰 때문에 그냥 메모리에 올려두는 쪽으로 기울었는데, .db 파일로 두는 게 내가 이상한 건가
나는 멀티유저 부분이 제일 마음에 듦. TUI가 돌고 있으면 ACP를 못 쓰는 문제를 계속 땜질해왔는데 그게 풀릴 것 같음
Slack 온콜/서포트 채널용 하네스를 Pi SDK 위에 만들어서 잘 쓰고 있음. 처음엔 Codex를 썼는데 Pi가 더 hackable하고 기본이 벤더 중립적이라 좋았음. Kubernetes에서 돌리는데 JSONL 세션 파일이랑 파드 중단 때문에 DBOS를 쓰고 있고, 잘 되긴 하는데 과한 느낌이라 이번 발표로 필요 없는 부분을 걷어내려 함
나는 다른 storage interface로 Agent Substrate에 밀어 넣고 있음
무한 실행 에이전트를 대체 뭐에 쓰는 거임? 나는 프로젝트 모니터링하는 cron job 여러 개를 텔레그램 에이전트에 물려놨는데, 알림이 오면 같은 대화에서 바로 수정을 시킬 수 있음
무한 실행 쪽은 잘 모르겠고, 이벤트가 생기면 PR을 열거나 매일 알림을 트리아지하는 정도로 스케줄 에이전트를 씀
이거 진짜 복잡함. 바닐라 pi 여러 개를 조정하는 하네스만 만들어도 악몽이었는데, 늘어난 복잡도가 값을 하는지는 모르겠음. 그래도 실험적이라고 라벨을 붙인 건 좋음
Durable이 분기 대화 트리를 지원하지 않고 계보 정보가 붙은 포크만 지원하는 게 원래 pi에서 크게 벗어난 결정 같음. 분기 대화도 불변 구조인데 durable 보장에 꼭 필요한 건지 모르겠음
Gastown 조각을 절반쯤 복제한 느낌임. 아이디어는 좋은데 이런 도구들이 샌드박싱을 일급 시민으로 안 다루는 게 아쉬움. 신뢰 계층이라 확장이 아니라 네이티브 지원이 필요하다고 봄
Pi Durable 세부는 잘 모르지만 Pi 샌드박싱은 여러 방법을 좀 만져봤음. 이렇게 플러그 가능하고 자기 개선까지 하는 하네스에 내장된 샌드박싱은 신뢰하기 어려울 것 같고, Pi로 Pi 확장을 쓰는 상황이면 OS 레벨 샌드박스로 감싸는 게 마음 편함