背景・課題
エージェント型開発プラットフォーム(Cursor, Claude Code, agy等)において、AIエージェントの迷走を防ぐためには「正しい手順(コンテキスト)」をどのように与えるかが極めて重要です。
現在、sunabaの各ツールは個別に詳細なdocstringを持っており、エージェントはそれを参照して呼び出しています。しかし、これには以下の課題があります:
- トークンの浪費: 28個の全ツールのdocstringが長いと、毎ターンのシステムプロンプトの固定コストが肥大化し、API利用料金や応答速度に悪影響を及ぼします。
- 競合と迷走: 各ツールに「〇〇のフェーズで使ってください」といった制御フローの指示が静的に分散して書かれていると、フェーズ移行時にエージェントが判断の矛盾を起こしやすくなります。
- エージェント非依存の制御が困難: エージェントごとに指示ファイル(
CLAUDE.md や AGENTS.md)の標準名や仕様が異なり、プロジェクトごとに指示書を準備するオーバーヘッドがあります。
提案
本MCP(sunaba)の設計を、**「静的なAPI仕様(docstring)」と「動的なワークフロー制御(Prompts/Metadata)」**に明確に分離することを提案します。
1. 各ツールの docstring を最小限に抑制(API仕様に特化)
各ツールの docstring は「機能説明と引数仕様(文法)」のみを極小で記述し、ワークフローに関するルールやコンテキストの記述をすべて削除します。これにより、コンテキストトークン消費量を劇的に節約します。
2. MCPの「Prompts」規格(prompts/list, prompts/get)の導入
MCPのプロトコル標準である Prompts を利用し、エージェントへ動的な指示を返します。
- 例えば
get_workflow_guide プロンプトを定義。
- サーバー側で、コンテナ内の現在の状態(Gitの変更差分、直近のテスト成否等)を動的にチェック。
- 現在のフェーズ(設計・実装 / 検証 / パブリッシュ)を特定し、最適な行動指示をMarkdownで組み立ててエージェント(システムプロンプト)に返します。
3. ツールの戻り値(Metadata)への「次の一手」のインジェクション
エージェントがファイル書き込みや型チェックなどのツールを実行した際、その実行結果(JSON)の末尾に、動的に recommended_next_action などのフィールドを追加して返します。
- 例: ファイル書き込み成功時 ➔
recommended_next_tool: "verify_in_container"
- エージェントは実行結果を読み込んで次の推論を行うため、この明示的な「次の一手」への推薦に誘導され、迷わずに正しいツールを呼び出せるようになります。
期待される効果
- エージェントの完全自律化の推進: 人間の「手動での軌道修正(
verifyを使え 等)」なしで、テスト実行からPRパブリッシュまでエージェントが一本道で動作できるようになります。
- コンテキスト効率の向上: 毎ターンの固定トークン消費が削減され、高速かつ安価にエージェントを実行できます。
- エージェント非依存:
instructions.md や Prompts はMCPサーバー側の標準機能であるため、接続するエージェント(Gemini, Claude, GPT等)を問わず一貫したルールを強制できます。
背景・課題
エージェント型開発プラットフォーム(Cursor, Claude Code, agy等)において、AIエージェントの迷走を防ぐためには「正しい手順(コンテキスト)」をどのように与えるかが極めて重要です。
現在、sunabaの各ツールは個別に詳細なdocstringを持っており、エージェントはそれを参照して呼び出しています。しかし、これには以下の課題があります:
CLAUDE.mdやAGENTS.md)の標準名や仕様が異なり、プロジェクトごとに指示書を準備するオーバーヘッドがあります。提案
本MCP(sunaba)の設計を、**「静的なAPI仕様(docstring)」と「動的なワークフロー制御(Prompts/Metadata)」**に明確に分離することを提案します。
1. 各ツールの docstring を最小限に抑制(API仕様に特化)
各ツールの docstring は「機能説明と引数仕様(文法)」のみを極小で記述し、ワークフローに関するルールやコンテキストの記述をすべて削除します。これにより、コンテキストトークン消費量を劇的に節約します。
2. MCPの「Prompts」規格(
prompts/list,prompts/get)の導入MCPのプロトコル標準である Prompts を利用し、エージェントへ動的な指示を返します。
get_workflow_guideプロンプトを定義。3. ツールの戻り値(Metadata)への「次の一手」のインジェクション
エージェントがファイル書き込みや型チェックなどのツールを実行した際、その実行結果(JSON)の末尾に、動的に
recommended_next_actionなどのフィールドを追加して返します。recommended_next_tool: "verify_in_container"期待される効果
verifyを使え等)」なしで、テスト実行からPRパブリッシュまでエージェントが一本道で動作できるようになります。instructions.mdやPromptsはMCPサーバー側の標準機能であるため、接続するエージェント(Gemini, Claude, GPT等)を問わず一貫したルールを強制できます。