Pi
設計上の軽量さ。標準でマルチモデル。
Piはシステムプロンプトを1,000トークン未満に抑えています — 多くの商用エージェントよりも一桁軽量です。エージェントロジックを書き換えずにモデルプロバイダーを切り替えられます。Ollamaで完全ローカル実行も可能です。createAgentSession()で任意のTypeScriptサービスに組み込めます。
Pi CLIMITbadlogic/pi-mono三つのモード
対話型
プログラマブル
ローカル / エアギャップはじめに
Piをインストール
npm install -g @earendil/pi-agent# macOS alternativebrew install earendil-works/tap/piモデルを設定
~/.pi/models.jsonを作成し、Piに1つ以上のプロバイダーを指定します。最初のエントリがデフォルトとして使われます。
{ "default": "anthropic-messages/claude-sonnet-4-5", "providers": { "anthropic-messages": { "apiKey": "sk-ant-..." }, "openai-completions": { "apiKey": "sk-..." }, "ollama": { "baseUrl": "http://localhost:11434" } }}Piを実行 — または組み込む
対話型ターミナルセッション:
pi# Switch model mid-session/model openai-completions/gpt-4o# Fork the current context into a branch/fork# View session tree/treeSDK経由でプログラマブルに:
import { createAgentSession } from '@earendil/pi-sdk';
const session = await createAgentSession({ model: 'anthropic-messages/claude-sonnet-4-5', systemPrompt: 'You are a financial analysis agent.', tools: ['read', 'write', 'bash'],});
for await (const event of session.run('Analyse Q1 revenue data')) { if (event.type === 'text') process.stdout.write(event.text);}標準ツール
| ツール | 提供形態 | 備考 |
|---|---|---|
| read | 標準 | ファイルおよびディレクトリツリーの読み取り |
| write | 標準 | ファイルの作成と上書き |
| edit | 標準 | 既存ファイルへの精密な編集 |
| bash | 標準 | シェルコマンドの実行。標準ではサンドボックスなし |
| Skills (Lazy) | アドオン | オンデマンドで読み込まれるカスタムスキル定義 — ベースのシステムプロンプトには含まれません |
| コミュニティプラグイン | アドオン | Piのツールセットを拡張するnpmパッケージ(Web検索、Slack、データベースなど) |
モデルプロバイダー
| プロバイダーキー | モデル | データ送信 |
|---|---|---|
| anthropic-messages | Claude Sonnet, Haiku, Opus | Anthropic API |
| openai-completions | GPT-4o, o3-mini, o1 | OpenAI API |
| google-generative-ai | Gemini 2.5 Pro / Flash | Google API |
| mistral | Mistral Large, Codestral | Mistral API |
| azure · bedrock | Azure OpenAI, AWS Bedrockホストモデル | 御社のクラウドリージョン |
| ollama · lm-studio · vllm | Llama 3, Mistral, Phi-3, Qwen, 任意のGGUF | なし — 完全ローカル |
Piの使い分け
コンテキスト効率が重要 — トークンを節約したい
Piのシステムプロンプトは1,000トークン未満に収まります。Claude CodeやCodexは命令だけでターン毎に8,000〜10,000トークンを消費します。1日に数千回エージェントを呼び出す大量パイプラインでは、このオーバーヘッドが急速に蓄積します。Piはコンテキストウィンドウのほぼ全体を実際のタスクデータに使えます。
マルチモデル・ルーティング — タスクごとに異なるモデル、同じエージェントロジック
Piのプロバイダー層がエージェントを基盤モデルから切り離します。高負荷な推論はClaude Opus、高速検索はGemini Flash、コスト重視のバッチ処理はMistral、機密データはローカルOllamaへ — プロバイダーごとにエージェントロジックを書き換えることなく、同じセッションやパイプライン内で振り分けられます。
データ主権 — トークンを外に出さない
PiをOllamaまたはLM Studioと組み合わせ、ローカルまたはオンプレミスのマシンで実行してください。データ送信ゼロ、APIキー不要、サードパーティへのログ送信なし。海事ISM Code記録、船員PII、機密契約書など、法域の所在地要件があるデータに最適な構成です。
SDK経由で自社プロダクトにエージェントを組み込む
@earendil/pi-sdkのcreateAgentSession()を使えば、Next.jsのAPIルート、Expressマイクロサービス、バックグラウンドワーカーなど、任意のTypeScriptサービスに完全なエージェントセッションを組み込めます。イベントのストリーミング、ツール呼び出しの傍受、並列探索のためのセッション分岐、終了時のクリーンな破棄が可能です。MITライセンスのため商用プロダクトでも摩擦なく利用できます。