すべてのプロダクト
Search
ドキュメントセンター

AI Coding Assistant Lingma:エージェントツール

最終更新日:Jun 06, 2026

ツールは、エージェントが実行できる機能 を決定します。エージェントの作成時または更新時に tools フィールドを設定することで、エージェントの機能を正確に制御できます。

ツールの役割

タスクを実行する際、エージェントは tools の設定に基づいて、呼び出し可能な機能を決定します。すべてのツールは、単一のオブジェクト { "type": "agent_toolset_20260401", "enabled_tools": [...] } を通じて設定し、enabled_tools 配列内で個別のツールを選択的に有効化します。

enabled_tools が空でない許可リストの場合、リスト外のツールはモデルに表示されず、呼び出しも試行されません。enabled_tools を省略するか、空の配列を指定した場合、すべての 組み込みツールがモデルに公開されます。tools フィールド自体を省略するか、[] に設定した場合、モデルはツールスキーマを一切受け取りません (以下の FAQ をご参照ください)。

利用可能なツール

ツール名 (enabled_tools の値) 目的 一般的な使用例
Bash シェルコマンドの実行 依存関係のインストール、スクリプトの実行、curl による API の呼び出し
Read ファイルの読み取り マウントされたファイルの表示、コードの読み取り
Write ファイルの書き込み (作成/上書き) レポートの生成、出力の作成
Edit ファイルの部分的な編集 設定の変更、コードの編集
Glob glob パターンによるファイルリストの取得 コードファイルの検索
Grep ファイル内容の検索 文字列の特定
WebFetch HTTP GET による単一ページの取得 ドキュメント/ページの取得
WebSearch Web 検索 情報の検索
DeliverArtifacts システム予約済みツール。「すべて有効」のセット (enabled_tools を省略または空にした場合) に含まれます。 enabled_tools で明示的に宣言することは推奨されません。

注意事項:

  • ツール名は先頭が大文字です (Bash であり、bash ではありません)。イベントストリームでも大文字で表示されます
  • enabled_tools を省略するか、空の配列 [] を渡すと、すべての 組み込みツール (上記の DeliverArtifacts を含む) が有効になります。エージェントにツールを一切持たせたくない場合は、tools フィールド全体を省略するか、[] に設定してください
  • enabled_tools 内の各ツール名は検証されます。未知の名前 (例: "Foo") を記述すると、400 エラー: "unknown tool name 'Foo'" が返されます
  • 旧形式のツール別オブジェクトスキーマ ({"type": "bash_20250124"} など) はサポートされていません

現在の形式: 単一オブジェクト

ツール設定は、enabled_tools 配列を介して特定のツールを切り替える単一のオブジェクトです。

{
  "tools": [
    {
      "type": "agent_toolset_20260401",
      "enabled_tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "WebFetch", "WebSearch"]
    }
  ]
}

エージェントの作成時に設定します。

curl -X POST https://api.qoder.com.cn/api/v1/cloud/agents \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "dev-agent",
    "model": "ultimate",
    "instructions": "You are a development assistant",
    "tools": [
      {
        "type": "agent_toolset_20260401",
        "enabled_tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "WebFetch", "WebSearch"]
      }
    ]
  }'

設定例

最小構成 (CLI のみ)

{
  "tools": [
    {
      "type": "agent_toolset_20260401",
      "enabled_tools": ["Bash"]
    }
  ]
}

完全な開発スタック

{
  "tools": [
    {
      "type": "agent_toolset_20260401",
      "enabled_tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "WebFetch", "WebSearch"]
    }
  ]
}

新しいバージョンの作成 (PUT による完全な置き換え)

PUT を使用して、更新されたツール設定でエージェントの新しいバージョンを作成します。

curl -X PUT https://api.qoder.com.cn/api/v1/cloud/agents/agent_abc123 \
  -H "Authorization: Bearer $QODER_PAT" \
  -H "Content-Type: application/json" \
  -d '{
    "version": 1,
    "tools": [
      {
        "type": "agent_toolset_20260401",
        "enabled_tools": ["Bash", "Read", "Write", "Edit"]
      }
    ]
  }'

PUT は完全な置き換え (パッチではない) です。含まれていないフィールドはクリアされます。楽観的同時実行制御のため、version フィールドを含める必要があります。

  • 指定されたバージョンが現在のバージョンと一致する場合: 200 が返され、バージョンが 1 増加します
  • 指定されたバージョンが古い場合: 409 { error: { type: "conflict_error", message: "Version conflict. Expected version N, got M." }} が返されます

既存のセッションは影響を受けません。新しいセッションでは、更新された設定が使用されます。

現在のツール設定の確認

curl https://api.qoder.com.cn/api/v1/cloud/agents/agent_abc123 \
  -H "Authorization: Bearer $QODER_PAT" | jq '.tools'

出力例:

[
  {
    "type": "agent_toolset_20260401",
    "enabled_tools": ["Bash", "Read", "Write", "Edit", "Glob", "Grep", "WebFetch", "WebSearch"]
  }
]

よくある質問

Q: tools を設定しない場合はどうなりますか? A: エージェントは使用可能なツールを持たず、プレーンテキストでの会話のみが可能です。エージェントに何らかのツール機能を持たせるには、少なくとも [{"type":"agent_toolset_20260401"}] を渡してください (これによりすべての組み込みツールが有効になります)。

Q: セッションレベルでツールを上書きできますか? A: 現在はできません。ツール設定はエージェントに紐付けられており、そのエージェントのすべてのセッションは同じツールセットを共有します。

Q: tools の順序は重要ですか? A: いいえ。エージェントは、タスクのコンテキストに基づいて呼び出すツールを決定します。

Q: バージョンサフィックスは今後変更されますか? A: はい。新しいツールバージョンがリリースされると、新しい日付サフィックスが導入されます。チェンジログを確認し、最新のサフィックスを採用してください。