
ターミナルで動くAIコーディングエージェントは、Claude CodeやCodex CLI、CharmのCrushなど選択肢が増え続けています。その中で異色なのが「Pi」です。開発者のMario Zechner(GitHub: badlogic)が手がけるPiは、モデルに渡すツールをread・write・edit・bashの4つだけに絞り込んだ、極端なまでにミニマルな設計で知られています。
PiがLLM開発者コミュニティの外まで話題になったきっかけは、WhatsApp上で使えるAIアシスタント「OpenClaw」の裏側で、このPiが動いていると分かったことでした。Flaskの作者として知られるArmin Ronacherも自身のブログで「Pi: The Minimal Agent Within OpenClaw」というエントリーを書き、Piを“肥大化したハーネスの時代への異議申し立て”と評しています(https://lucumr.pocoo.org/2026/1/31/pi/ )。RonacherはPiやOpenClawの開発者ではありませんが、有力な利用者・提唱者であり、Piプロジェクトは現在、Ronacherの会社Earendil Inc.が運営するGitHub組織(earendil-works)に移管されています。
- この記事でわかること:Piの基本コンセプトと、なぜ“4ツールだけ”なのか。
- インストール方法と、Claude Pro/Max・ChatGPT Plus/Pro・GitHub Copilotなど既存サブスクリプションでの認証。
- 設定ファイルの置き場所と、AGENTS.md/CLAUDE.mdによるコンテキスト読み込み。
- あえて権限管理機能を持たないという設計判断と、コンテナ隔離の推奨。
インストールとモデル・プロバイダーの選び方
Piはnpmパッケージとして配布されています。現在の正式なパッケージ名は@earendil-works/pi-coding-agentで、`npm install -g --ignore-scripts @earendil-works/pi-coding-agent`でグローバルインストールできるほか、`curl -fsSL https://pi.dev/install.sh | sh`というインストールスクリプトも用意されています。インストール後はターミナルで`pi`と打つだけで起動します。もともとは開発者個人のnpmスコープ@mariozechner/pi-coding-agentで公開されていましたが、Earendil Inc.への移管に伴いパッケージも新しいスコープに移っています(GitHubリポジトリ: https://github.com/earendil-works/pi )。
Piは特定のモデルに紐づいていません。認証方法として、Anthropic Claude Pro/Max・OpenAI ChatGPT Plus/Pro・GitHub Copilotといった既存のサブスクリプションをそのまま使う方法と、Anthropic・OpenAI・Google・Azure OpenAI・DeepSeekなど30以上のプロバイダーのAPIキーを使う方法の両方に対応しています。起動中のモデル切り替えはCtrl+Lまたは`/model`コマンドで行い、Ctrl+Sで起動時のデフォルトモデルとして保存できます。
設定ファイルとコンテキストの読み込み
設定はグローバル(`~/.pi/agent/settings.json`)とプロジェクト単位(`.pi/settings.json`)の2階層で管理され、プロジェクト側の設定がグローバル設定を上書きします。プロジェクトの文脈情報としては、Claude Codeと同じ`CLAUDE.md`のほか、より汎用的な`AGENTS.md`を`~/.pi/agent/`および親ディレクトリから読み込む仕組みがあり、既存のClaude Code向けドキュメントをそのまま活用できます。
キーバインドはCtrl+C(クリア)、Ctrl+L(モデル選択)、Escape(キャンセル)、Shift+Tab(thinkingモードの切り替え)などが標準で用意されており、`/hotkeys`で一覧を確認、`~/.pi/agent/keybindings.json`でカスタマイズできます。
セキュリティ設計:権限管理機能をあえて持たない
実務で使う上でもっとも注意すべきなのがこの点です。公式リポジトリのREADMEには「Pi does not include a built-in permission system for restricting filesystem, process, network, or credential access(Piはファイルシステム・プロセス・ネットワーク・認証情報へのアクセスを制限する権限管理システムを内蔵していない)」と明記されています(https://github.com/earendil-works/pi )。CrushやClaude Codeが持つような、コマンド実行のたびに許可を確認する仕組みは標準では用意されていません。
その代わりにPiが推奨しているのが、Gondolin拡張・Docker・OpenShellといったコンテナによる隔離です。信頼できないコード上でPiを動かす場合や、本番環境に近いマシンで使う場合は、こうした隔離環境を用意した上で実行するのが前提になっている設計だと理解しておく必要があります。
サプライチェーン面では、直接依存パッケージのバージョンを厳密に固定し、shrinkwrapを生成した上で定期的にnpm auditを走らせていることもREADMEに記載されています。npmパッケージ経由で配布されるAIエージェントCLI特有のリスクを意識した運用だといえます。
まとめ:ハーネスを厚くしない、という選択
Piは、モデルの能力そのものを信頼し、ハーネス(エージェントの土台となるツール群)はできるだけ薄く保つという思想で作られたコーディングエージェントです。read・write・edit・bashの4ツールしか持たない割り切りは、Claude CodeやCrushのような多機能なエージェントとは対照的で、WhatsAppアシスタント「OpenClaw」がその実用例として支持を集めたことで、ミニマルなハーネス設計への関心が広がるきっかけになりました。
一方で、権限管理機能を持たないという設計は、便利さと引き換えにリスクも伴います。既存のClaude Pro/MaxやGitHub Copilotのサブスクリプションをそのまま使える手軽さに惹かれて試す場合も、Dockerなどの隔離環境を用意した上で使うことをおすすめします。
参考リンク
- GitHub リポジトリ(README・インストール手順、Earendil Inc.管理下)
- https://github.com/earendil-works/pi
- npm パッケージ(@earendil-works/pi-coding-agent)
- https://www.npmjs.com/package/@earendil-works/pi-coding-agent
- Armin Ronacher による解説記事「Pi: The Minimal Agent Within OpenClaw」
- https://lucumr.pocoo.org/2026/1/31/pi/
- 公式サイト
- https://pi.dev
