小さく柔軟なコーディングエージェントPiに注目すべき理由
PiとDeepSeek V4.1-Flashの組み合わせは、RealWorldバックエンド実装実験の3回すべてを完走しました。最速の実行時間は1.9分で、Piが記録したコストの換算値は$0.037でした。1

チョン・ドヒョン - ROBOCO首席コンサルタント
コーディングエージェントは数多くあります。Claude CodeやCodexのようにモデル開発元が提供するものも、複数のモデルを接続する独立系のものもあります。機能は増え続けていますが、実際の作業ではエージェントの動作を変えられなかったり、不要な手順に従わなければならなかったりします。Piは、この点で目を引きます。中核を小さく保ち、必要な機能を利用者が追加できるエージェントです。2
この記事では、Piを作ったのは誰か、どのように動くのか、そして私たちのRealWorldバックエンド実装ベンチマークでどのような結果を出したのかを見ます。
TL;DR
- Piはマリオ・ゼクナーが作った小さなコーディングエージェントです。基本ツールを組み合わせ、必要な機能を追加する方法はUnix哲学を思い起こさせます。
- RealWorldバックエンドのベンチマークでは、Piと5つのモデルの組み合わせがそれぞれ3回すべて完走しました。DeepSeek V4.1-Flashの最速記録は1.9分・換算コスト$0.037ですが、1回の記録を通常の性能とはみなせません。
- Piは
AGENTS.mdやCLAUDE.mdなどのプロジェクト指示を再利用でき、DeepSeek V4.1-Flashの公開された重みは自社環境にも配置できます。エージェント固有の設定とセルフホスティング時の性能は別途確認が必要です。
1. Piを作ったのは誰か
Piを作った**マリオ・ゼクナー(Mario Zechner)は、長年オープンソースソフトウェアに携わってきた開発者です。代表作のlibGDXは、複数のプラットフォーム向けにゲームを開発するフレームワークです。JVMアプリケーションをiOSで動かすRoboVM**にも早くから参加し、デバッガーを開発しました。これらのプロジェクトを通じて、開発者向けツールとオープンソースコミュニティに関わってきました。3
ゼクナーは複数のAIエージェントを作り、既存のコーディングツールを使う中で、モデルに何が送られるのかを把握し制御しにくいと感じました。セルフホストしたモデルとの連携にも不満がありました。そこで複数のモデル提供元をつなぐpi-ai、ツール実行のループを担うpi-agent-core、ターミナル画面を担うpi-tui、それらをまとめるpi-coding-agentを作りました。必要のない機能は中核に入れないという判断も、この開発から生まれています。4
Flaskを作った**アルミン・ロナハー(Armin Ronacher)はPiを利用し、公開の場でも紹介してきました。2026年4月、ゼクナーはPiとともにロナハーが所属するEarendil**に加わりました。ゼクナーの説明によると、現在はロナハー、コリン・ハンナとともにPiの技術方針やロードマップを決め、自ら開発を主導しています。53
2. 小さな中核に必要な機能を足す
Piの基本的な動きは単純です。利用者の依頼、現在の会話、プロジェクトの指示、使用可能なツールをモデルに送ります。モデルがツールを呼び出すとPiが実行し、その結果をモデルに返します。作業が終わるまで、この流れを繰り返します。基本ツールはファイルの読み取り、書き込み、編集、シェルコマンドの実行の4つです。26
中核が小さくても、できる作業が限られるわけではありません。公式サイトによると、拡張機能で新しいツールやコマンド、画面要素を追加でき、スキルやプロンプトテンプレートも使えます。標準では提供しないサブエージェントや計画モードも、必要に応じて拡張できます。会話履歴はツリーとして保存されるため、過去の時点から分岐でき、作業中にモデルを切り替えることもできます。2 Piは利用者が変更できるエージェントの実行環境と捉えられます。
この設計がすべての作業を速くするわけではありません。一方で、システムプロンプト、ツール、文脈を利用者が把握し調整する余地は大きくなります。ゼクナーがPiの開発で重視したのも、この制御のしやすさでした。4
この作り方からは、一つの仕事をうまくこなす小さな道具を作り、それらを組み合わせて複雑な仕事を扱うUnixの考え方を思い出します。Piはファイルの読み取り、書き込み、編集、シェル実行を基本要素とし、それ以外は必要に応じて拡張します。開発者がUnix哲学を設計原則として明言したという意味ではなく、筆者が利用者として感じた共通点です。
3. 実際のバックエンド実装ではどうだったか
私たちのベンチマークでは、エージェントに新しいRealWorldバックエンドを実装させます。実行中に人がコードを修正することはありません。完走の条件は、公式Hurl検証の13ファイル・154リクエストを通過することです。比較の単位はモデル単体ではなく、モデル・エージェント・推論設定・接続方法の組み合わせです。7
PiではDeepSeek V4.1-Flash、kimi-k3、qwen3.8-max、Claude Opus 5.5、gpt-6-solをそれぞれ英語のプロンプトで3回ずつ実行しました。5つの組み合わせはすべて3回中3回完走しました。18
| Piの組み合わせ | 完走 | セッション時間の中央値 | コストに関する数値 |
|---|---|---|---|
| DeepSeek V4.1-Flash | 3/3 | 約3.3分 | Pi記録の換算値の中央値 $0.059 |
| Claude Opus 5.5 | 3/3 | 約3.9分 | 公開API単価による換算値の中央値 $0.81 |
| gpt-6-sol | 3/3 | 約4.4分 | 公開API単価による換算値の中央値 $0.27 |
DeepSeekの最速実行は1.9分、$0.037でした。1ドル=1,500ウォンと仮定すると約56ウォンです。「2分・55ウォン」という表現は、この1回の最速記録を丸めたものです。3回の中央値は約3.3分・$0.059で、コストは実際の請求額ではなく、Piが記録した単価による換算値です。1 ウォン換算額も為替レートによって変わります。
同じモデルを開発元のエージェントで動かした記録との比較も興味深いものです。英語条件では、Pi × Opus 5.5の中央値は3.9分・$0.81、Claude Code × Opus 5.5は4.2分・$1.25でした。Pi × gpt-6-solは4.4分・$0.27、Codex × gpt-6-solは4.9分・$0.43でした。8 二つのPiの組み合わせでは、出力トークンも比較対象より少なくなりました。ただし、実行時間の範囲は重なります。エージェントだけでなく、API経路、キャッシュ設定、実行時期も異なります。この差をPiだけの効果と断定することはできません。 課題は一つで、各条件の反復も3回だけです。
それでも、この結果には意味があります。Piは複数のモデルを接続して同じバックエンド課題を完走し、一部の組み合わせでは主要モデル開発元の専用エージェントと比較できる時間と低い換算コストを記録しました。現時点では「優位性の証明」よりも、実務で試す価値のある選択肢が増えたという結論が正確です。
筆者も現在、PiとDeepSeek V4.1-Flashを組み合わせてさまざまな作業を試しています。応答の速さと、作業を最後まで進める力が印象的でした。これは上記のベンチマークとは別の個人的な使用経験であり、どの作業でも同じ結果になるという意味ではありません。
DeepSeekの外部APIを使う際にデータの処理場所を懸念する組織には、別の導入方法もあります。DeepSeekはV4.1-Flashのモデル重みを公開し、モデルカードでローカル推論の方法も案内しています。必要なハードウェアと運用能力があれば、自社環境に配置できます。9 ただし、今回のベンチマークではDeepSeekのAPIを使用しました。セルフホスティングでも同じ速度やコストになると確認したわけではありません。
4. 既存のエージェント設定をどこまで再利用できるか
すでにClaude CodeやCodexを使っているプロジェクトでは、新しいエージェントのために設定を作り直すのは手間です。Piはプロジェクトの指示とスキルについて、その手間を減らせます。公式ドキュメントによると、Piは作業ディレクトリとその親ディレクトリにあるAGENTS.mdとCLAUDE.mdを文脈ファイルとして読み込みます。既存のプロジェクトルールをPiでも参照できます。10
スキルについては保存場所を確認する必要があります。Piは.pi/skills/と共通のAgent Skills用ディレクトリ.agents/skills/を探索します。既存のスキルが.claude/skills/または.codex/skills/にしかない場合は、Piのsettings.jsonでそのパスを追加できます。1112 複数のエージェントで共有するなら、.agents/skills/に置く方が簡単です。
ただし、Claude CodeやCodexの設定をすべてそのまま取り込むわけではありません。 Piはモデル、認証、拡張機能、キー操作を独自の.pi/と~/.pi/agent/のファイルで管理します。10 既存の指示やスキルが特定のツール名、フック、専用コマンドに依存する場合は、Piで動作を確かめ、必要な箇所を調整する必要があります。プロジェクトルールは引き継げますが、ツール固有の動作は自動的には移行しません。
5. サブスクリプションを使ったモデル選択
Piは複数の提供元のAPIキーとログイン方式に対応しています。今回のgpt-6-sol実験ではChatGPTサブスクリプションのOAuthログインを使いました。そのため、利用者はPiでGPTを動かし、Codexでの使用感と比べながら、自分に合う環境を選べます。28
Claudeについては条件を分けて考える必要があります。Anthropicはサードパーティー製ツールでClaudeを使う際、ConsoleのAPIキーまたは対応するクラウド事業者での認証を推奨しています。今回のPi × Opus 5.5実験でもAnthropicのAPIキーを使いました。813 ChatGPTサブスクリプションの利用とAPI単価による換算値を、同じ「実際の支出」として比較することはできません。サブスクリプションには利用上限があり、gpt-6-solの$0.27は比較用の換算値で、実際の請求額ではありません。8
結論
Piに注目すべき理由は、機能数が最も多いからではありません。4つの基本ツールから始めて作業方法に合わせて拡張でき、同じ環境で複数のモデルを試せます。ベンチマークでは5つのモデルの組み合わせがすべてバックエンド課題を完走しました。特にDeepSeekの最速記録は、時間と換算コストの両面で目を引きます。
次に必要なのは、一度の速い記録を超える検証です。モデルとAPI条件を揃えてエージェントだけを変え、繰り返し実行し、バグ修正や既存コードの変更でも結果が維持されるかを確かめる必要があります。Piはその比較に加える価値のあるコーディングエージェントです。
-
ROBOCO.IO、EXP-029 Piオープンモデル実験報告: https://github.com/roboco-io/coding-agent-benchmark/blob/main/experiments/029-pi-openweight/report.md ↩︎ ↩︎ ↩︎
-
Pi公式サイト: https://pi.dev/ ↩︎ ↩︎ ↩︎ ↩︎
-
Mario Zechner、「I’ve sold out」: https://mariozechner.at/posts/2026-04-08-ive-sold-out/ ↩︎ ↩︎
-
Mario Zechner、「What I learned building an opinionated and minimal coding agent」: https://mariozechner.at/posts/2025-11-30-pi-coding-agent/ ↩︎ ↩︎
-
Armin Ronacher、「Mario and Earendil」: https://lucumr.pocoo.org/2026/4/8/mario-and-earendil/ ↩︎
-
Pi公式ドキュメント、「How Pi Works」: https://pi.dev/docs/latest/how-pi-works ↩︎
-
ROBOCO.IO、コーディングエージェントのベンチマーク概要と方法: https://github.com/roboco-io/coding-agent-benchmark ↩︎
-
ROBOCO.IO、EXP-030 Piフロンティアモデル実験報告: https://github.com/roboco-io/coding-agent-benchmark/blob/main/experiments/030-pi-frontier/report.md ↩︎ ↩︎ ↩︎ ↩︎ ↩︎
-
DeepSeek、「DeepSeek-V4.1-Flash」モデルカードとローカル推論の案内: https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash ↩︎
-
Pi公式ドキュメント、「Configuration」: https://pi.dev/docs/latest/configuration ↩︎ ↩︎
-
Pi公式ドキュメント、「Skills」: https://pi.dev/docs/latest/skills ↩︎
-
Pi公式ドキュメント、「Settings Reference」: https://pi.dev/docs/latest/settings ↩︎
-
Anthropic Help Center、「Log in to your Claude account」: https://support.claude.com/en/articles/13189465-log-in-to-your-claude-account ↩︎