エージェントは、AI エージェントのモデル、システムプロンプト、および tools を定義する再利用可能な設定テンプレートです。複数のセッションで 1 つのエージェントを共有でき、エージェントを変更しても実行中のセッションには影響しません。
新しい Qoder CN ドキュメントサイトが利用可能になりました。このサイトのコンテンツは、最新の製品機能や変更を反映していない可能性があります。最新の製品ドキュメントについては、docs.qoder.cn をご参照ください。
基本概念
エージェントは「職務記述書」のようなものと考えることができます。
|
要素 |
説明 |
|
model |
エージェントの知能レベル |
|
system prompt |
エージェントの行動指針 |
|
tools |
エージェントが実行するアクション |
|
Skills |
エージェントが呼び出す高レベルのスキル |
エージェント自体はタスクを実行しません。単なる設定です。タスクの実行は、そのエージェントにバインドされたセッションが処理します。
パラメーターリファレンス
|
パラメーター |
タイプ |
必須 |
説明 |
|
|
string |
— |
システムが生成する ID。 |
|
|
string |
— |
常に |
|
|
string |
はい |
エージェント名。推奨フォーマットはケバブケース (64 文字以下) です。 |
|
|
string |
いいえ |
エージェントの説明。デフォルトは |
|
|
string |
はい |
モデル識別子。詳細は後述します。 |
|
|
string |
いいえ |
システムプロンプト。デフォルトは |
|
|
string |
いいえ |
システムプロンプトに追加される動作指示。 |
|
|
array |
いいえ |
利用可能なツールのリスト。詳細は後述します。 |
|
|
array |
いいえ |
関連付けられたスキル ID のリスト。 |
|
|
array |
いいえ |
MCP サーバー設定のリスト。デフォルトは |
|
|
string |
いいえ |
このエージェントのデフォルトの環境 ID。デフォルトは |
|
|
object |
いいえ |
タグ付けやフィルタリングのためのカスタムキーバリューペア。 |
|
|
integer |
— |
バージョン番号。1 から始まり、更新ごとにインクリメントされます。 |
|
|
boolean |
— |
エージェントがアーカイブ済みかどうか。デフォルトは |
|
|
string|null |
— |
アーカイブのタイムスタンプ (ISO 8601 形式)。エージェントがアーカイブされていない場合は |
|
|
string |
— |
作成タイムスタンプ (ISO 8601 形式)。 |
|
|
string |
— |
最終更新のタイムスタンプ。 |
モデル
model フィールドは、エージェントが使用するモデルを指定します。
|
値 |
説明 |
|
|
自動モデル選択 |
|
|
Qwen フラッグシップ |
|
|
Qwen マルチモーダル |
|
|
Qwen 軽量 |
|
|
DeepSeek フラッグシップ |
|
|
DeepSeek 軽量 |
|
|
Zhipu フラッグシップ |
|
|
Moonshot AI |
|
|
MiniMax |
ツール
tools フィールドはツールオブジェクトの配列です。現在、サポートされているツールセットは agent_toolset_20260401 のみです。enabled_tools 配列にリストすることで、このツールセット内のアトミックツールを有効にします。
{
"tools": [
{
"type": "agent_toolset_20260401",
"enabled_tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "WebFetch", "WebSearch"]
}
]
}
enabled_tools で使用可能な値 (値は大文字と小文字を区別し、パスカルケースで指定する必要があります):
|
ツール名 |
説明 |
|
|
シェルコマンドを実行します。 |
|
|
ファイルの内容を読み取ります。 |
|
|
ファイルを作成または上書きします。 |
|
|
ファイルの一部を編集します。 |
|
|
ワイルドカードを使用してファイルを一覧表示します。 |
|
|
ファイル内のコンテンツを検索します。 |
|
|
単一のウェブページに対して HTTP GET リクエストを実行します。 |
|
|
ウェブを検索します。 |
その他のツール設定については、「エージェントのツール設定」をご参照ください。
エージェントの管理
すべての CRUD 操作については、「APIリファレンス / エージェント」をご参照ください。以下の例は、一般的なワークフローを対象としています。
作成
curl -s -X POST https://api.qoder.com.cn/api/v1/cloud/agents \
-H "Authorization: Bearer $QODER_PAT" \
-H "Content-Type: application/json" \
-d '{
"name": "code-reviewer",
"model": "auto",
"instructions": "あなたはコードレビューの専門家です。コードを行ごとにレビューし、問題点と改善案を Markdown 形式で出力してください。",
"tools": [
{
"type": "agent_toolset_20260401",
"enabled_tools": ["Bash", "Read", "Write"]
}
],
"metadata": {
"team": "backend",
"purpose": "code-review"
}
}' | jq .
リクエストが成功すると、201 Created が返ります。version は 1 から始まります。
取得
# 単一のエージェントを取得
curl -s https://api.qoder.com.cn/api/v1/cloud/agents/agent_xxx \
-H "Authorization: Bearer $QODER_PAT"
# ページネーション付きでエージェントを一覧表示
curl -s "https://api.qoder.com.cn/api/v1/cloud/agents?limit=20" \
-H "Authorization: Bearer $QODER_PAT"
更新
エージェントを更新する際は、現在の version を必ず指定する必要があります。詳細については、以下の「バージョン管理」をご参照ください。
curl -s -X PUT https://api.qoder.com.cn/api/v1/cloud/agents/agent_xxx \
-H "Authorization: Bearer $QODER_PAT" \
-H "Content-Type: application/json" \
-d '{
"name": "code-reviewer",
"model": "auto",
"instructions": "あなたはシニアコードレビューの専門家です。セキュリティの脆弱性とパフォーマンスの問題に焦点を当ててください。",
"version": 1
}' | jq .
リクエストが成功すると、200 OK が返り、version が 1 ずつインクリメントされます。
削除
curl -s -X DELETE https://api.qoder.com.cn/api/v1/cloud/agents/agent_xxx \
-H "Authorization: Bearer $QODER_PAT"
エージェントを削除しても、それにバインドされているアクティブセッションは終了しません。セッションは作成時にエージェントの設定をスナップショットとして保存します。
バージョン管理
エージェント API は、オプティミスティック同時実行制御 (OCC) を使用します。
-
versionは作成時に1から始まります。 -
更新が成功するたびに、
versionは自動的に 1 ずつインクリメントされます。 -
更新リクエストには、現在の
versionを必ず含める必要があります。失敗するシナリオは 2 つあります。-
versionフィールドが欠落している場合 — 400invalid_request_error("Field 'version' is required.") が返ります。 -
指定された
versionがサーバー側のバージョンと一致しない場合、409conflict_errorが返されます。
-
これにより、同時実行される変更がお互いを上書きすることを防ぎます。
409競合の処理
バージョンが古いためにリクエストが失敗した場合、次のエラーが表示されます。
{
"type": "error",
"error": {
"type": "conflict_error",
"message": "Version conflict. Expected version 2, got 1."
}
}
競合を解決するには、以下の手順を実行します。
-
GETで最新のエージェントを取得し、現在のversionを取得します。 -
最新のオブジェクトデータに、目的の変更を再適用します。
-
新しい
versionを使用して、再度PUTを実行します。
ベストプラクティス
-
命名規則 —
backend-code-reviewやfrontend-test-genのように、team-purpose形式を使用します。 -
プロンプトの改良 —
systemフィールドで役割、出力形式、制約を指定します。 -
最小権限の原則の適用 — リスクを最小限に抑えるため、タスクに不可欠な
toolsのみを付与してください。 -
メタデータの効果的な使用 — キーバリューペアを追加してエージェントを分類し、フィルタリングや監査を容易にします。
-
本番環境でのバージョンロック — セッションを作成する際に
{"id": ..., "version": ...}形式を使用してエージェントのバージョンをロックしてください。これにより、新しいバージョンがオンラインサービスに影響を与えるのを防げます。
よくある質問
Q: エージェントを更新すると、現在実行中のセッションに影響しますか? いいえ。セッションは作成時に特定のエージェントバージョンにバインドされます。 Q: tools 配列は空にできますか? はい。tools のないエージェントは、テキストベースの対話しかできず、アクションを実行できません。 Q: name フィールドに長さの制限はありますか? 64 文字未満に保ち、小文字、数字、ハイフンを使用してください。 Q: 古いバージョンのエージェントにロールバックするにはどうすればよいですか? 自動ロールバックはサポートされていません。更新する前にエージェントの設定を保存してください。元に戻すには、最新の version 番号で古い設定を PUT してください。