PRDからテストまで:Apidog CLIで効率化するエージェント開発ワークフロー

実際の例を見ていきましょう。あるチームには注文返金(Order Refund)のPRDとコードベースがあります。エージェントがApidog CLIとSKILLを使って、OpenAPIを生成し、テストを作成し、検証し、確認する様子をご覧ください。

Oliver Kingsley

Oliver Kingsley

6 7月 2026

PRDからテストまで:Apidog CLIで効率化するエージェント開発ワークフロー

Apidog エンタープライズ

オンプレミスデプロイ

SSO & RBAC

SOC 2 準拠

Apidog Enterpriseを見る

これは、APIテストとAPIライフサイクル管理のためのコマンドラインツールであるApidog CLIをApidogがどのように開発したかを共有する全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 仕様ファーストは昨日。スキルファーストへようこそ。 ビジョンと未来

実際の例を見てみましょう:あるチームが注文返金に関するPRDとコードベースを持っています。AgentがApidog CLI + SKILLを使用して、OpenAPIを生成し、テストを作成し、検証し、確認するまでの一連の流れをエンドツーエンドで見ていきましょう。

シナリオ

実際のワークフローで全てを具体的に見ていきましょう。

コンテキスト:

あるチームが「注文返金」に関するPRDの作成を終えたばかりです。コードベースには既に対応するルートとコントローラーが存在します。

Agentへのユーザーリクエスト:

「PRDとコードベースに基づいて、返金機能のAPIテストを生成し、検証を実行してください。」

古いアプローチの問題

MCPツールでは、Agentは一連のジレンマに直面します:

決定点 不確実性
まずプロジェクトを照会するか? それともまずエンドポイントを作成するか?
まずテストケースを作成するか? それともまずスキーマを生成するか?
直接テストを実行するか? それともまずリソースを読み戻すか?
各ステップにどのツールを使用するか? 126個のツールの中から検索する

Agentは、タスクの実行ではなく、単にパスを決定するために多大な労力を費やします。


CLI + SKILLのパス

CLI + SKILLは、明確なシーケンスで実際のR&Dフローを満たします:

PRDとコードベースからOpenAPIを生成
        ↓
Apidogにインポート
        ↓
単一エンドポイントのテストケースを追加
        ↓
書き込む前に検証
        ↓
ビジネスフローのテストシナリオを生成
        ↓
書き込む前に検証
        ↓
自動テストを実行

各ステップを見ていきましょう。


ステップ1: OpenAPIの生成とインポート

AgentはPRDとコードベースを読み込み、OpenAPI仕様を生成します。

PRD抜粋:

Order Refund API

POST /api/orders/{orderId}/refund
- Request body: { "reason": string, "amount": number }
- Response: { "refundId": string, "status": string, "processedAt": datetime }

GET /api/orders/{orderId}/refund/{refundId}
- Response: { "refundId": string, "status": string, "amount": number }

AgentはOpenAPIを生成します:

{
  "openapi": "3.0.0",
  "paths": {
    "/api/orders/{orderId}/refund": {
      "post": {
        "summary": "Create refund request",
        "parameters": [...],
        "requestBody": {...},
        "responses": {...}
      }
    },
    "/api/orders/{orderId}/refund/{refundId}": {
      "get": {
        "summary": "Get refund status",
        ...
      }
    }
  }
}

Apidogへのインポート:

apidog import --project <projectId> --format openapi --file ./openapi.json

CLI出力:

{
  "success": true,
  "data": {
    "importedEndpoints": ["POST /refund", "GET /refund/{refundId}"],
    "endpointIds": ["ep-001", "ep-002"]
  },
  "agentHints": {
    "summary": "OpenAPIが正常にインポートされました。2つのエンドポイントが作成されました。",
    "nextSteps": [
      "インポートされたエンドポイントをリストして構造を確認する。",
      "各エンドポイントのテストケースを追加する。",
      "完全な返金フローのテストシナリオを作成する。"
    ]
  }
}

ステップ2: 単一エンドポイントのテストケース

Agentはまず「返金エンドポイント」に焦点を当てます。

Agentはエンドポイントを読み込みます:

apidog endpoint get ep-001 --project <projectId>

CLIはエンドポイント構造を返します:

{
  "id": "ep-001",
  "method": "POST",
  "path": "/api/orders/{orderId}/refund",
  "requestBody": {
    "schema": {
      "type": "object",
      "properties": {
        "reason": { "type": "string" },
        "amount": { "type": "number" }
      },
      "required": ["reason", "amount"]
    }
  },
  "responses": {
    "200": {...}
  }
}

Agentはテストケースを生成します:

