これは、ApidogがAPIテストとAPIライフサイクル管理のためのコマンドラインツールであるApidog CLIをどのように開発したかを紹介する10部構成のシリーズです。順に読むか、興味のある記事に直接移動してください。
| タイトル | 焦点 | |
|---|---|---|
| 1 | 私たちは126のMCPツールを構築しましたが、それはエージェントにとって最良の解決策ではありませんでした | 問題の発見 |
| 2 | なぜ私たちは全く新しいApidog CLIを開発したのか | アーキテクチャ開発 |
| 3 | 黄金律:CLIは事実を生み出し、モデルは事実に基づいて行動する | 核となる哲学 |
| 4 | agentHints:CLIにエージェントと話すことを教える |
構造化された出力 |
| 5 | SKILL:運用経験をコードとして出荷する | 運用経験 |
| 6 | 数字は嘘をつかない:ツール呼び出し30%減、トークン25%減 | 定量的結果 |
| 7 | PRDからテストループまで:Apidog CLIによる完全なエージェントワークフロー | 実践的なチュートリアル |
| 8 | エージェントツールにとってCI/CD互換性が不可欠である理由 | DevOpsの視点 |
| 9 | AIブランチ:AIエージェントによるより安全なプロジェクト変更 | セキュリティ層 |
| 10 | Spec-Firstは昨日。Skill-Firstへようこそ。 | ビジョンと未来 |
エージェントの使いやすさは、CI/CDの使いやすさの上に構築される必要があります。apidog runがCIパイプラインとAIエージェントの両方にどのように役立つか、そしてその二重の目的がなぜ重要なのかを学びましょう。
二重の対象者
エージェントツールを構築する際、会話体験だけに焦点を当てがちです。
Apidog CLIには、忘れてはならない重要なサービス対象があります。それはCI/CDです。
| 従来の対象者 | 新しい対象者 |
|---|---|
| CI/CDパイプライン | AIエージェント |
| 外部スケジューリングシステム | 会話型ワークフロー |
| スクリプトと自動化 | ユーザー主導のタスク |
多くのチームがすでにパイプラインでApidogを以下の目的で使用しています。
- API自動テストの実行
- レポートの生成
- 品質ゲートの維持
このシナリオでは、以下が必要です。
| 要件 | 理由 |
|---|---|
| 安定した出力 | スクリプトが予測可能な結果を解析する |
| スクリプト可能なコマンド | 自動実行 |
| 明確な終了コード | パイプラインの合否判定 |
| 設定可能なパラメータ | 環境固有の実行 |
エージェントに対応するためだけに、自動化が損なわれることはありません。
主要原則
エージェントの使いやすさは、CI/CDの使いやすさの上に構築される必要があります。
私たちはAI専用のプロトコルを再発明したわけではありません。エンジニアリングシステムによってすでに検証されている形式の上に、エージェントが必要とする構造化された出力、スキーマ検証、および次のステップのガイダンスを追加しました。
エージェント時代の優れたCLIエンジニアリングツールは、以下のものに役立つはずです。
| 利用者 | 彼らのニーズ |
|---|---|
| 人間 | 読みやすい出力、ヘルプテキスト、対話型機能 |
| スクリプト | 安定した出力、スクリプト可能なコマンド |
| CIパイプライン | 終了コード、レポートファイル、設定可能な実行 |
| AIエージェント | 構造化された結果、検証、ガイダンス |
apidog run: コアコマンド
基盤は変わりません。
apidog run --project <projectId> \
--test-scenario <scenarioId> \
--environment <environmentId> \
-r "cli,html,junit" \
--out-dir ./apidog-reportsこのコマンドは、4つの利用者すべてにサービスを提供します。
CIが重視するもの
| CI要件 | CLI機能 |
|---|---|
| 終了コード | パスは0、失敗は1 —パイプラインの判断 |
| レポートファイル | --out-dir内のHTML、JUnit、JSON形式 |
| 安定したパラメータ | バージョン間で一貫したオプション |
| 設定可能な実行 | 反復 (-n)、遅延 (--delay-request)、環境 (-e) |
CI使用例:
# GitHub Actions
- name: Run API Tests
run: |
apidog run --project $PROJECT_ID \
--test-scenario $SCENARIO_ID \
--environment $ENV_ID \
-r "junit" \
--out-dir ./reports
env:
PROJECT_ID: ${{ secrets.APIDOG_PROJECT_ID }}
SCENARIO_ID: ${{ secrets.APIDOG_SCENARIO_ID }}
ENV_ID: production
- name: Publish Test Report
uses: mikepenz/action-junit-report@v3
with:
report_paths: './reports/junit.xml'パイプラインは終了コードを読み取り → 合格または失敗 → レポートを公開します。
エージェントが重視するもの
| エージェント要件 | CLI機能 |
|---|---|
| 構造化された結果 | dataオブジェクトを含むJSON出力形式 |
| 失敗の理由 | errorオブジェクト内の具体的なエラー詳細 |
| 次のステップの提案 | nextSteps配列を含むagentHints |
| 検証 | 書き込み前のcli-schema validate |
エージェント使用例:
{
"success": true,
"stats": {
"total": 10,
"passed": 8,
"failed": 2
},
"failures": [
{
"step": "Payment processing",
"error": "Assertion failed: status != 'success'",
"response": {...}
}
],
"agentHints": {
"summary": "2 tests failed. Review failure details.",
"nextSteps": [
"Debug the Payment processing step failure.",
"Check assertion: expected status 'success'.",
"Update test case or endpoint after fixing."
]
}
}エージェントはJSONを解析 → 失敗を理解 → 次のステップに従います。
同じコマンド、異なる利用者
apidog run --project <projectId> --out-dir ./apidog-reports
| 利用者 | 彼らが抽出するもの |
|---|---|
| CIパイプライン | 終了コード (0/1)、レポートファイルの場所 |
| エージェント | JSON出力、agentHints、失敗の詳細 |
| 人間 | コンソール出力、HTMLレポートリンク |
| スクリプト | 標準出力/標準エラー出力、設定可能なフォーマット |
1つのコマンドで全てに対応します。
統合ポイント
Apidog CLIは以下の統合をサポートしています。
| CIツール | 統合 |
|---|---|
| Jenkins | パイプラインステップ、レポート公開 |
| GitLab CI | YAML設定、成果物 |
| GitHub Actions | ワークフローステップ、シークレット管理 |
| CircleCI | Orbs、ワークフロー設定 |
| Azure DevOps | パイプラインタスク、テスト結果 |
すべての統合は、同じapidog run基盤を使用します。
品質ゲート vs 検証
| ユースケース | 意味 |
|---|---|
| CI品質ゲート | 合否がパイプラインの進行を決定 |
| エージェント検証 | 変更後に実行し、正確性を確認 |
同じコマンド、異なるコンテキスト:
| コンテキスト | 使用時期 | 目的 |
|---|---|---|
| CI | コードプッシュ後 | 不良コードのデプロイを防止 |
| エージェント | テスト作成後 | エージェントの作業が正しいことを確認 |
基盤となる原則
このシリーズで説明したcli-schema、agentHints、SKILLといったすべての要素は、この基盤の上に構築されています。
┌─────────────────────────────────────────┐
│ Agent Features │
│ (cli-schema, agentHints, SKILL) │
├─────────────────────────────────────────┤
│ CI/CD Foundation │
│ (apidog run, exit codes, reports) │
├─────────────────────────────────────────┤
│ Core CLI │
│ (commands, parameters, execution) │
└─────────────────────────────────────────┘エージェント機能はCI機能に取って代わるものではありません。それらを拡張するものです。
次は何?
問題発見から実用的なワークフロー、そして基本的な原則まで、全体像を網羅しました。
さて、もう一つ重要な要素があります。それはセキュリティです。
エージェントがプロジェクトリソースを変更する場合、どのようにしてメインブランチに直接影響を与えないようにするのでしょうか?
パート9「AIブランチ:AIエージェントによる安全なプロジェクト変更」では、AIブランチがどのように隔離された編集環境を提供し、人間によるレビューが行われるまで変更を別のブランチに留めて、エージェント主導の変更に対する安全層を構築するかを探ります。
主要なポイント
- CI/CD互換性は基盤であり、選択肢ではありません
- エージェントの使いやすさは、CIの使いやすさの上に構築されます
- 同じコマンド (
apidog run) がCI、エージェント、人間、スクリプトに役立ちます - CIのニーズ:終了コード、レポート、安定したパラメータ
- エージェントのニーズ:構造化された出力、失敗の詳細、次のステップ
- 品質ゲート (CI) + 検証 (エージェント) = 二重の目的
Apidogをダウンロードして、1つのワークスペースでAPIの設計、モック、テスト、ドキュメント化を行いましょう。 コマンドラインAPIテスト、CI自動化、AIエージェントワークフローのためのApidog CLIについて詳しくはこちら。
