agentHints: CLIsとエージェントの対話を実現する

従来のCLI出力は人間向けです。 エージェントには、構造化された結果、失敗の理由、および次のステップの提案が必要です。 `agentHints`は、プロダクトの知見を機械が読み取れるガイダンスへと変換します。

Oliver Kingsley

Oliver Kingsley

6 7月 2026

agentHints: CLIsとエージェントの対話を実現する

Apidog エンタープライズ

オンプレミスデプロイ

SSO & RBAC

SOC 2 準拠

Apidog Enterpriseを見る

これは、APIテストおよびAPIライフサイクル管理のためのコマンドラインツールであるApidog CLIがどのように開発されたかを共有する10部構成のシリーズです。順番に読むか、興味のある記事に直接飛んでください:

タイトル 焦点
1 私たちは126のMCPツールを構築しました。しかし、それはAgentにとって最善の解決策ではありません。 問題の発見
2 なぜ私たちは全く新しいApidog CLIを開発したのか アーキテクチャ開発
3 黄金律:CLIはファクトを生成し、モデルはファクトに基づいて行動する コア哲学
4 agentHints:CLIにAgentとの対話方法を教える 構造化された出力
5 SKILL:運用経験をコードとして出荷する 運用経験
6 数字は嘘をつかない:ツール呼び出し30%減、トークン25%減 定量的な結果
7 PRDからテストループまで:Apidog CLIを使用した完全なAgentワークフロー 実践チュートリアル
8 AgentツールにとってCI/CD互換性が不可欠である理由 DevOpsの視点
9 AIブランチ:AI Agentによるより安全なプロジェクト変更 セキュリティレイヤー
10 Spec-Firstは昨日。Skill-Firstへようこそ。 ビジョンと未来

従来のCLI出力は人間向けです。Agentは構造化された結果、失敗の理由、次ステップの提案を必要とします。agentHintsは、製品経験を機械可読なガイダンスに変換します。


CLI出力のギャップ

従来のCLI出力は**人間**向けに設計されています。

成功 失敗
「成功」または「完了」と表示 エラーメッセージを表示
作成されたリソースを表示する場合がある スタックトレースを表示する場合がある
人間が読み、次のステップを決定 人間が読み、デバッグ

これは人間には機能します。人間は:

しかし、Agentの動作は異なります。


Agentが本当に必要とするもの

Agentは単に結果を読むだけではありません。**結果を次のタスクチェーンに接続する**必要があります。

Agentが必要とするもの 理由
構造化された結果 プログラムによる出力の解析が必要
失敗の理由 一般的なメッセージではなく、具体的な詳細が必要
次ステップの提案 次に何をすべきかについてのガイダンスが必要

人間は「リソースが正常に作成されました」と見て、「おそらく作成されたものを確認し、その後いくつかのテストを実行すべきだ」と理解します。

Agentは「リソースが正常に作成されました」と見て…次に何をすべきか全く分かりません。


agentHints:ソリューション

Apidog CLIは、その出力にagentHintsを追加します。

典型的な応答は次のようになります:

{
  "success": true,
  "data": {
    "id": "12345",
    "name": "Health Check Test Case"
  },
  "agentHints": {
    "summary": "Test case created successfully.",
    "nextSteps": [
      "Read the created test case back to confirm structure.",
      "Add assertions if the test case needs response validation.",
      "Add the test case to a test scenario for integration testing.",
      "Run related tests after adding to scenario."
    ]
  }
}

3つのコンポーネント:

コンポーネント 目的
success + data 実際の結果
summary 人間が読める要約
nextSteps 機械が読める次ステップの提案

実行慣性の問題

私たちが観察した実際の問題は次のとおりです:

リソースを正常に作成した後、モデルはしばしば次の書き込みを直接生成し続けます。

例:

Agent: テストケースを作成
CLI: 成功を返す
Agent: (読み戻しなしに)すぐにテストシナリオを作成
Agent: すぐにテストを実行
結果: シナリオの構造が間違っており、テストが失敗

複雑なビジネスプロセスにおいて、**機械的な継続実行は適切ではありません。**

最も正しいアプローチはしばしば次のとおりです:

  1. リソースを作成
  2. **まず読み戻す**
  3. 構造を確認
  4. それから続行

読み戻しが重要な理由

読み戻しをスキップすると、実際の問題が発生します:

問題 原因
誤ったデフォルト値 サーバーがAgentが指定しなかったデフォルト値を埋める
関連IDの欠落 インポートが新しい内部IDを生成する可能性
構造的バリアント フロントエンドが特定のパースに依存する場合がある
誤った仮定 Agentが「想像」に基づいて続行する

