黄金律:CLIは事実を生成し、モデルは事実に基づいて動作する

モデルにすべてのルールを記憶させるのではなく、ルールは適切な場所で実行されるようにしましょう。cli-schema validateは、スキーマを知識から品質ゲートへと変えます。

Oliver Kingsley

Oliver Kingsley

6 7月 2026

黄金律:CLIは事実を生成し、モデルは事実に基づいて動作する

Apidog エンタープライズ

オンプレミスデプロイ

SSO & RBAC

SOC 2 準拠

Apidog Enterpriseを見る

Apidogが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 仕様先行は過去のもの。スキル先行へようこそ。 ビジョンと未来

モデルにすべてのルールを記憶させないでください。ルールは適切な場所で実行されるべきです。cli-schema validateは、スキーマを知識から品質ゲートへと変えます。


核となる原則:ルールは適切な場所で実行されるべきである。

私たちは経験から一つの核となる原則を導き出しました。

モデルにすべてのルールを記憶させないでください。ルールは適切な場所で実行されるべきです。

これはAgentの評価から得られた教訓に似ています。

指標タイプ 属する場所
決定論的指標 スクリプト、コード、自動チェック
意味的判断 LLM、モデル推論

Apidog CLI + SKILLでは:

内容 場所
決定論的構造検証 CLI (cli-schema)
タスクの判断と生成 Agent

CLIで構造を検証し、Agentでコンテンツを生成します。


モデルの記憶に関する問題

AI AgentがApidogリソースの作成や更新を支援する際、リスクのある部分はコンテンツの生成だけではありません。

リスクのある部分は、十分な構造や検証なしに生成されたコンテンツを実際のプロジェクトに書き込むことです。

Apidogリソースは構造化されています。テストケースやテストシナリオが何を含むかを考えてみてください。

コンポーネント 複雑さ
リクエストデータ メソッド、URL、ヘッダー、ボディ、認証
アサーション 比較演算子、対象、ターゲット値、条件
変数抽出 変数名、型、抽出パス
プリプロセッサ リクエスト前のスクリプト
ポストプロセッサ レスポンス後のスクリプト
ステップ順序 シーケンス、依存関係
環境参照 環境ID、変数オーバーライド

Agentが構造を推測した場合:


cli-schema validate: 品質ゲート

私たちの原則を最も直接的に体現しているのがcli-schema validateです。

apidog cli-schema validate test-scenario-update --file ./scenario-update.json

Agentがテストシナリオを書き込んだり更新したりする際、AIに複雑なステップ構造を生成させると、非常にエラーが発生しやすくなります。

validateコマンドは以下のことを行います:

これらはすべて、書き込みリクエストを開始する前に行われます。


cli-schemaが検出する一般的なエラー

Agentが一般的に犯し、cli-schema validateが検出するエラーの実際の例を以下に示します。

誤った値 正しい値 コンテキスト
global globals 変数スコープタイプ
contains include アサーション比較演算子
responseBody responseJson レスポンスボディ対象
"500" (文字列) 500 (数値) ミリ秒単位の遅延
equals equal アサーション比較演算子
header headers リクエストヘッダーフィールド

これらは理論上の話ではありません。実際のAgentとのインタラクションを通じて発見しました。

各エラーは以下を引き起こすでしょう:

cli-schema validateを使用すると、これらのエラーはネットワーク呼び出しの前にローカルで検出されます。


設計思想

代替案を考えてみましょう。

代替案1:プロンプトにルールを書き込む

もし、すべてのフィールドルールをAgentのプロンプトに書き込んだ場合:

結果:途方もないコンテキストの負荷。

包括的なテストシナリオのスキーマは、容易に5,000トークン以上の説明を必要とする可能性があります。これは、ほとんどのルールが関連しない場合でも、モデルがすべてのタスクで保持しなければならないコンテキストとなります。

代替案2:モデルの記憶に頼る

もし、モデルが正しい構造を「知っている」ことに頼る場合:

結果:高いエラー率。

モデルはApidog固有の慣習を完全に記憶しているわけではありません。推測するでしょうが、その推測は間違っているでしょう。

より良いアプローチ:ローカルで検証する

Agentにドラフトを生成させ、CLIで書き込み前に検証を実行させます。

# AgentがJSONを生成する
# (Agentはすべてのルールを記憶する必要はない)

# CLIが検証する
apidog cli-schema validate test-case-create --file ./test-case-create.json

# CLIがエラーがあれば特定のものを出力する
# Agentがエラーに基づいて調整する

# 有効な書き込みのみが進行する
apidog test-case create --project <projectId> --file ./test-case-create.json

スキーマの変革

cli-schema validateはスキーマの意味を変革します。

スキーマ = モデルが記憶すべき知識 スキーマ = 通過しなければならない品質ゲート
書き込み失敗によって発見されたエラー ローカル検証によって発見されたエラー
ネットワーク呼び出しによる再試行 ローカルでの調整による修正
コンテキストの負担 実行ゲート

問題は無意味なネットワーク要求の往復で消費されません。

品質チェックはローカルコマンドを通じて完了します。


実践例

実際のワークフローを見てみましょう。

# Agentがエンドポイントを読み取る
apidog endpoint get <endpointId> --project <projectId>

# AgentがテストケースJSONを生成する
# (./test-case-create.jsonを作成)

# 書き込み前に検証する
apidog cli-schema validate test-case-create --file ./test-case-create.json

検証がパスした場合:

apidog test-case create --project <projectId> --file ./test-case-create.json

検証が失敗した場合:

エラー: フィールド "assertions[0].comparator" に無効な値 "contains" があります
有効な値: equal, not_equal, greater, less, include, not_include, exists, not_exists

エラー: フィールド "extractors[0].type" に無効な値 "global" があります
有効な値: globals, environment, collection, local

提案: これらのフィールドを修正し、書き込み前に再検証してください。

Agentは:

  1. 特定のエラーを読み取る
  2. 何が問題なのかを正確に理解する
  3. JSONファイルを調整する
  4. 検証を再実行する
  5. 有効な場合にのみ処理を進める

書き込み失敗なし。混乱した再試行なし。トークンの無駄なし。


より広範な教訓

この原則は検証にとどまりません。

ルールタイプ 属する場所
フィールド名ルール cli-schema
列挙値ルール cli-schema
型制約 cli-schema
ワークフローシーケンス SKILL
次ステップガイダンス agentHints
タスク分解 Agent

決定論的ルール → エンジニアリングシステム

意味的判断 → Agent


次は何ですか

検証の原則が確立された今、次の疑問は:

検証後、CLIはどのようにAgentを次のステップへと導くのか?

第4部、agentHints: CLIにAgentとの対話を教えるでは、次ステップの提案を伴う構造化出力が、CLIをコマンド実行者からワークフローナビゲーターへとどのように変貌させるかを探ります。


重要なポイント


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

button

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

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