CLIスクリプティングと自動化
APIリソースをYAMLとしてバージョン管理し、スクリプト内でant CLIコマンドを連結し、Claude Codeからリソースを操作し、CLIの認証情報でcurl呼び出しを認証します。
このページでは、ant CLI上に構築されたタスク指向のワークフローについて説明します。基盤となるフラグや出力オプションについては、CLIの使用を参照してください。
APIリソースのバージョン管理
CLIを使用すると、スキル、エージェント、環境、デプロイメントなどのAPIリソースをリポジトリ内のYAMLファイルとしてバージョン管理し、Claude APIと同期した状態に保つことができます。
エージェントを定義する
エージェント定義を
summarizer.agent.yamlに記述します。summarizer.agent.yamlname: Summarizer model: claude-opus-5 system: | You are a helpful assistant that writes concise summaries. tools: - type: agent_toolset_20260401エージェントを作成する
ant beta:agents create < summarizer.agent.yamlOutput{ "id": "agent_011CYm1BLqPXpQRk5khsSXrs", "version": 1, "name": "Summarizer", "model": "claude-opus-5" /* ... */ }レスポンスの
idを控えておいてください。後のステップでセッション作成コマンドに渡します。環境を定義する
セッションは環境内で実行されます。環境は、セッションが実行されるサンドボックスを定義します。環境定義を
summarizer.environment.yamlに記述します。summarizer.environment.yamlname: summarizer-env config: type: cloud networking: type: unrestricted環境を作成する
ant beta:environments create < summarizer.environment.yamlOutput{ "id": "env_01595EKxaaTTGwwY3kyXdtbs", "name": "summarizer-env" /* ... */ }レスポンスの
idを控えておいてください。後のステップでセッション作成コマンドに渡します。セッションを開始する
前の出力からエージェントの
idと環境のidをセッション作成コマンドに貼り付けます。ant beta:sessions create \ --agent agent_011CYm1BLqPXpQRk5khsSXrs \ --environment-id env_01595EKxaaTTGwwY3kyXdtbs \ --title "Summarization task"Output{ "id": "session_01JZCh78XvmxJjiXVy3oSi7K", "status": "running" /* ... */ }ユーザーメッセージを送信する
前の出力からセッションの
idを--session-idにコピーします。ant beta:sessions:events send \ --session-id session_01JZCh78XvmxJjiXVy3oSi7K \ --event '{type: user.message, content: [{type: text, text: "Summarize the benefits of type safety in one sentence."}]}'会話を読む
--transformはリストされた各イベントに対して実行されるため、これによりすべてのメッセージのテキストが順番に出力されます。--format autoは、ターミナルでlistコマンドがデフォルトで開くインタラクティブエクスプローラーを上書きします。ant beta:sessions:events list \ --session-id session_01JZCh78XvmxJjiXVy3oSi7K \ --transform 'content.0.text' --format auto --raw-outputOutputSummarize the benefits of type safety in one sentence. Type safety catches errors at compile time rather than runtime, reducing bugs, improving code clarity, enabling better tooling support, and making codebases easier to maintain and refactor with confidence.
スクリプティングパターン
CLIは、標準的なシェルツールと組み合わせて使えるように設計されています。
list出力を2番目のコマンドに連結する
listエンドポイントで --transform id --raw-output を指定すると、1行につき1つの生のIDが出力されるため、head や xargs などの標準ツールをそのまま適用できます。最初の結果を取得し、それを後続のコマンドに渡します。
FIRST_AGENT=$(ant beta:agents list --transform id --raw-output | head -1)
ant beta:agents:versions list \
--agent-id "$FIRST_AGENT" \
--transform "{version,created_at}" --format jsonlエラーを調べる
--transform-error フラグと --format-error フラグは、エラーレスポンスに対して同じフィルタリングを適用します。--raw-output はエラーには適用されないため、引用符なしのスカラー値を得るには --format-error yaml を使用します。エラーメッセージのみを抽出するには次のようにします。
ant beta:agents retrieve --agent-id bogus \
--transform-error error.message --format-error yaml 2>&1GET "https://api.anthropic.com/v1/agents/bogus?beta=true": 404 Not Found
Agent not found.Claude CodeからCLIを使用する
Claude Codeは、ant CLIをそのまま使用できます。CLIがインストールされ認証済みであれば、Claude CodeにAPIリソースを直接操作するよう依頼できます。例:
- 「最近のエージェントセッションを一覧表示して、どれがエラーになったか要約して。」
- 「
./reports内のすべてのPDFをFiles APIにアップロードして、結果のIDを出力して。」 - 「セッション
session_01...のイベントを取得して、エージェントがどこで行き詰まったか教えて。」
Claude Codeは ant をシェル経由で呼び出し、構造化された出力を解析し、その結果について推論します(カスタムの統合コードは不要です)。
CLIの認証情報でcurlリクエストを認証する
curl やその他のHTTPクライアントでAPIを呼び出すスクリプトは、静的なAPIキーの代わりに、ant auth login によって保存された認証情報を使用できます。OAuthアクセストークンはベアラートークンとして Authorization ヘッダーに指定します。x-api-key ヘッダーは静的なAPIキー専用です。
ant auth print-credentials --access-token は、アクティブなプロファイルのアクセストークンを出力します。トークンが期限切れまたは期限切れ間近の場合は、先に更新してから出力します。
curl https://api.anthropic.com/v1/messages \
-H "Authorization: Bearer $(ant auth print-credentials --access-token)" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-opus-5",
"max_tokens": 256,
"messages": [{"role": "user", "content": "hi"}]
}'ant auth status を実行して、どの組織とワークスペースにログインしているかを確認してください。環境変数がログインを上書きしている場合は警告が表示されます。
Was this page helpful?