実際の構造が読み戻されない場合、Agentは自身の推測に基づいて書き込みを続けがちであり、実際のデータに基づきません。


ナビゲーターとしてのagentHints

agentHintsは、製品経験を機械可読な次ステップの提案に変換します。

それは、**Agentが意思決定をする必要があるまさにその場所**に表示されます。

テストケース作成後の例:

{
  "agentHints": {
    "nextSteps": [
      "Read back the created test case with --with-case-detail flag.",
      "Validate any updates with cli-schema before writing.",
      "Run tests after completing test scenario."
    ]
  }
}

Agentは:

  1. 出力を読む
  2. agentHintsをパースする
  3. nextSteps[0]に従う:テストケースを読み戻す
  4. 実際の構造を確認する
  5. その後、正確な情報に基づいて続行する

CLIの役割変換

これにより、AgentワークフローにおけるCLIの意味が変化します。

古い役割 新しい役割
コマンド実行者 ワークフローナビゲーター
結果の表示 次のステップのガイド
人間が読める出力 Agentが読める構造
単発の応答 継続的なガイダンス

CLIは軽量なステータスナビゲーターになります。


組み込みのワークフローツリー

Apidog CLIには、組み込みの**何千ものツリー構造ワークフロー**があります。

これらは単なるハードコードされた提案ではありません。それらは:

機能 説明
コンテキストを意識 提案は特定の操作に合致
リソース固有 エンドポイント、テストケース、シナリオごとに異なるヒント
ワークフローを意識 提案は典型的なシーケンスを反映
エラーを通知 成功と失敗で異なる提案

テストシナリオの更新成功後の例:

{
  "agentHints": {
    "summary": "Test scenario updated successfully.",
    "nextSteps": [
      "Run the test scenario to verify changes.",
      "Check the test report for any failures.",
      "If failures occur, read back scenario steps for debugging."
    ]
  }
}

バリデーション失敗後の例:

{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Field 'comparator' has invalid value",
    "details": [...]
  },
  "agentHints": {
    "summary": "Validation failed. Fix the errors and re-validate.",
    "nextSteps": [
      "Review the error details in the output.",
      "Adjust the JSON file based on error suggestions.",
      "Re-run cli-schema validate before writing."
    ]
  }
}

失敗でさえもナビゲート可能になります。


agentHintsによるより安全なループ

agentHintsを使用した完全なワークフローを追ってみましょう:

ステップ1: Agentがテストケースを作成
        ↓
CLI出力: success + agentHints
        ↓
agentHints.nextSteps[0]: 「作成されたテストケースを読み戻す」
        ↓
ステップ2: Agentが読み戻す (実際の構造で)
        ↓
CLI出力: テストケース構造 + agentHints
        ↓
agentHints.nextSteps[0]: 「必要に応じてアサーションを追加」
        ↓
ステップ3: Agentがアサーションを追加する (実際の構造に基づいて)
        ↓
CLI出力: success + agentHints
        ↓
agentHints.nextSteps[0]: 「テストを実行」
        ↓
ステップ4: Agentがテストを実行
        ↓
CLI出力: テストレポート

すべてのステップがガイドされます。盲目的なジャンプはありません。仮定もありません。


比較:agentHintsありとなし

シナリオ agentHintsなし agentHintsあり
作成後 Agentは次の書き込みを続行 Agentはまず読み戻しを行う
更新後 Agentは成功を仮定 Agentは構造を確認
バリデーション通過後 Agentはすぐに書き込み Agentは書き込み後、読み戻しを行う
バリデーション失敗後 Agentはエラーに混乱 Agentは具体的な修正提案を得る
テスト実行後 Agentは合否を確認 Agentはデバッグガイダンスを得る

次は何ですか

CLIがAgentに次のステップをガイドできるようになった今、残る疑問は次のとおりです:

Agentはそもそもどのワークフローに従うべきかをどうやって知るのでしょうか?

第5部、SKILL:運用経験をコードとして出荷するでは、SKILLがどのようにワークフロー知識(いつコマンドを使用するか、どの順序に従うか、どのフィールドを推測すべきでないか)をパッケージ化するかを探ります。


主要なポイント


Apidogをダウンロードして、1つのワークスペースでAPIの設計モックテストドキュメント作成を行いましょう。コマンドラインAPIテスト、CI自動化、AI Agentワークフローに関するApidog CLIの詳細については、こちらをご覧ください。

ボタン

ApidogでAPIデザイン中心のアプローチを取る

APIの開発と利用をよりシンプルなことにする方法を発見できる