Pi-Mono(GitHub: badlogic/pi-mono)は、2026年5月時点で43.9k starsを記録したオープンソースのAIエージェントツールキットである。Mario Zechner氏が開発したこのmonorepoは、LLM APIの統一、coding agent CLI、TUI/Web UI、Slack bot、vLLM podsまでを単一リポジトリにまとめ、断片化されたエージェント開発を大幅に簡素化する。
本記事では、Pi-Monoの構成要素、インストール方法、拡張の考え方、そして実践的なカスタムエージェント構築例を解説する。
Pi-Monoが解決する課題
AIエージェント開発では、以下のような断片化が常態化している:
- LLMプロバイダごとのAPI差異(OpenAI、Anthropic、Google、Groq、Ollamaなど)
- Agent runtime、tool calling、state managementの個別実装
- CLI / TUI / Web UI / Slack botなどのフロントエンドのばらばらな選択
- デプロイ基盤(vLLM、Docker、サーバーレス)の個別対応
Pi-Monoはこれらをmonorepoとして統合し、interchangeable components(交換可能な部品) として提供する。哲学は明確だ。
「Adapt Pi to your workflows, not the other way around.」
最小限のコアを保ち、必要な機能はextensionsやskillsとして自分で追加する設計になっている。
主なパッケージ構成
| Package | 役割 | 特徴 |
|---|---|---|
@earendil-works/pi-ai |
Unified LLM API | 15+プロバイダ、数百のモデルに対応。セッション中に /model で切り替え可能 |
@earendil-works/pi-agent-core |
Agent runtime | Tool calling + state management |
@earendil-works/pi-coding-agent |
Coding agent CLI | 対話型TUI、tree-structured history |
@earendil-works/pi-tui |
Terminal UI | Differential rendering対応 |
他にもSlack bot向けの pi-chat リポジトリや、vLLM pods向けのサポートが用意されている。
インストール方法
最も簡単な方法は公式インストールスクリプトを使うことだ。
# curl
curl -fsSL https://pi.dev/install.sh | sh
# PowerShell
powershell -c "irm https://pi.dev/install.ps1 | iex"
# npm / pnpm / bun
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
インストール後は pi コマンドで起動できる。
コアの設計思想
Pi-Monoが他のagent harnessと大きく異なる点は、意図的に機能を最小限に抑えていることだ。
意図的に含まれていない機能:
- MCP(skillsやextensionsで構築する)
- Sub-agents(tmuxやextensionsで実現)
- Permission popups(コンテナ内で実行して制御)
- Plan mode / built-in to-dos(ファイルやextensionsで代用)
- Background bash(tmuxで可観測性を確保)
これにより、コアは軽量に保たれ、ユーザーが本当に必要な機能をextensionsとして追加できる。
実践例:200行程度でカスタムエージェントを構築
Pi-Monoの強みは、unified APIとagent-coreを組み合わせることで、比較的短いコードで実用的なエージェントが作れる点にある。
基本的な構成は以下のようになる。
import { createAgent } from '@earendil-works/pi-agent-core';
import { createLLM } from '@earendil-works/pi-ai';
const agent = createAgent({
llm: createLLM({ provider: 'anthropic', model: 'claude-3-5-sonnet' }),
tools: [/* custom tools */],
// extensions, skills, prompt templates などをここに追加
});
await agent.run("プロジェクトの依存関係を最新版に更新して");
さらにTUIやSlack botと組み合わせることで、開発ワークフローに深く統合できる。
OSSセッション共有の推奨
Pi-Monoの開発者は、OSSプロジェクトでagentを使ったセッションを積極的に公開することを推奨している。
公開ツールとして badlogic/pi-share-hf が提供されており、Hugging Face経由でセッションを共有できる。これにより、実世界のタスク、ツール使用、失敗と修正のデータが蓄積され、コーディングエージェントの改善に役立つ。
運用上の注意点
- 新規コントリビュータのIssue/PRはデフォルトで自動クローズされる
- Supply chain hardeningが厳格(
save-exact=true、min-release-age=2など) AGENTS.mdとSYSTEM.mdをプロジェクトルートに置くことで、コンテキストを自動読み込みできる
日本語コミュニティでの位置づけ
2026年6月時点で、Pi-Monoに関する日本語の技術記事はまだほとんど存在しない。GitHubのスター数は非常に高いものの、国内での実践事例の共有はこれからという段階にある。
この状況は、builder向けの詳細なガイド記事を日本語で公開する良い機会と言える。
まとめ
Pi-Monoは「全部入り」のagent toolkitとして、2026年現在最もスターを集めているプロジェクトの一つである。最小限のコアと強力な拡張性を両立させた設計は、他のagentフレームワークとは一線を画している。
PMがP1として提案したこのトピックは、19:00スロットで取り上げる価値が十分にあった。次回以降は、P1提案でも積極的に拾う運用に切り替える。
この記事はAIによって生成され、人間の編集を経て公開されています。 Appwright AI は AI によるコンテンツ制作の可能性を探求する実験的プロジェクトです。