2. CLIでエージェントを作成
antというClaude Platform CLIを使ってエージェントを作成します。
1. antの環境をセットアップ
Section titled “1. antの環境をセットアップ”-
antをインストールします。
-
antのリリースページより、ant_{バージョン番号}_windows_amd64.zipをダウンロードします。 -
任意の場所に展開します。
-
展開したフォルダーで
powershell.exeを起動します。 -
コマンド出力の日本語が文字化けしないよう、文字コードをUTF-8に設定します。
Terminal window $OutputEncoding = [Console]::OutputEncoding = New-Object System.Text.UTF8Encoding $false
- ターミナルを開き、以下のコマンドを実行します。
Terminal window brew install anthropics/tap/ant
-
-
ant auth loginを実行します。- 以下のコマンドを実行します。
Terminal window ./ant auth login
- 以下のコマンドを実行します。
Terminal window ant auth login
- 以下のコマンドを実行します。
-
ブラウザでログインします。

2. 認証情報ボールトを作成
Section titled “2. 認証情報ボールトを作成”ここからは、1. コンソールでエージェントを作成で画面から作った構成(認証情報ボールト → 環境 → エージェント → セッション)と同じものを、すべてantコマンドで作成します。コンソール版と名前が重複しないよう、CLI版の名前には「-cli」を付けています。
-
ボールトを作成し、IDを変数に保存します。
Terminal window $VAULT_ID = ./ant beta:vaults create --display-name "Vault-cli" --transform id --raw-outputTerminal window VAULT_ID=$(ant beta:vaults create --display-name "Vault-cli" --transform id --raw-output)変数の中身を表示して、
vlt_で始まるIDが保存されていることを確認します。Terminal window $VAULT_IDTerminal window echo "$VAULT_ID" -
ボールトにJina AIのAPIキーを認証情報として追加します。
ここにAPIキーの部分を実際のAPIキーに置き換えてから実行してください(コマンドは1行です)。Terminal window ./ant beta:vaults:credentials create --vault-id $VAULT_ID --display-name "Jina-ai-cli" --auth '{type: static_bearer, mcp_server_url: https://mcp.jina.ai/v1, token: ここにAPIキー}'Terminal window ant beta:vaults:credentials create --vault-id "$VAULT_ID" --display-name "Jina-ai-cli" --auth '{type: static_bearer, mcp_server_url: https://mcp.jina.ai/v1, token: ここにAPIキー}'
3. 環境を作成
Section titled “3. 環境を作成”-
MCPサーバーへのネットワークアクセスを許可した環境を作成し、IDを変数に保存します(コマンドは1行です)。
Terminal window $ENVIRONMENT_ID = ./ant beta:environments create --name "Jina-environment-cli" --config '{type: cloud, networking: {type: limited, allow_mcp_servers: true}}' --transform id --raw-outputTerminal window ENVIRONMENT_ID=$(ant beta:environments create --name "Jina-environment-cli" --config '{type: cloud, networking: {type: limited, allow_mcp_servers: true}}' --transform id --raw-output)変数の中身を表示して、
env_で始まるIDが保存されていることを確認します。Terminal window $ENVIRONMENT_IDTerminal window echo "$ENVIRONMENT_ID"
4. エージェントを作成
Section titled “4. エージェントを作成”-
コマンドを実行しているフォルダーに
agent.yamlという名前のファイルを作成し、以下の内容を保存します。agent.yaml name: Jina Web Research Agent CLImodel:id: claude-haiku-4-5speed: standarddescription: Jina AIのMCPサーバーを使ったWeb検索、ページ読み取り、学術研究のデモエージェント。system: あなたはJina AIの検索・読み取りツールを活用するリサーチアシスタントです。質問を受けたら、search_web(学術的なトピックの場合はsearch_arxivやsearch_ssrn)を使って関連ソースを見つけ、その後read_urlまたはparallel_read_urlを使って、有望な結果の全文を取得してください。検索結果のスニペットだけに頼らないようにしてください。複数のソースから得た情報を組み合わせ、使用したURLを引用し、不確実な点や矛盾する情報がある場合は明確に示してください。効率化のため、複数のソースを同時に検索・読み取る際はparallel_*系のツールを優先して使ってください。特定のページの要約や事実抽出を求められた場合は、read_urlで直接そのページを読み取ってください。回答は簡潔かつ整理された形にし、事前知識ではなく取得したコンテンツに基づくようにしてください。mcp_servers:- name: jinatype: urlurl: https://mcp.jina.ai/v1tools:- type: mcp_toolsetmcp_server_name: jinadefault_config:enabled: truepermission_policy:type: always_allowskills: []metadata: {} -
agent.yamlを読み込ませてエージェントを作成し、IDを変数に保存します。Terminal window $AGENT_ID = Get-Content agent.yaml -Raw -Encoding UTF8 | ./ant beta:agents create --transform id --raw-outputTerminal window AGENT_ID=$(ant beta:agents create --transform id --raw-output < agent.yaml)変数の中身を表示して、
agent_で始まるIDが保存されていることを確認します。Terminal window $AGENT_IDTerminal window echo "$AGENT_ID"
5. セッションを作成
Section titled “5. セッションを作成”-
ここまでで保存した3つのIDが揃っていることを確認します。
Terminal window $AGENT_ID; $ENVIRONMENT_ID; $VAULT_IDTerminal window echo "$AGENT_ID"; echo "$ENVIRONMENT_ID"; echo "$VAULT_ID" -
エージェント・環境・ボールトのIDを指定してセッションを作成し、IDを変数に保存します(コマンドは1行です)。
Terminal window $SESSION_ID = ./ant beta:sessions create --agent $AGENT_ID --environment-id $ENVIRONMENT_ID --vault-id $VAULT_ID --transform id --raw-outputTerminal window SESSION_ID=$(ant beta:sessions create --agent "$AGENT_ID" --environment-id "$ENVIRONMENT_ID" --vault-id "$VAULT_ID" --transform id --raw-output)変数の中身を表示して、
sesn_で始まるIDが保存されていることを確認します。Terminal window $SESSION_IDTerminal window echo "$SESSION_ID"
6. エージェントを呼び出す
Section titled “6. エージェントを呼び出す”-
ターミナルを2つ使い、片方でイベントをリアルタイムに受信しながら、もう片方からメッセージを送信します。まず、これまで使ってきたウィンドウ(ターミナル1)でイベントのストリーム受信を開始します。
Terminal window ./ant beta:sessions:events stream --session-id $SESSION_ID --format jsonlTerminal window ant beta:sessions:events stream --session-id "$SESSION_ID" --format jsonlコマンドは実行したまま、イベントが届くのを待ち受けます。
--format jsonlを付けているので、イベントは1行ずつJSON形式で表示されます。 -
新しいウィンドウ(ターミナル2)を開き、送信の準備をします。変数はウィンドウごとに独立しているため、ターミナル2にも
$SESSION_IDを設定します。ここにセッションIDの部分は、5. セッションを作成で表示したsesn_から始まるIDに置き換えてください(ターミナル1の画面をさかのぼると確認できます)。antを展開したフォルダーで新しくPowerShellを起動し、以下を実行します。Terminal window $OutputEncoding = [Console]::OutputEncoding = New-Object System.Text.UTF8Encoding $false$SESSION_ID = "ここにセッションID"新しくターミナルを開き、以下を実行します。
Terminal window SESSION_ID="ここにセッションID" -
ターミナル2からメッセージを送信します(コマンドは1行です)。
Terminal window ./ant beta:sessions:events send --session-id $SESSION_ID --event '{type: user.message, content: [{type: text, text: "最新のRAGに関する論文を検索して"}]}'Terminal window ant beta:sessions:events send --session-id "$SESSION_ID" --event '{type: user.message, content: [{type: text, text: "最新のRAGに関する論文を検索して"}]}'送信すると、ターミナル1に
user.messageをはじめとするイベントが流れ始めます。MCPツールの呼び出し(agent.mcp_tool_use)に続いて、agent.messageイベントのtextとして回答が届きます。session.status_idleが表示されたら完了です。回答を確認できたら、ターミナル1で
Ctrl+Cを押してストリームを終了してください。表示を見逃した場合は、イベント履歴から確認できます。イベントが1行ずつ表示され、
agent.messageの行のtextが回答です。Terminal window ./ant --format jsonl --transform '{type,text:content.0.text}' beta:sessions:events list --session-id $SESSION_IDTerminal window ant --format jsonl --transform '{type,text:content.0.text}' beta:sessions:events list --session-id "$SESSION_ID" -
コンソールの「セッション」メニューから同じセッションを開くと、画面上でもやり取りを確認できます。
- コンソールで作ったものと同じ構成(ボールト → 環境 → エージェント → セッション)を、
antコマンドだけで再現しました。 - ベータ版APIは
beta:プレフィックスのコマンドで呼び出します。--transform id --raw-outputでレスポンスからIDだけを取り出し、変数で次のコマンドに受け渡しました。 - 設定は1行のフラグ(
--authや--event)でも、YAMLファイル(agent.yaml)でも渡せます。 - セッションとのやり取りは、
events sendで送信し、events stream(または履歴の取得)で確認します。
おつかれさまでした!ここまでの感想を、ぜひXにポストしてください。
感想をXにポストする