0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CodexとClaude Codeがあるのに、なぜPi Agentが必要なのか

0
Posted at

AIコーディングエージェントといえば、最近は CodexClaude Code がかなり強力です。

実際、

  • コードを読む
  • ファイルを編集する
  • コマンドを実行する
  • テストする
  • Gitを操作する
  • プロジェクト固有のルールを読み込む

といったことは、すでに普通にできます。

Claude Codeであれば CLAUDE.md、Codexでもプロジェクト固有の指示や設定を与えることで、かなり自分たちの環境に寄せることができます。

では、

CodexやClaude Codeがあるのに、なぜPi AgentのようなAgent Harnessが必要なのか?

という疑問が出てきます。

結論からいうと、

Pi Agentは「より賢いCoding Agent」ではなく、「自分たち専用のAgentを作るための基盤」だからです。

この記事では、その違いを実例ベースで整理します。


まず結論

かなり単純化すると、次の違いです。

Claude Code / Codex
    ↓
完成されたCoding Agentを使う

Pi Agent
    ↓
Coding Agentそのものを作る

普通に開発するだけなら、Claude CodeやCodexで十分です。

むしろ、その方が楽です。

一方で、

  • Agentの動作フローそのものを制御したい
  • 複数のLLMを使い分けたい
  • 独自Toolを強く制限したい
  • 社内システムにAgentを組み込みたい
  • 自社独自のAI開発基盤を作りたい

という話になると、Pi AgentのようなAgent Harnessが効いてきます。


Agent Harnessとは何か

まず、Pi Agentを理解するうえで重要なのが、

Agent Harness

という考え方です。

普通のLLMは、ざっくり言うと次のように動きます。

ユーザー
   ↓
プロンプト
   ↓
LLM
   ↓
回答

Coding Agentでは、ここにTool実行が加わります。

ユーザー
   ↓
LLM
   ↓
Tool Calling
   ↓
read / write / edit / bash
   ↓
実行結果
   ↓
LLM
   ↓
次の処理

つまり、

考える
↓
ファイルを読む
↓
修正する
↓
コマンドを実行する
↓
結果を見る
↓
さらに修正する

というループを回します。

この、

  • LLMを呼び出す
  • Toolを実行する
  • 状態を管理する
  • Contextを管理する
  • Agent Loopを回す

といった部分を担当するのがAgent Harnessです。

Claude CodeやCodexにも当然この仕組みがあります。

違いは、

そのHarnessを誰が管理しているか

です。


Claude CodeでもCLAUDE.mdでカスタマイズできる

ここは非常に重要です。

「Piなら自社ルールを書ける」という説明だけでは、Piを使う理由にはなりません。

Claude Codeでも CLAUDE.md に、

# Coding Rules

- ControllerにValidationを書かない
- LaravelではFormRequestを使う
- 本番DBではALTER TABLEを実行しない
- 修正後はphp artisan testを実行する
- phpstanとpintも確認する

と書けます。

さらに、

  • Skills
  • Hooks
  • Subagents
  • MCP
  • Permissions

などを組み合わせれば、かなり高度なカスタマイズができます。

そのため、

自社ルールを覚えさせたい

程度であれば、わざわざPi Agentを導入する必要性は高くありません。

ここはかなり重要なポイントです。


Pi Agentの違いは「Agent自体をプログラムできる」こと

Claude Codeでは、基本的に、

Claude Code
├── Agent Loop
├── Context管理
├── Tool実行
├── Permission
├── Subagent
└── その他の内部処理

という完成されたAgentの上で、

CLAUDE.md
Skills
Hooks
MCP

を使ってカスタマイズします。

一方、Pi Agentの場合は、

Agent Runtime
    ↓
自分でAgentを構成する

という思想に近くなります。

つまり、

Claude Code
=
Agentを設定する

のに対して、

Pi Agent
=
Agentを実装する

という違いです。


実例1:DB操作を確実に制限したい

例えば、本番DBをAIに調査させたいとします。

ただし、次の制約があります。

許可
- SELECT
- SHOW
- EXPLAIN

禁止
- INSERT
- UPDATE
- DELETE
- ALTER
- DROP

Claude Codeでも、CLAUDE.md に、

本番DBではUPDATE、DELETE、ALTER、DROPを実行しないこと

と書けます。

さらにHooksや権限管理を組み合わせることで、かなり安全にできます。

ただ、Pi Agentならさらに下のレイヤーで、

LLM
 ↓
Production DB Tool
 ↓
SQL Parser
 ↓
許可されたSQLだけ実行

というTool自体を作れます。

例えば概念的には、

if (!["SELECT", "SHOW", "EXPLAIN"].includes(command)) {
    throw new Error("Production DBでは実行できません");
}

