Qoder Agent SDK が正式に公開され、プロダクション品質の Agent を迅速に構築できます。
Qoder Agent SDK は、Qoder 製品群を動かしている Harness を SDK の形で公開したものです。タスク計画、ツール呼び出し、コンテキストとセッションの管理、権限制御、長期・短期メモリ。このランタイム一式を、TypeScript、Python または Java アプリケーションに直接組み込めます。
Qoder Agent SDK は、成熟した Agent ランタイムと柔軟な接続手段を提供します。SDK を組み込むことで、自社のツール、社内データ、業務システムを Agent の実行フローに接続し、自社プロダクトの中でタスクをエンドツーエンドで完了できるプロダクション品質の Agent を得られます。
Qoder Agent SDK はアプリケーション向けの API です。Qoder CLI はタスクの計画、モデルとの通信、対象環境でのツール実行を担う Agent ランタイムです。
TypeScript と Python の SDK パッケージには、互換性のある Qoder CLI ランタイムが同梱されています。Java SDK は初回起動時に、そのリリースに固定された Qoder CLI をダウンロードし、検証してからキャッシュして再利用します。マネージド CLI(Java)を参照してください。そのため、通常は Qoder CLI を別途セットアップする必要はありません。ランタイムを自分で管理する場合は、使用する
アプリケーションと同じ言語を選択してください。
Java の依存関係にある
一般的な統合は次の 4 つの部分で構成されます。
各言語の API の対応関係は SDK リファレンスを参照してください。一部の機能は 1 つまたは 2 つの言語でのみ提供されています。たとえば Java は、プラグイン、Agent 定義、コードセキュリティスキャン、使用量の照会をまだ提供していません。これらは本文中に注記し、言語間の差分にまとめています。
Agent は環境に実際の変更を加えます。作業ディレクトリ、ツール、認証情報、権限ポリシーは、アプリケーションのセキュリティ境界の一部です。
何を構築できるか
Qoder Agent SDK は、成熟した Agent ランタイムと柔軟な接続手段を提供します。SDK を組み込むことで、自社のツール、社内データ、業務システムを Agent の実行フローに接続し、自社プロダクトの中でタスクをエンドツーエンドで完了できるプロダクション品質の Agent を得られます。
| Agent の形態 | 代表的な用途 |
|---|---|
| コーディング Agent | IDE や自社開発ツールに組み込み、リポジトリ全体を把握した上でコードを書き、バグを修正し、テストを実行する。開発者は結果をレビューするだけ |
| ターミナル Agent | サーバーに入って本番障害を調査し、設定を一括変更し、運用スクリプトを実行する。危険なコマンドは人の承認に回す |
| オフィス Agent | 複数の社内システムからデータを集めて週報をまとめ、表を整理し、社内テンプレートに沿った文書を、そのまま使えるファイルとして仕上げる |
| 開発パイプライン統合 | CI 内で失敗したテストを修正し、ドキュメントを補完し、すべてのコミットをレビューする。読み取り専用で実行し、終わったら終了する |
| 業種特化 Agent | 金融や医療など、特定業種向けの専用アシスタント。業務システムと固有データに接続し、コンプライアンスの範囲内で専門作業を完了する |
Qoder Agent SDK と Qoder CLI の役割
Qoder Agent SDK はアプリケーション向けの API です。Qoder CLI はタスクの計画、モデルとの通信、対象環境でのツール実行を担う Agent ランタイムです。
qodercli 実行ファイルのパスを指定できます。
起動処理、通信、Agent ループの詳細は、動作の仕組みを参照してください。
SDK を選ぶ
アプリケーションと同じ言語を選択してください。
| TypeScript | Python | Java | |
|---|---|---|---|
| パッケージ | @qoder-ai/qoder-agent-sdk | qoder-agent-sdk | com.qoder.sdk:qoder-agent-sdk |
| 実行要件 | Node.js 18+ | Python 3.10+ | JRE 8+ |
| 単発タスク | query() | query() | QoderClient.query() |
| 複数ターンのセッション | query() に非同期メッセージストリームを渡す | QoderSDKClient | openSession() が返す QoderSession |
| 出力 | 型付き非同期メッセージストリーム | 型付きメッセージオブジェクトの非同期ストリーム | MessageStream。カーソルでプル、またはコールバックへプッシュ |
VERSION は、Maven Central で公開済みの SDK バージョンに置き換えてください。
各言語の実行可能なサンプルはクイックスタートを参照してください。
統合の流れ
一般的な統合は次の 4 つの部分で構成されます。
- タスクを記述する。 プロンプトを送信し、必要に応じて作業ディレクトリ、モデル、システムプロンプト、ターン上限を設定します。
- 境界を定める。 使用可能なツールと権限モードを選び、アプリケーション側の承認が必要な操作はコールバックで判断を委ねます。
- メッセージストリームを処理する。 モデルの応答、ツールの動作、進捗イベント、最終的な
resultメッセージを処理します。 - 必要に応じてセッションを制御する。 長時間動作する統合では、メッセージの追加、実行の中断、一部のランタイム設定の変更、セッション状態の取得ができます。
query() に文字列を渡します。Java では OneShotQueryRequest.of(prompt) を使います。次のターンの入力が前のターンの出力に依存する場合は、入力モードの各言語向けの複数ターン形式を使用してください。
設定可能な機能
| 機能分類 | 含まれる内容 |
|---|---|
| 入力と出力 | 単発または複数ターンの入力、画像入力、構造化メッセージ、逐次ストリーミングイベント |
| ツール | 組み込みのファイル・コマンドツール、カスタムツール、外部またはインプロセス MCP サーバー |
| Agent の振る舞い | システムプロンプトと出力スタイル、モデル、Skills、プラグイン、再利用可能な Agent 定義、サブ Agent |
| 安全性と制御 | ツールの許可リスト、権限モード、承認コールバック、Hooks、中断、ターン上限 |
| コードセキュリティ | Agent 自身の変更に対する静的チェック、およびリポジトリ単位の軽量スキャンと詳細スキャン (TypeScript、Python) |
| メモリ | ネイティブのユーザー単位・プロジェクト単位メモリ、またはアプリケーションによる生成と読み込みの制御 |
| セッション管理 | 作業ディレクトリ、永続セッション、再開とフォーク、チェックポイント、外部セッションストレージ、使用量とコンテキスト情報 |
| タスク実行 | バックグラウンドタスク、タスクの一覧とキャンセル、個別タスクの中断 |
| 設定 | インライン設定、ファイルシステム上の設定ソース、解決済み設定の確認 |
実行境界
Agent は環境に実際の変更を加えます。作業ディレクトリ、ツール、認証情報、権限ポリシーは、アプリケーションのセキュリティ境界の一部です。
- SDK と Qoder CLI の間は既定でローカル通信ですが、Qoder CLI は Qoder モデルサービスにアクセスし、プロンプトと推論に必要なコンテキストがそのサービスに送信されます。
- ファイルの書き込みとコマンドの実行は、Qoder CLI が動作している環境で行われます。
cwdは明示的に設定し、実行可能な操作は権限制御で絞り込んでください。 - モデルがファイルを直接読み書きしたり、コマンドを実行することはありません。ツール呼び出しを要求するだけで、Qoder CLI が設定されたポリシーに従って検証し実行します。
- 権限チェックを省略するモードは、外部で隔離手段が確保された環境にのみ適します。
次のステップ
- クイックスタート —— インストール、認証、最初のタスクの実行
- 動作の仕組み —— SDK の通信方式と Qoder CLI の Agent ループ
- 権限制御 —— ツールへのアクセスと承認の制御
- SDK リファレンス —— TypeScript、Python と Java の API