FlowTune Media

Claude APIを「kubectl感覚」で操作する — Anthropic公式CLI「ant」の使い所

Claude APIを叩くとき、毎回curlでJSONを手書きしている人は少なくないはずだ。

ヘッダーを3つ付けて、ネストしたJSONのクォートを慎重にエスケープして、レスポンスの中から必要なフィールドだけ取り出すためにjqを通す。動くけど、毎回やるには面倒すぎる。

4月にAnthropicがこの問題にまっすぐ答えるツールを出した。ant — Go製のClaude API公式CLIだ。

ant CLI

curlとの決定的な違い

antの本質は「Claude APIのkubectl」という表現に集約される。Kubernetesを触ったことがある人なら、kubectl get podskubectl apply -fの感覚がそのまま通じる。

ant messages create \
  --model claude-opus-4-7 \
  --max-tokens 1024 \
  --message '{role: user, content: "Hello, Claude"}'

JSONではなくYAML風のリラックスした記法でリクエストを組める。キーにクォートが要らない。curlで同じことをやると倍以上の行数になる。

地味に効くのが@path記法だ。--system @./prompts/researcher.txtと書けば、ファイルの中身がそのままsystemプロンプトに流し込まれる。PDFを渡すときも@./scan.pdfと書くだけで、バイナリの検出とBase64エンコードを自動でやってくれる。

レスポンスの加工も内蔵している。--transform 'content.0.text' --format yamlと書けば、返ってきたJSONからテキスト部分だけを引き抜いて、クォートなしの素の文字列で出力する。jqのインストールすら不要になった。

Managed Agentsとの本当の関係

antが単なるAPI呼び出しツールで終わらない理由はここにある。

4月にパブリックベータが始まったClaude Managed Agentsのリソース——エージェント、セッション、環境、デプロイメント、スキル——はすべてbeta:プレフィックス付きのコマンドで操作できる。

# エージェント定義をYAMLファイルから作成
ant beta:agents create < summarizer.agent.yaml

# セッションを開始
ant beta:sessions create \
  --agent agent_011CYm1BLq... \
  --environment-id env_01595EKx...

# セッションのイベントをリアルタイムに監視
ant beta:sessions stream --session-id session_01JZCh...

ここがポイントなのだが、エージェント定義をYAMLファイルとしてGitリポジトリに置ける。つまり「エージェントの設定をコードと同じようにバージョン管理する」ワークフローが公式にサポートされたということだ。CIパイプラインでant beta:agents updateを叩けば、プルリクのマージと同時にエージェントの定義が本番に反映される。

正直、この「Infrastructure as Code的なエージェント管理」は地味だけど強力だ。エージェントが増えてくると、Webコンソールでポチポチ設定を変えるのは破綻する。コードレビューと同じプロセスでエージェント定義を管理できるのは、チーム開発では大きい。

Claude Codeとの棲み分け

「Claude Codeがあるのにantが要るのか?」という疑問は自然だ。

Claude Codeはコーディングの相棒だ。ファイルを読み、差分を提案し、テストを走らせる。コードを書く文脈でAIと対話するためのツール。

antは違う。APIリソースを操作するためのツールだ。モデル一覧を確認し、エージェントを作り、セッションのログを調べる。Claudeと「会話する」のではなく、Claudeの「インフラを管理する」立ち位置。

面白いのは、この2つが連携するよう設計されている点だ。Claude Codeはantコマンドをネイティブに理解する。「最近のエージェントセッションでエラーが出たものを教えて」とClaude Codeに頼めば、裏でant beta:sessions:events listを叩いて結果を解釈してくれる。

インストールは30秒

macOSなら:

brew install anthropics/tap/ant

LinuxならcurlでバイナリをダウンロードするかGoのgo install。環境変数ANTHROPIC_API_KEYをセットすれば即使える。シェル補完もbash、zsh、fish、PowerShellに対応しているので、タブ補完でコマンドを探れる。

気になる点

現時点でのGitHubスターは329。まだ知名度は低い。ドキュメントは英語のみ。

Managed Agentsのコマンド群はbeta:プレフィックスの通りまだベータだ。Multi-agent coordinationやSelf-evaluationといった高度な機能は別途アクセス申請が要る。

また、antはあくまでClaude Platform APIのクライアントであって、Claude Codeの代替にはならない。「コーディングの相棒が欲しい」人がantをインストールしても期待と違うだろう。

誰のためのツールか

Claude APIを業務で使っている開発者——特にManaged Agentsを本番で運用し始めるチームにとって、antは標準装備になると思う。エージェント定義のバージョン管理、CI/CDへの組み込み、デバッグ時のセッションログ確認。こうした作業がターミナルから直接できるのは、回り道がなくていい。

逆に、Claude.comのWeb UIで十分な人には不要だ。CLIに馴染みがない人がわざわざ覚えるツールでもない。

ただ、Anthropicが「APIの公式CLI」を正式に出してきたこと自体が、Claude Platformの成熟を感じさせる。AWSにもCLIがあり、GCPにもgcloudがある。Claudeにもantがある。プラットフォームとしてのインフラが揃い始めている。

関連記事