とします。

すると、

SELECT
→ OK

EXPLAIN
→ OK

UPDATE
→ Tool側で拒否

DROP
→ Tool側で拒否

となります。

ここで重要なのは、

AIに「やるな」とお願いしているのではなく、そもそも実行できない

という点です。

企業システムでは、この差はかなり大きいです。


実例2:障害調査フローをAgent化する

例えばユーザーから、

サイトが重いので調査して

と依頼されたとします。

通常のCoding Agentなら、

nginxを確認
↓
PHP-FPMを確認
↓
DBを確認

とAIが判断して進めます。

しかし実際の運用では、調査フローが決まっていることがあります。

例えば、

1. nginx access.log
2. nginx error.log
3. PHP-FPM slowlog
4. CPU / Memory
5. Disk I/O
6. MariaDB PROCESSLIST
7. slow.log
8. replication delay
9. AWS CloudWatch
10. 原因候補をまとめる

というRunbookがあるとします。

Pi Agentなら、このRunbook自体をプログラムできます。

Incident Agent
      │
      ├─ Nginx Agent
      │
      ├─ PHP Agent
      │
      ├─ Database Agent
      │
      └─ AWS Agent
              ↓
         Review Agent
              ↓
        Incident Report

ユーザーは、

サイトが重い

と入力するだけ。

内部では、

CPU正常
↓
nginx正常
↓
PHP-FPM正常
↓
DBでLOCK WAIT検出
↓
slow query特定
↓
原因候補作成

と決められたフローで動きます。

これは単なるCoding Agentというより、

Runbookを実行するAIシステム

です。


実例3:複数のAIモデルを使い分けたい

Claude Codeの場合、基本的にはClaudeが中心です。

CodexならOpenAIモデルが中心になります。

一方、自社Agentでは、

設計
→ Claude

実装
→ GPT

大量ログ解析
→ Gemini

社内機密処理
→ Local LLM

のように使い分けたい場合があります。

イメージとしては、

                Main Agent
                    │
      ┌─────────────┼─────────────┐
      ↓             ↓             ↓
   Claude          GPT         Gemini
   設計担当        実装担当      ログ解析

Pi AgentのようにHarnessを自分で持っていれば、

モデルとAgent Runtimeを分離できます。

つまり、

自社Agent
   │
   ├─ Claude
   ├─ GPT
   ├─ Gemini
   └─ Local LLM

という構成にできます。

これは「どのモデルが一番強いか」という話ではありません。

タスクによって最適なモデルを選択する

という設計ができます。


実例4:専門Agentを組み合わせる

例えばLaravelの新機能を実装するとします。

依頼は、

口コミ機能を追加して

だけです。

普通のAgentなら、1つのAgentが、

設計
DB設計
実装
Security
テスト

まで担当します。

Pi Agentなら役割を分けることができます。

                 Main Agent
                      │
      ┌───────────────┼───────────────┐
      ↓               ↓               ↓
 Laravel Agent    Database Agent   Security Agent
      │               │               │
 API設計           schema設計       認可
 Controller        index           CSRF
 Service           EXPLAIN         XSS
      │               │               │
      └───────────────┼───────────────┘
                      ↓
                Review Agent

例えばDatabase Agentには、

- MariaDBの設計のみ担当
- EXPLAINを必ず確認
- index候補を提示
- Production DDLは禁止

というルールを持たせます。

Security Agentには、

- Auth
- Authorization
- CSRF
- XSS
- SQL Injection

だけを重点的にチェックさせます。

最後にReview Agentが、

Laravel Agent
Database Agent
Security Agent

の結果を統合します。

これは、

AIを開発組織のように構成する

という考え方です。


実例5:社内システムにAIを組み込みたい

ここがPi AgentのようなHarnessを使う、かなり大きな理由です。

Claude Codeは基本的に、

Developer
    ↓
Claude Code
    ↓
Repository

という開発者向けツールです。

一方で、自社管理画面に、

障害調査開始

というボタンを作りたいとします。

例えば、

----------------------------

障害調査

対象:
www.example.com

[ 調査開始 ]

----------------------------

ボタンを押すと、

nginx確認
↓
PHP-FPM確認
↓
MariaDB確認
↓
AWS確認
↓
AIによる原因分析

を実行します。

結果を、

CPU
正常

Memory
正常

nginx
異常なし

MariaDB
LOCK WAITを検出

原因候補
m_staffをJOINしているSQL

改善候補
INDEX追加を検討

のように社内画面に表示する。

こうなると、Claude Codeを使うというより、

Agent自体を自社システムの機能として実装する

という話になります。

