Pi 調査レポート
1. 基本情報
- ツール名: Pi
- ツールの読み方: パイ
- 開発元: Earendil Inc.
- 公式サイト: https://pi.dev/
- 関連リンク:
- GitHub: https://github.com/earendil-works/pi
- ドキュメント: https://pi.dev/docs/latest
- カテゴリ: 自律型AIエージェント
- 概要: Earendil Inc.によって開発された、最小限のシステムプロンプトと高い拡張性を特徴とするオープンソースのAIエージェントハーネス。ターミナル上で動作し、開発者のワークフローに合わせて自在にカスタマイズや機能拡張が可能な基盤を提供する。
2. 目的と主な利用シーン
- 解決する課題: 既存のAIエージェントツールが固定の機能や重厚なプロセス(サブエージェント、固定の計画モードなど)を強制することへの不満を解消し、ユーザー独自のワークフローに最適化されたエージェントの構築を支援する。
- 想定利用者: ソフトウェアエンジニア、データサイエンティスト、AIエージェントの開発者。
- 利用シーン:
- ターミナルでのコード作成、リファクタリング、シェルスクリプト実行、プロジェクトのタスク処理。
AGENTS.mdやカスタムのSYSTEM.mdを用いた、プロジェクト固有のルールの学習やコードベース全体の把握。- 拡張機能(Extension)を用いた長期間稼働する実験的なエージェントアプリケーションや独自ワークフローの構築。
3. 主要機能
- Codemode: エージェントがTypeScript(JavaScript)を記述し、専用のQuickJSサンドボックス内で実行。ツールを並行して呼び出したり、ロジックを構成して高度なタスクを処理できる。
- Model Context Protocol (MCP): HTTPやstdioを介してMCPサーバーと接続し、外部リソースやツールの情報をエージェントからネイティブに利用可能。
- コンテキスト・エンジニアリング:
SYSTEM.mdやAGENTS.md、スキル、プロンプトテンプレートを用いて、状況に応じた最小限のプロンプトを構築できる。トークン消費を抑えながらプロジェクト固有の文脈を維持する。 - セッションのツリー管理: 会話履歴はツリー構造の単一ファイルとして保存され、任意の過去メッセージに戻ってそこから別の分岐(ブランチ)を開始することが可能。
- マルチモデル対応: Anthropic, OpenAI, Qwen, Google, DeepSeek, xAI, Local (llama.cpp) など、15以上のプロバイダーと数百のモデルをサポートし、セッションの途中でシームレスに切り替えることができる。
- 拡張性 (Extensions): サブエージェント、TODOモード、独自UIコンポーネントなどの機能を、TypeScriptの拡張モジュールとしてユーザー自身が定義・導入可能。
4. 動作原理・システム構成
- アーキテクチャ: ローカルファーストのクライアント・サーバー構成(LLMプロバイダーへのAPIリクエストを除く)。Node.js(内部的にはTypeScriptとQuickJSによるサンドボックス等を含む)上で動作するCLIアプリケーション。
- 主要コンポーネントとデータフロー:
- ユーザーのターミナル入力を受け付け、設定されたプロバイダー(OpenAI, Anthropic等)のAPIエンドポイントへプロンプトを送信。
- 会話履歴(セッション)はローカルのJSONL等のツリー形式で保存・管理。
- エージェントは
Codemodeを通じてQuickJSサンドボックス内でスクリプトを実行し、ファイル操作やMCP経由での外部ツール呼び出しを行う。
- 特筆すべき要素技術:
- QuickJSサンドボックス:
Codemodeでエージェントが生成したコードを安全に実行し、組み込みツールへのアクセスを管理。 - MCP (Model Context Protocol): OAuth認証やHTTPストリーミング、標準入出力を用いたMCPサーバーとの動的連携をサポート。
- QuickJSサンドボックス:
5. 開始手順・セットアップ
- 前提条件:
- Node.jsなどの特定のランタイムはインストーラが自動でバンドルや設定を処理するが、パッケージマネージャ(npm, pnpm等)でのインストールも可能。
- 利用するLLMプロバイダーのAPIキーが必要(または/loginからOAuth認証等を使用)。
-
インストール/導入:
# スクリプトでのインストール(推奨) curl -fsSL https://pi.dev/install.sh | sh # npm等でのインストール npm install -g --ignore-scripts @earendil-works/pi-coding-agent - 初期設定:
- 初回起動時にプロバイダーを選択するか、
pi /login openaiのようにコマンドを実行してAPIキーやOAuthを設定する。
- 初回起動時にプロバイダーを選択するか、
- クイックスタート:
- ターミナルで
piと入力して起動。インタラクティブモード(TUI)が立ち上がり、チャット形式で指示を出すことができる。
- ターミナルで
6. 特徴・強み (Pros)
- 徹底したミニマリズムと拡張性: 標準では不要な機能を省き、非常に軽量なシステムプロンプトで動作するため、コンテキストウィンドウを有効活用できる。必要に応じてTypeScript拡張やMCPで自在に機能を追加できる。
- Codemodeによる高度な自律性: 単純なツール呼び出しの連続ではなく、JSスクリプトを実行してツールをオーケストレーションするため、トークン消費を抑えながら複雑なタスクを効率よくこなせる。
- セッションのツリー構造:
/treeコマンドで会話のブランチを視覚的に管理・移動できるため、「この方針は失敗したので、3つ前のやり取りから別のモデルでやり直す」といった試行錯誤が容易。 - 多様なモデルのサポート: 最新のフロンティアモデルから、オープンソースモデル、Jevなどの分類器モデルまで幅広く対応し、利用シーンやコストに応じて柔軟に選択できる。
7. 弱み・注意点 (Cons)
- 高い学習コスト: 機能を自分好みに組み上げる(拡張機能やパッケージの作成、MCPの設定など)には、一定のプログラミング知識や設定ファイルの理解が必要。
- 日本語対応: UIや公式ドキュメントは主に英語である(ただし、利用するLLM自体は日本語でのやり取りが可能)。
- サブエージェントなどの非搭載: サブエージェントや複雑な計画モードは標準搭載されておらず、必要であれば拡張機能として追加するか、Pi自身に書かせる必要がある。
8. 料金プラン
Pi自体はオープンソースであり無料で利用可能。ただし、接続する各LLMプロバイダーのAPI利用料はユーザー負担となる。
| プラン名 | 料金 | 主な特徴 |
|---|---|---|
| 無料(OSS利用) | 無料 | ツールの全機能、ローカルモデルの利用等が可能。別途API利用料が必要。 |
- 課金体系: 各種LLMプロバイダー(OpenAI、Anthropicなど)への従量課金、またはサブスクリプション。
9. 導入実績・事例
- 導入企業: 特定のエンタープライズ導入事例は公開されていないが、GitHubで11万以上のStarを集め、多数の開発者やAIビルダーに利用されている。
- 対象業界: ソフトウェア開発、AI研究、DevOpsなど、ターミナル作業が主体の業界・職種。
10. サポート体制
- ドキュメント: 公式ドキュメントサイト(https://pi.dev/docs/latest)にて、設定方法、Codemode、拡張機能の作り方などが詳細に解説されている。
- コミュニティ: 活発なDiscordサーバーがあり、ユーザー間の知見共有や拡張機能(パッケージ)の公開が行われている。
- 公式サポート: GitHub Issuesでのバグ報告や機能要望の対応。オープンソースプロジェクトとしてのコミュニティサポートが主体。
11. エコシステムと連携
11.1 API・外部サービス連携
- API: ターミナルアプリとしてだけでなく、
pi -p "query"のような印刷モードや、JSONイベントストリームモード、RPCプロトコル、TypeScript SDKなど、他のアプリケーションへ組み込むためのAPIやモードを多数備えている。 - 外部サービス連携: MCPを介して、GitHub、ローカルファイルシステム、データベース、各種クラウドサービス(Cloudflare, AWS等)との連携が可能。
11.2 技術スタックとの相性
| 技術スタック | 相性 | メリット・推奨理由 | 懸念点・注意点 |
|---|---|---|---|
| TypeScript/Node.js | ◎ | Piの拡張機能やパッケージはTypeScriptで記述されるため、ネイティブに統合しやすい。 | 特になし |
| Bash/ターミナル環境 | ◎ | CLIファーストの設計であり、シェルスクリプトやtmuxとの相性が抜群。 | Windows環境ではPowerShell設定等の考慮が必要。 |
| MCP対応ツール | ◎ | Codemodeからのシームレスな呼び出し、OAuth設定などのサポートが充実。 | - |
12. セキュリティとコンプライアンス
- 認証: OAuth 2.0に対応し、MCPサーバーや各LLMプロバイダーへのセキュアな認証をサポート(クライアントID登録やメタデータドキュメントのサポート)。
- データ管理: 会話ログや設定はローカルファイルシステム(
~/.pi等)に保存される。利用するプロバイダー側のデータ管理ポリシーに依存する。 - アクセス制御:
Codemodeのサンドボックス内でツールを実行するが、基本的にツールはPiプロセスの権限で動作する。信頼できないリポジトリやパッケージを利用する際は隔離環境(コンテナ等)での実行が推奨されている。
13. 操作性 (UI/UX) と学習コスト
- UI/UX: ターミナル上でリッチなTUI(テキストユーザーインターフェース)を提供。v1.0.0からはデフォルトでフルスクリーンモードになり、独立したスクロール、履歴検索、Mermaid図のレンダリングなど、モダンなIDEに近い操作感を実現している。
- 学習コスト: 単純なチャット用途であれば容易だが、MCPサーバーの設定、
Codemodeを活用した自律タスクの定義、独自のTypeScript拡張モジュールの作成などを使いこなすには相応の学習が必要。
14. ベストプラクティス
- 効果的な活用法 (Modern Practices):
- プロジェクトごとに
AGENTS.mdを配置し、システムプロンプトをカスタマイズして、コンテキストを最適化する。 - 長時間のビルドやテストなど、ターミナルで時間のかかる処理を実行する場合は、Piの
Codemodeにスクリプトを生成させ、別プロセスでバックグラウンド実行(またはtmux上での実行)を管理させる。
- プロジェクトごとに
- 陥りやすい罠 (Antipatterns):
- あらゆるツールやMCPサーバーを無差別に有効化すること。プロンプトサイズが肥大化し、LLMの精度低下とコスト増を招く。必要なツールのみを
--tools等で絞り込む。 - 信頼性の低いオープンソースプロジェクトのディレクトリでPiに高い権限を持たせたまま実行すること。
- あらゆるツールやMCPサーバーを無差別に有効化すること。プロンプトサイズが肥大化し、LLMの精度低下とコスト増を招く。必要なツールのみを
15. ユーザーの声(レビュー分析)
- 調査対象: GitHub、X (Twitter)、ブログ記事等
- 総合評価: 開発者コミュニティから極めて高い支持を得ている(GitHub Star数11万超)。
- ポジティブな評価:
- 「システムプロンプトが最小限で済むため、無駄なトークンを消費せず、自分好みのエージェントに仕立てられる。」
- 「Codemodeの導入により、エージェントが自律的にスクリプトを書いて複数ツールを扱う能力が格段に向上した。」
- 「セッションツリー機能により、異なるモデルやアプローチでのやり直しが非常に直感的。」
- ネガティブな評価 / 改善要望:
- 「設定や拡張機能の作成はプログラマ向けであり、導入のハードルが高い。」
- 「フルスクリーンTUIは高機能だが、標準のターミナルスクロールバックを使いたい場合に設定変更が必要。」
16. 直近半年のアップデート情報
- 2026-10-05: (v1.0.4) ツールパターンのサポート強化(
--toolsや--exclude-toolsでのワイルドカード指定)、Codemodeでの画像生成と保存機能の追加。 - 2026-10-01: (v1.0.0) 正式版「Pi 1.0」リリース。Codemode、MCPのネイティブサポート、フルスクリーンTUIのデフォルト化、コンテキストキャッシュのウォーミング機能などを搭載。また実験的パッケージ「Pi Durable」を発表。
- 2026-09-29: (v0.99.0) CodemodeとMCPサポートをビルドイン。仮想モデル(Virtual models)によるリクエスト単位でのルーティング、システムカラーテーマのデフォルト化、ChatGPTサブスクリプションでのログインサポート。
- 2026-09-21: (v0.87.0) カノニカルなセッションコンテキストの導入。履歴を書き換えずにモデルのコンテキストを編集可能になり、ライフサイクルフックが追加。
- 2026-09-04: (v0.85.0) TUIフルスクリーンモードの導入、MermaidやLaTeXのレンダリング対応。高度なサンプリングパラメータ(vLLMの思考トークン予算など)の設定が可能に。
(出典: Pi Changelog )
17. 類似ツールとの比較
17.1 機能比較表 (星取表)
| 機能カテゴリ | 機能項目 | 本ツール | Cline | OpenHands | Cursor |
|---|---|---|---|---|---|
| 基本機能 | コード生成・編集 | ◯ Codemode経由 |
◯ VS Code内で実行 |
◯ 独立コンテナ |
◎ IDEネイティブ |
| カテゴリ特定 | CLIファースト | ◎ 強力なTUI |
× VS Code拡張 |
△ ブラウザUIメイン |
× IDE |
| 拡張性 | MCP・ツール連携 | ◎ ネイティブかつ高度に制御可能 |
◯ MCP対応 |
△ 対応中 |
△ 限定的 |
| 非機能要件 | カスタマイズ性 | ◎ TS拡張やパッケージ作成が容易 |
◯ システムプロンプト等 |
◯ アーキテクチャ拡張可能 |
△ IDE側の制限あり |
17.2 詳細比較
| ツール名 | 特徴 | 強み | 弱み | 選択肢となるケース |
|---|---|---|---|---|
| 本ツール | ミニマルなCLIエージェント基盤 | 拡張性が極めて高く、Codemodeによる効率的なタスク処理 | セットアップや拡張の学習コストが高い | ターミナル中心のワークフローを持ち、エージェントの挙動を細かく制御したいエンジニア |
| Cline | VS Code/Claude向けの強力なエージェント拡張 | IDEと密接に統合され、ファイル操作やターミナル操作がシームレス | VS Code等に依存。独自のCLI環境には適さない | VS Codeをメインに使用し、すぐに自律型エージェントの恩恵を受けたい場合 |
| OpenHands | 分離された環境で動作する汎用AIエージェント | 安全なコンテナ環境で複雑なタスクを長期間実行可能 | ローカルの既存環境(IDE等)との直接連携がやや弱い | ホスト環境を汚さずに、リポジトリ全体の調査や大規模な自動化を行わせたい場合 |
| Cursor | AIネイティブな専用コードエディタ(IDE) | 補完、コード生成、チャットがエディタ上で完璧に統合 | 独自エディタ(VS Codeフォーク)への移行が必要 | エディタ環境全体をAIファーストに移行し、コーディング速度を最大化したい場合 |
18. 総評
- 総合的な評価: Piは、AIエージェントの挙動をブラックボックス化せず、ユーザー自身が制御し、ワークフローに合わせて拡張できる点において非常に優れた設計を持つツールである。バージョン1.0のCodemodeやMCPのネイティブサポートにより、プロンプトのトークン消費を抑えながらより高度なタスク実行が可能となった。
- 推奨されるチームやプロジェクト: ターミナルでの操作に慣れ親しんだ開発者、CLIツールを組み合わせて独自のパイプラインを構築しているチーム、また特定ドメイン向けのカスタムエージェントを構築したい開発者。
- 選択時のポイント: VS CodeなどのIDEに完全に統合された体験(CursorやCline)を求めるか、ターミナルから呼び出せてあらゆるツールと連携できる汎用的かつカスタマイズ可能な基盤(Pi)を求めるかが大きな分かれ目となる。