Qoder CLI のシステムプロンプトを置き換えるか拡張し、読み込む指示ファイルを制御して、実際にコンテキストへ入った内容を確認します。
システムプロンプトは、汎用モデルをどのような Agent にするかを決めます。口調、優先順位、そして譲れないルールがここで決まります。
Qoder Agent SDK は3つの層を提供し、これらは組み合わせられます。影響の小さい層から始め、必要な場合にのみ次の層へ進んでください。
両言語がこの3つの層すべてに対応しています。Python にはファイルから読み込む形式もあり、TypeScript にはありません。ファイルからプロンプトを読み込むを参照してください。
推奨される既定の方法です。Qoder CLI プリセットには、長いタスクで Agent が収束するために必要なツール利用の規律、タスク計画の挙動、出力の慣習が含まれています。追記形式はそれらをすべて保ち、末尾に独自のルールを加えます。
チームの取り決めに相当するルールは、この形式を優先してください。3つのルールを加えるためにプロンプト全体を書き換えると、変更する意図のなかった挙動まで失われます。
文字列を渡すとプリセットが上書きされます。Agent はツールとループを保持しますが、それ以外の挙動については何も前提が置かれません。
この層があることで、SDK の用途はコーディング支援を超えて広がります。トリアージ Agent、データ分析 Agent、ドキュメント Agent はいずれもプロンプトを置き換えつつ、同じ Harness を再利用できます。Agent ループ、ツール実行、権限の検証、セッション管理はそのまま維持されます。
Python SDK には、ディスクからプロンプトを読み込む3つ目の形式があります。長いプロンプトをアプリケーションコードから切り離し、単独でバージョン管理やレビューを行えます。
指示ファイルを使うと、ルールをそれが適用されるコードの近くに置けるため、人と Agent の双方に同じ指針が働きます。
マルチテナントやホスティング環境では
プロンプトの問題は、多くの場合「そのファイルが読み込まれていると知らなかった」ことに起因します。
見落とされやすいのは
出力スタイルは、行動ルールを変えずに Agent の結果の見せ方を調整します。Query のオプションではなく、設定レベルの値です。
現在のスタイルと選択可能な一覧は、セッション初期化メッセージから取得できます。
「冗長すぎる」「形式が違う」という問題には出力スタイルを、「誤った処理をした」という問題には
| 層 | 仕組み | 適した場面 |
|---|---|---|
| プリセットに追記する | systemPrompt / system_prompt のプリセット形式 | Qoder CLI の Agent 挙動を保ったまま、独自のルールを加えたい |
| 指示ファイルを読み込む | settingSources / setting_sources | ルールがリポジトリにあり、人にも Agent にも適用したい |
| 完全に置き換える | systemPrompt / system_prompt の文字列 | コーディング以外の用途の Agent を作り、独自の行動規約を定義したい |
プリセットに追記する
推奨される既定の方法です。Qoder CLI プリセットには、長いタスクで Agent が収束するために必要なツール利用の規律、タスク計画の挙動、出力の慣習が含まれています。追記形式はそれらをすべて保ち、末尾に独自のルールを加えます。
プロンプトを完全に置き換える
文字列を渡すとプリセットが上書きされます。Agent はツールとループを保持しますが、それ以外の挙動については何も前提が置かれません。
ファイルからプロンプトを読み込む
Python SDK には、ディスクからプロンプトを読み込む3つ目の形式があります。長いプロンプトをアプリケーションコードから切り離し、単独でバージョン管理やレビューを行えます。
ファイルシステムから指示を読み込む
指示ファイルを使うと、ルールをそれが適用されるコードの近くに置けるため、人と Agent の双方に同じ指針が働きます。settingSources はセッションがどのファイルを読み込むかを決めます。
settingSources: [] を使用してください。そうでない場合、Agent の挙動は Qoder CLI を実行するマシンにたまたま存在するファイルに左右され、ホスト間で実行結果を再現できなくなります。
実際に読み込まれた内容を確認する
プロンプトの問題は、多くの場合「そのファイルが読み込まれていると知らなかった」ことに起因します。InstructionsLoaded Hook は指示ファイルごとに1回発火するため、推測ではなく実際の構成を記録できます。
| フィールド | 値 | 意味 |
|---|---|---|
memory_type | User、Project、Local、Managed | ファイルがどのスコープから来たか |
load_reason | session_start、nested_traversal、path_glob_match、include、compact | 読み込まれた理由 |
file_path | パス | 読み込まれたファイル |
nested_traversal と include です。指示ファイルは他のファイルを取り込めるため、実際に有効なプロンプトは自分が書いた1つのファイルより大きくなり得ます。
出力スタイルは個別に調整する
出力スタイルは、行動ルールを変えずに Agent の結果の見せ方を調整します。Query のオプションではなく、設定レベルの値です。
systemPrompt を使ってください。