TL;DR: AIエージェントは、エンタープライズソフトウェアからUIを静かに剥ぎ取っています。APIとMCPを介して公開されるデータレイヤーが、新しいプロダクトサーフェスになりつつあります。APIチームは今四半期中に、APIコントラクト、MCP、意図ベースのスキーマ、エージェント権限、監査可能なアクションレイヤーを見直すべきです。
かつて、ユーザーインターフェースはB2Bソフトウェアにおける最も深い参入障壁でした。営業担当者はSalesforceで、サポートチームはZendeskで、調達チームはSAPで仕事をしていました。アクセス頻度、筋肉の記憶、フォームを通じてすべての入力を強制することでデータ衛生を徹底するインターフェースのあり方、それが参入障壁でした。その過程で保存されたのがデータでした。
その時代は終わりを告げています。AIエージェントは、ブラウザを開くことなく、APIを通じてエンタープライズデータを直接読み書きできるようになりました。Salesforceはすでに、データレイヤーをエージェントに公開するヘッドレス製品を発表しています。他のシステム・オブ・レコードも、数年遅れではなく、数週間遅れで追随しています。
つまり、UIが参入障壁でなくなるなら、APIが参入障壁になります。APIチームは、APIを「フロントエンド用の内部配管」ではなく、「人間以外のクライアントが推論し、選択し、実行するプロダクトサーフェス」として設計する必要があります。
「ヘッドレスソフトウェア」が実際に意味すること
ヘッドレスソフトウェアとは、APIを通じてデータレイヤーを公開し、エージェントが直接読み書きできるようにするエンタープライズソフトウェアです。UIがなくなるわけではありません。UIが唯一の入り口ではなくなるだけです。
これは「APIファースト」や「ヘッドレスCMS」とは異なります。
- APIファースト: ソフトウェアの設計手法
- ヘッドレスCMS: コンテンツ提供のアーキテクチャ
- ヘッドレスソフトウェア: データを消費・更新する主体が、人間のUI操作からエージェントに移る変化
この変化を可能にしている要素は主に3つです。
- LLMが監視なしでツールを計画・選択できるようになった
- MCPが、エージェントが外部システムを発見する方法を標準化し始めた
- データ抽出が安価になり、APIを囲い込んでも下位データを守れなくなった
データを読み書きする主体は、ブラウザを持った人間だけではありません。今後は、MCPアクセスと目的を持ったエージェントも主要な利用者になります。
もしあなたのAPIが「開発者が一度クライアントを作り、そのクライアントを人間が毎日使う」前提で設計されているなら、今すぐ見直すべきです。
もはや通用しない5つの定着要因
従来のエンタープライズシステムには、次のような定着要因がありました。
1. アクセス頻度
営業担当者は1日に何度もSalesforceにログインしていました。この反復が筋肉の記憶になり、ツール変更のコストを高くしていました。
しかし、エージェントには筋肉の記憶がありません。ツールを切り替えるコストは、設定ファイルや接続先を変更するコストに近づきます。
2. 読み書きワークフロー
データが常に動いているシステムでは、移行が危険でした。人間の業務がUIに張り付いていたからです。
エージェントは機械の速度で読み書きします。コントラクトが安定していれば、背後のデータベースやSaaSが何であっても気にしません。
3. 文書化されていないSOP
「10万ドルを超える取引にはVP承認が必要」といった、暗黙の業務ルールは今も強い参入障壁です。
ただし、エージェントがワークフローを実行するたびに、そのルールはどこかに読み取り可能な形でエンコードされていきます。暗黙知は徐々に明文化されます。
4. 内部の習慣ループ
朝会、レビュー、日次確認など、チームの日常業務は特定のUIを中心に形成されていました。
しかし業務がエージェント経由で流れるようになると、「全員が同じ画面を見る」こと自体が前提ではなくなります。
5. コンプライアンスの重要性
これは依然として残ります。規制リスクは、人間がデータを動かしたか、エージェントが動かしたかを問いません。
そのため、監査証跡、権限、再現性はさらに重要になります。
5つの参入障壁のうち4つは弱まりつつあります。残る1つ、つまりコンプライアンスと監査可能性こそが、新しい防御力になります。
APIチームが今四半期に行うべき5つの変更点
APIが新しいプロダクトサーフェスになるなら、APIチームは次の5つを優先すべきです。
1. APIを配管ではなく、プロダクトサーフェスとして扱う
「フロントエンドが呼び出すためのRESTエンドポイント」と、「エージェントが推論し、呼び出すことを選択するRESTエンドポイント」は別物です。
前者は、UIの都合で作られがちです。
- 命名が一貫していない
- フィールドの意味がドキュメント化されていない
- エラーが人間にも機械にも不親切
- 同じフィールドが文脈によって違う意味を持つ
エージェント向けAPIでは、コントラクトそのものがインターフェースになります。
AIエージェント向けにAPIを設計する場合は、少なくとも次を満たす必要があります。
- エンドポイント名が目的を表している
- リクエスト・レスポンスの形状が予測可能
- フィールド説明がOpenAPI仕様に書かれている
- エラーが修正可能な情報を返す
- 認証・権限・レート制限が明示されている
悪い例:
{
"error": "400 Bad Request"
}
良い例:
{
"error": {
"code": "missing_required_field",
"message": "必須フィールド customer_id がありません。",
"details": {
"field": "customer_id",
"expected": "この請求書が属する顧客のIDを指定してください。"
}
}
}
確認すべきテストは単純です。
有能なエージェントが、OpenAPI仕様とフィールド説明だけで、このAPIを正確に呼び出せるか?
古いUIのソースコードを読まないとエンドポイントの意味が分からないなら、そのAPIはまだプロダクトサーフェスではなく配管です。
2. RESTとGraphQLに加えてMCPを出荷する
RESTは、エージェントがAPIの存在を知った後で呼び出す方法です。MCPは、そもそもAPIが何をできるかをエージェントが発見する方法です。
MCPサーバーのないREST APIは、robots.txtやサイトマップのないWebサイトに近い状態です。技術的には呼び出せますが、到達したいシステムからは見えにくくなります。
既存APIを置き換える必要はありません。
- RESTは維持する
- GraphQLがあるなら維持する
- その上で、エージェントが利用できるMCPサーバーを追加する
Anthropic MCP仕様はコントラクトの標準化に役立ちます。Apidogは、それに関連するテストとドキュメント作業を進めるためのワークベンチとして使えます。
MCP対応を始めるときは、次の順序が実装しやすいです。
- 既存REST APIの主要ユースケースを棚卸しする
- エージェントに公開すべき操作だけを選ぶ
- MCP toolとして定義する
- 入力スキーマと説明文を明確に書く
- テスト用エージェントまたはMCPクライアントから呼び出す
- 認証、監査、レート制限を追加する
MCPとは何か、APIチームにとってなぜ重要なのかを把握したい場合は、私たちの詳細な解説をご覧ください。
3. CRUDオブジェクトではなく、意図と成果を中心にスキーマを再設計する
従来のシステム・オブ・レコードは、名詞を中心に設計されてきました。
- lead
- account
- contact
- opportunity
- ticket
- invoice
しかし、エージェントは名詞ではなく目標で考えます。
- 「解約寸前のアカウントをすべて見つける」
- 「昨日クローズした案件に対する提案書を作成する」
- 「夜間にP0チケットを開いたアカウントをエスカレートする」
そのため、次世代のAPIではCRUDオブジェクトだけでなく、タスク、意図、スレッド、ポリシー、成果を扱うレイヤーが必要になります。
これは、既存スキーマを一晩で書き換えるという意味ではありません。既存CRUDの上に、意図ベースのエンドポイントを追加するということです。
例:
POST /intents/capture
Content-Type: application/json
{
"intent": "lead_is_ready_to_buy",
"lead_id": "lead_123",
"source": "agent",
"confidence": 0.91,
"notes": "価格確認後、今週中に契約したいと回答"
}
レスポンス例:
{
"created": {
"opportunity_id": "opp_456",
"activity_id": "act_789",
"task_id": "task_101"
},
"next_actions": [
"send_proposal",
"notify_account_owner"
]
}
この設計では、エージェントは3つの別々のCRUD書き込みを組み立てる必要がありません。意図を送信し、API側が適切なレコード操作に変換します。
つまり、意図がAPIになり、CRUDは実装の詳細になります。
これらのパターンは、AIエージェントに対応するためのAPIに関するウォークスルーでも詳しく説明しています。
4. エージェントのIDとスコープ付き権限を解決する
すべてのエージェント呼び出しには、ユーザーとは別のIDが必要です。
APIは次の2つを区別できなければなりません。
- アリスがボタンをクリックした
- アリスのエージェントが、アリスの代わりに午前3時に操作した
この違いをログや権限で区別できない場合、監査、コンプライアンス、インシデント対応で問題が起きます。
最低限、次の情報をすべてのエージェントリクエストに含めるべきです。
X-Acting-On-Behalf-Of: user_123
X-Agent-Identity: support-agent@1.4.2
X-Agent-Session-Id: agsess_789
また、エージェント用トークンはユーザーの通常セッショントークンとは分離します。
悪い設計:
ユーザーのアクセストークンをそのままエージェントに渡す
良い設計:
ユーザー: user_123
エージェント: support-agent@1.4.2
スコープ: tickets:read, refunds:create:max_50
有効期限: 1時間
監査対象: agent_actions
現在のパターンについては、MCPセキュリティポリシーを参照してください。
5. 監査証跡とクローズドループフィードバックを備えたアクションレイヤーを構築する
新しい防御力は、レコードを保存することだけではありません。
重要なのは次のループです。
- アクションを実行する
- 結果を観測する
- 結果を監査可能に保存する
- フィードバックを使って次の意思決定を改善する
CRMデータを保持するだけのSaaSは、UI付きのデータベースです。一方、アクションを実行し、結果を観測し、時間とともに改善されるSaaSは、より強いプロダクトになります。
APIチームが実装すべき要素は3つです。
結果のコールバックまたはWebhook
エージェントがアクション結果を学習できるようにします。
POST /webhooks/action-results
{
"action_id": "act_123",
"status": "completed",
"outcome": "customer_refunded",
"amount": 25,
"timestamp": "2026-05-01T10:12:00Z"
}
再生可能なアクションログ
エージェントが何をしたかをデバッグできるように、入力、出力、状態遷移を保存します。
{
"action_id": "act_123",
"agent": "support-agent@1.4.2",
"acting_on_behalf_of": "user_123",
"input": {
"ticket_id": "ticket_456",
"requested_refund": 25
},
"output": {
"refund_id": "refund_789",
"status": "approved"
}
}
監査行
すべてのアクションには、最低限次を含めます。
- 入力
- 出力
- エージェントID
- 代理対象ユーザー
- 実行時刻
- 適用されたポリシー
- 可能であれば推論トレース
データを失うことなくエージェントワークフローをテストするは、この変化の運用版です。
未解決の部分:エージェントの権限付与
エージェント対応ソフトウェアの中で、最も未解決で重要なのが権限付与です。
問いはシンプルです。
どのエージェントが、誰に代わって、どのポリシーの下で、何を実行してよいのか?
2026年時点での正直な答えは、ほとんど誰もこれを完全には実装できていないということです。
- OAuthは委任されたユーザーアクセス向けに設計された
- RBACは人間の役割向けに設計された
- 監査ログはユーザー操作の追跡向けに設計された
エージェントには、これらとは少し違うモデルが必要です。
ただし、標準が確立される前でも、今すぐ実装できるパターンはあります。
今すぐ実装できる4つのパターン
1. エージェントIDごとのスコープ付きトークン
ユーザーのセッショントークンを、ユーザーに代わって動作するエージェントに再利用しないでください。
代わりに、エージェントごとに別トークンを発行します。
{
"sub": "agent:support-agent@1.4.2",
"acting_on_behalf_of": "user_123",
"scopes": [
"tickets:read",
"refunds:create:max_50"
],
"expires_in": 3600
}
トークンが漏洩した場合は、ユーザーではなくエージェントだけを失効できます。
2. すべてのリクエストに委任メタデータを含める
すべてのAPI呼び出しに、代理関係を表すヘッダーを付けます。
X-Acting-On-Behalf-Of: user_123
X-Agent-Identity: support-agent@1.4.2
X-Agent-Session-Id: agsess_789
エンドポイントロジックを大きく変えなくても、監査の品質が大幅に上がります。
3. エージェントアクション専用の追加専用監査ログ
エージェントアクションは、ユーザーアクションとは別の監査テーブルに保存するべきです。
理由は、クエリパターンが違うからです。
コンプライアンスチームは、次のように聞きます。
今週、エージェントは何をしたか?
人間の操作ログの中から探すのではなく、エージェント専用の監査ログで答えられるようにします。
例:
CREATE TABLE agent_action_audit_logs (
id UUID PRIMARY KEY,
agent_identity TEXT NOT NULL,
acting_on_behalf_of TEXT NOT NULL,
action_name TEXT NOT NULL,
input JSONB NOT NULL,
output JSONB,
policy_version TEXT NOT NULL,
created_at TIMESTAMP NOT NULL
);
4. ポリシーをコードとして管理する
各エージェントクラスが何を実行できるかを、バージョン管理された設定ファイルで宣言します。
例:
agents:
support-agent:
version: "1.4.2"
permissions:
- tickets:read
- customers:read
- refunds:create
constraints:
refunds:create:
max_amount: 50
denied:
- accounts:delete
- billing_methods:update
このファイルをGitで管理し、レビューし、テストします。
権限ポリシーはWikiページではなく、ビルド成果物であるべきです。
これらはいずれも完成した標準ではありません。しかし、今すぐ出荷できます。
Apidogが貢献できること
APIをプロダクトとして扱うなら、設計、コントラクト、モック、MCP、テスト、監査を1か所で処理できるワークベンチが必要です。
これこそが、私たちがApidogを構築した目的であり、上記5つの変化はApidogがすでにサポートしている作業と一致します。
変化1: APIをプロダクトとして扱う
スキーマファースト設計と自動生成ドキュメントにより、コントラクトをエージェントが読む単一の真実の情報源にできます。
変化2: RESTと並行してMCPを提供する
出荷前にMCPサーバーを検証するための専用のMCPサーバーテストツールを利用できます。
変化3: 意図に基づいたAPIをプロトタイプする
動的レスポンスを伴うモックにより、バックエンド実装前に意図エンドポイントを試作できます。エージェントクライアントに実際に呼び出させ、設計を検証できます。
変化4: 権限付与をテストする
環境管理を使ってエージェントトークンとユーザートークンを分離し、アサーションテストでポリシー強制を確認できます。
変化5: アクションレイヤーと監査を検証する
4月に出荷されたAI Agent DebuggerおよびA2A Debuggerにより、エージェント駆動のAPI呼び出しをエンドツーエンドでトレース、リプレイ、アサートできます。
まだ試したことがない場合は、Apidogをダウンロードして、既存のOpenAPI仕様を実行してみてください。モックサーバーだけでも、通常は移行費用を賄うことができます。
賭け
APIチームが今すぐ行うべき賭けは単純です。
API自体がプロダクトです。
APIが配管であるなら、それはコモディティです。APIがエージェントが推論し、選択し、信頼し、行動する表面であるなら、それが参入障壁になります。
今四半期に出荷するチームは、5年前に構築されたものとはまったく異なるAPIサーフェスを持つことになるでしょう。
待機するチームは、主要顧客から「なぜエージェント統合が正しく機能しないのか」と聞かれた後、2027年に期限に追われて書き直すことになります。

Top comments (0)