Pi Agentが得意なのはこの領域です。


ではClaude CodeやCodexではできないのか?

ここは誤解しやすいところです。

答えは、

かなりのことができます。

Claude Codeには、

  • CLAUDE.md
  • Hooks
  • Skills
  • Subagents
  • MCP
  • Permissions

などがあります。

Codexもプロジェクト固有の設定やToolを利用できます。

そのため、

Claude Codeではできない
↓
だからPiを使う

という話ではありません。

むしろ、

Claude Codeでもできる

ケースはかなり多いです。

違いは、

どこまでを自分たちの責任範囲にしたいか

です。


比較するとこうなる

項目 Claude Code / Codex Pi Agent
すぐ使える
コード修正
Shell実行
プロジェクトルール
Skills
Subagent ○〜◎
Agent Runtimeの改造
Toolそのものの設計
独自Workflow
複数LLM
自社システムへの組込み
Agent製品の開発
メンテナンスコスト

Pi Agentを使わない方がいいケース

正直、かなり多いです。

例えば、

Laravelのバグを直したい

Reactのコードを書きたい

SQLを最適化したい

Dockerfileを修正したい

Terraformを書きたい

という用途であれば、

Claude CodeやCodexを使った方が簡単です。

Pi Agentを使うと、

Agent Loop
Tool設計
LLM Provider
権限制御
Context管理
Logging
Error Handling
Observability

などを自分たちで考える必要が出てきます。

つまり、

自由度の代わりに保守コストを引き受ける

ことになります。


Pi Agentが必要になる境界

では、どのタイミングでPi Agentが候補になるのか。

個人的には、次のような状況です。

毎回AIに同じ手順を指示している

例えば、

1. Issueを確認
2. branchを作成
3. Laravelを修正
4. Migration確認
5. Test
6. PHPStan
7. Pint
8. Security Check
9. Review
10. Pull Request作成

を毎回やっている。

これなら、

/implement ISSUE-1234

だけで全部動くAgentを作る価値があります。


また、

Claude Codeを使う人によって品質が違う

という問題にも対応できます。

人によって、

Aさん
「テストまでお願いします」

Bさん
「Securityも確認してください」

Cさん
「Migrationのrollbackも確認してください」

となるところを、

Company Agent

として標準化する。

すると、

誰が使っても

設計
↓
実装
↓
Test
↓
Security
↓
Review

という流れになります。


一番分かりやすい例え

Claude CodeやCodexは、

優秀な外部エンジニア

に近いです。

あなた
↓
「この機能を作って」
↓
AI
↓
実装

非常に優秀です。

一方、Pi Agentは、

AIエンジニアを作るためのフレームワーク

に近いです。

自社ルール
+
業務フロー
+
権限制御
+
Tool
+
複数LLM
+
専門Agent

を組み合わせます。

さらにWeb開発で例えるなら、

Claude Code / Codex
=
完成されたSaaS

に対して、

Pi Agent
=
Agent開発用Framework

です。


CLAUDE.mdとPi Agentの違い

この比較も分かりやすいと思います。

CLAUDE.md は、

Claude Codeを
自分たちの環境に合わせる

ためのものです。

一方、Pi Agentは、

自分たちのAgentを作る

ためのものです。

かなり乱暴に言えば、

CLAUDE.md
=
Claude Codeを自社向けに教育する

のに対して、

Pi Agent
=
自社版Claude Codeを作る

という違いです。


まとめ

CodexやClaude Codeがある現在、

単純にAIコーディングをしたいだけなら、Pi Agentは必要ありません。

Claude CodeやCodexはすでに十分強力です。

Pi Agentが必要になるのは、

AIにコードを書いてもらいたい

から、

AIを使った開発システムそのものを作りたい

に目的が変わったときです。

整理すると、

Codex / Claude Code

「AI Agentを使う」

に対して、

Pi Agent

「AI Agentを作る」

という違いがあります。

Agent Harnessを自分で持つことで、

  • 独自Tool
  • 独自権限制御
  • 独自Workflow
  • 複数Agent
  • 複数LLM
  • 社内システムへの組込み

まで自由に設計できます。

その代わり、

  • 開発
  • 保守
  • セキュリティ
  • Context管理
  • Tool管理

も自分たちの責任になります。

そのため、

Claude CodeよりPi Agentの方が優れている

という話ではありません。

用途が違います。

最終的には、

Coding Agentを使いたい
→ Claude Code / Codex

Coding Agentを作りたい
→ Pi Agent

くらいで考えると、かなり分かりやすいと思います。

個人的には、Pi Agentの価値は「AIの性能」ではなく、

Agentの働き方そのものをソフトウェアとして設計できること

にあると思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?