{
  "name": "Create refund - success",
  "endpointId": "ep-001",
  "request": {
    "path": "/api/orders/order-123/refund",
    "body": {
      "reason": "Customer request",
      "amount": 99.99
    }
  },
  "assertions": [
    {
      "subject": "responseJson.status",
      "comparator": "equal",
      "target": "processed"
    }
  ]
}

書き込む前に検証:

apidog cli-schema validate test-case-create --file ./test-case-create.json

CLI検証結果:

{
  "success": true,
  "agentHints": {
    "summary": "テストケースの構造は有効です。",
    "nextSteps": [
      "Apidogでテストケースを作成する。",
      "作成されたテストケースを読み戻して確認する。",
      "必要に応じてアサーションを追加する。"
    ]
  }
}

テストケースの作成:

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

CLI出力:

{
  "success": true,
  "data": {
    "id": "tc-001",
    "name": "Create refund - success"
  },
  "agentHints": {
    "summary": "テストケースが正常に作成されました。",
    "nextSteps": [
      "テストケースtc-001を読み戻してアサーションを確認する。",
      "GET /refund/{refundId}のテストケースを作成する。",
      "完全な返金フローのテストシナリオを構築する。"
    ]
  }
}

ステップ3: 完全なフローのテストシナリオ

PRDに基づいて、完全なビジネスフローは次のとおりです:

注文の作成 → 支払い → 返金 → 返金ステータスの照会

Agentはシナリオを生成します:

{
  "name": "Order Refund Complete Flow",
  "steps": [
    { "type": "case", "caseId": "tc-create-order" },
    { "type": "case", "caseId": "tc-pay" },
    { "type": "case", "caseId": "tc-001" },
    { "type": "case", "caseId": "tc-get-refund" }
  ]
}

書き込む前に検証:

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

シナリオの作成:

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

ステップ4: 検証の実行

テストケースとシナリオの準備が整ったら:

apidog run --project <projectId> \
  --test-scenario scenario-001 \
  --environment env-production \
  -r "cli,html,junit" \
  --out-dir ./apidog-reports

CLI出力:

{
  "success": true,
  "stats": {
    "total": 4,
    "passed": 4,
    "failed": 0
  },
  "reportFiles": {
    "cli": "./apidog-reports/cli-report.txt",
    "html": "./apidog-reports/report.html",
    "junit": "./apidog-reports/junit.xml"
  },
  "agentHints": {
    "summary": "すべてのテストに合格しました。4つのステップが正常に実行されました。",
    "nextSteps": [
      "詳細な結果についてはHTMLレポートを確認する。",
      "失敗が発生した場合は、CLIのエラー詳細を使用してデバッグする。",
      "このテストをCIパイプラインに統合する。"
    ]
  }
}

完全な連鎖

すべての要素が接続されました:

要素 ステータス
PRD 読み込みと処理済み
コードベース ルートを解析済み
OpenAPI 生成とインポート済み
エンドポイント資産 Apidogで作成済み
単一エンドポイントテスト 作成と検証済み
ビジネスシナリオ 構築と検証済み

すべてが検証可能で追跡可能です。


フロー全体でのagentHints

agentHintsが各遷移をどのようにガイドするか注目してください:

agentHintsの提案
エンドポイントのインポート後 「エンドポイントをリストし、テストケースを追加」
テストケース作成後 「読み戻し、さらにテストケースを作成し、シナリオを構築」
シナリオ作成後 「アサーションを追加し、検証し、実行」
テスト実行後 「レポートを確認し、必要に応じてデバッグし、CIに統合」

Agentは次に何をすべきかを推測する必要がありません。


比較:このタスクにおけるMCPとCLI + SKILL

側面 MCPアプローチ CLI + SKILLアプローチ
開始点 Agentがプロジェクトツールを検索する SKILLがタスクタイプを識別する
エンドポイントの作成 Agentがどのツール、どのフィールドを使用するかを推測する OpenAPIからのCLIインポート
テストケースの作成 フィールドエラーで複数回再試行 書き込み前のローカル検証
シナリオの構築 Agentが構造を手書きする ステップをインポートし、読み戻し、更新する
検証 Agentが実行ツールを見つける シナリオ後にagentHintsが提案する
合計ステップ数 再試行を含む〜20-25回の呼び出し 〜10-12回の検証済み呼び出し

次は何?

この実践的な例は、CLI + SKILLが実際のワークフローでどのように機能するかを示しています。

しかし、これらすべての根底にはCI/CDの互換性があります。

パート8のAgentツールにとってCI/CD互換性が不可欠な理由では、apidog runがCIパイプラインとAI Agentの両方に役立つ理由、そしてその二重の目的が持続可能なツール設計にとって重要である理由を探ります。


主要なポイント


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

button

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

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