エージェント
特化したエージェントを設定して使用します。
エージェントは、特定のタスクとワークフロー用に設定できる特化したAIアシスタントです。カスタムプロンプト、モデル、ツールアクセスを備えた焦点を絞ったツールを作成できます。
ヒント:
plan エージェントを使用して、コード変更を行わずにコードを分析し、提案をレビューします。
セッション中にエージェント間を切り替えたり、@ メンションでそれらを呼び出したりできます。
タイプ
Dropstone には 2 種類のエージェントがあります。プライマリエージェントとサブエージェントです。
プライマリエージェント
プライマリエージェントは、直接対話するメインアシスタントです。Tab キーまたは設定した switch_agent キーバインドを使用して、それらを切り替えることができます。これらのエージェントはメインの会話を処理します。ツールアクセスはパーミッションを介して設定されます。たとえば、Build はすべてのツールが有効になっていますが、Plan は制限されています。
ヒント:
セッション中に Tab キーを使用してプライマリエージェント間を切り替えることができます。
Dropstone には 2 つの組み込みプライマリエージェント Build と Plan が付属しています。以下でこれらを見ていきます。
サブエージェント
サブエージェントは、プライマリエージェントが特定のタスク用に呼び出すことができる特化したアシスタントです。メッセージで @ メンション することで、手動で呼び出すこともできます。
Dropstone には 2 つの組み込みサブエージェント General と Explore が付属しています。以下でこれを見ていきます。
組み込み
Dropstone には 2 つの組み込みプライマリエージェントと 2 つの組み込みサブエージェントが付属しています。
Build を使用
モード: primary
Build は、すべてのツールが有効になっている デフォルト のプライマリエージェントです。これは、ファイル操作とシステムコマンドへの完全なアクセスが必要な開発作業用の標準エージェントです。
Plan を使用
モード: primary
計画と分析用に設計された制限されたエージェント。パーミッションシステムを使用して、より多くの制御を提供し、意図しない変更を防ぎます。
デフォルトでは、以下のすべてが ask に設定されています。
file edits: すべての書き込み、パッチ、編集bash: すべての bash コマンド
このエージェントは、LLM にコードを分析させたり、変更を提案させたり、コードベースに実際の変更を加えずにプランを作成させたい場合に便利です。
General を使用
モード: subagent
複雑な質問を調査し、マルチステップタスクを実行するための汎用エージェント。完全なツールアクセス (todo を除く) があるため、必要に応じてファイルを変更できます。複数の作業単位を並行して実行するために使用します。
Explore を使用
モード: subagent
コードベースを探索するための高速で読み取り専用のエージェント。ファイルを変更できません。パターンでファイルをすばやく見つけたり、キーワードのコードを検索したり、コードベースに関する質問に答える必要がある場合に使用します。
Compaction を使用
モード: primary
長いコンテキストをより小さなサマリーに圧縮する隠されたシステムエージェント。必要に応じて自動的に実行され、UI では選択できません。
Title を使用
モード: primary
短いセッションタイトルを生成する隠されたシステムエージェント。自動的に実行され、UI では選択できません。
Summary を使用
モード: primary
セッションサマリーを作成する隠されたシステムエージェント。自動的に実行され、UI では選択できません。
使用方法
-
プライマリエージェントの場合、セッション中に Tab キーを使用してそれらを切り替えます。設定した
switch_agentキーバインドを使用することもできます。 -
サブエージェントは以下の方法で呼び出すことができます。
-
自動的に プライマリエージェントによって、説明に基づいて特化したタスク用に呼び出されます。
-
メッセージで @ メンション することで手動で呼び出します。例えば。
@general help me search for this function
-
-
セッション間のナビゲーション: サブエージェントが子セッションを作成する場合、
session_child_first(デフォルト: <Leader>+Down) を使用して親からの最初の子セッションに入ります。 -
子セッションに入ったら、以下を使用します。
session_child_cycle(デフォルト: Right) で次の子セッションに切り替えるsession_child_cycle_reverse(デフォルト: Left) で前の子セッションに切り替えるsession_parent(デフォルト: Up) で親セッションに戻る
これにより、メイン会話と特化したサブエージェント作業の間を切り替えることができます。
設定
組み込みエージェントをカスタマイズするか、設定を通じて独自のエージェントを作成できます。エージェントは 2 つの方法で設定できます。
JSON
dropstone.json 設定ファイルでエージェントを設定します。
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"build": {
"mode": "primary",
"model": "dropstone/dropstone-pro",
"prompt": "{file:./prompts/build.txt}",
"permission": {
"edit": "allow",
"bash": "allow"
}
},
"plan": {
"mode": "primary",
"model": "dropstone/dropstone-fast",
"permission": {
"edit": "deny",
"bash": "deny"
}
},
"code-reviewer": {
"description": "Reviews code for best practices and potential issues",
"mode": "subagent",
"model": "dropstone/dropstone-pro",
"prompt": "You are a code reviewer. Focus on security, performance, and maintainability.",
"permission": {
"edit": "deny"
}
}
}
}
Markdown
マークダウンファイルを使用してエージェントを定義することもできます。以下に配置します。
- グローバル:
~/.config/dropstone/agents/ - プロジェクト単位:
.dropstone/agents/
---
description: Reviews code for quality and best practices
mode: subagent
model: dropstone/dropstone-pro
temperature: 0.1
permission:
edit: deny
bash: deny
---
You are in code review mode. Focus on:
- Code quality and best practices
- Potential bugs and edge cases
- Performance implications
- Security considerations
Provide constructive feedback without making direct changes.
マークダウンファイル名がエージェント名になります。たとえば、review.md は review エージェントを作成します。
オプション
これらの設定オプションを詳しく見ていきましょう。
説明
description オプションを使用して、エージェントが何をするのか、いつ使用するのかについての簡潔な説明を提供します。
{
"agent": {
"review": {
"description": "Reviews code for best practices and potential issues"
}
}
}
これは 必須 の設定オプションです。
Temperature
temperature 設定を使用して、LLM の応答のランダム性と創造性を制御します。
低い値はより焦点を絞った決定論的な応答を生成し、高い値は創造性と可変性を増加させます。
{
"agent": {
"plan": {
"temperature": 0.1
},
"creative": {
"temperature": 0.8
}
}
}
Temperature 値は通常 0.0 から 1.0 の範囲です。
- 0.0-0.2: 非常に焦点を絞った決定論的な応答。コード分析と計画に最適
- 0.3-0.5: 創造性を備えたバランスの取れた応答。一般的な開発タスクに適している
- 0.6-1.0: より創造的で多様な応答。ブレーンストーミングと探索に便利
{
"agent": {
"analyze": {
"temperature": 0.1,
"prompt": "{file:./prompts/analysis.txt}"
},
"build": {
"temperature": 0.3
},
"brainstorm": {
"temperature": 0.7,
"prompt": "{file:./prompts/creative.txt}"
}
}
}
temperature が指定されていない場合、Dropstone は各ティア用に調整された適切なデフォルトを使用します。
Max steps
エージェントがテキストのみの応答を強制される前に実行できるエージェント反復の最大数を制御します。これにより、コストを制御したいユーザーがエージェント操作に制限を設定できます。
これが設定されていない場合、エージェントはモデルが停止を選択するか、ユーザーがセッションを中断するまで反復を続けます。
{
"agent": {
"quick-thinker": {
"description": "Fast reasoning with limited iterations",
"prompt": "You are a quick thinker. Solve problems with minimal steps.",
"steps": 5
}
}
}
制限に達すると、エージェントは特別なシステムプロンプトを受け取り、その作業のサマリーと推奨される残りのタスクでテキストで応答するよう指示されます。
非推奨:
レガシー maxSteps フィールドは非推奨です。代わりに steps を使用してください。
無効化
true に設定してエージェントを無効化します。
{
"agent": {
"review": {
"disable": true
}
}
}
プロンプト
prompt 設定を使用して、このエージェント用のカスタムシステムプロンプトファイルを指定します。プロンプトファイルには、エージェントの目的に固有の指示が含まれている必要があります。
{
"agent": {
"review": {
"prompt": "{file:./prompts/code-review.txt}"
}
}
}
このパスは設定ファイルが配置されている場所を基準としています。したがって、これはグローバル Dropstone 設定とプロジェクト固有の設定の両方で機能します。
モデル
model 設定を使用して、このエージェント用のモデルをオーバーライドします。異なるタスク用に最適化された異なるモデルを使用するのに便利です。たとえば、計画用の高速モデル、実装用のより高性能なモデル。
ヒント:
モデルを指定しない場合、プライマリエージェントは グローバルに設定されたモデル を使用し、サブエージェントはそれらを呼び出したプライマリエージェントのモデルを継承します。
{
"agent": {
"plan": {
"model": "dropstone/dropstone-fast"
}
}
}
モデル ID は dropstone/<tier> 形式を使用します。dropstone/dropstone-fast、dropstone/dropstone-pro、または dropstone/dropstone-heavy を使用します。
ツール (非推奨)
tools は 非推奨 です。新しい設定、更新、およびより細かい制御のために、エージェントの permission フィールドを優先してください。
このエージェントで利用可能なツールを制御できます。true または false に設定することで、特定のツールを有効または無効にできます。エージェントの tools 設定では、true は {"*": "allow"} パーミッションと同等で、false は {"*": "deny"} パーミッションと同等です。
{
"$schema": "https://dropstone.io/schema/config.json",
"tools": {
"write": true,
"bash": true
},
"agent": {
"plan": {
"tools": {
"write": false,
"bash": false
}
}
}
}
Note:
エージェント固有の設定がグローバル設定をオーバーライドします。
レガシー tools エントリでワイルドカードを使用して、複数のツールを一度に制御することもできます。たとえば、MCP サーバーからすべてのツールを無効にするには。
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"readonly": {
"tools": {
"mymcp_*": false,
"write": false,
"edit": false
}
}
}
}
パーミッション
パーミッションを設定して、エージェントが実行できるアクションを管理できます。各パーミッションキーは以下に設定できます。
"ask": ツールを実行する前に承認を求める"allow": 承認なしにすべての操作を許可"deny": ツールを無効化
利用可能なパーミッションキーは以下の通りです。
| キー | ゲートするツール |
|---|---|
read | read |
edit | write, edit, apply_patch |
glob | glob |
grep | grep |
list | list |
bash | bash |
task | task |
external_directory | プロジェクト worktree 外のファイルを読み書きするすべてのツール |
todowrite | todowrite, todoread |
webfetch | webfetch |
websearch | websearch |
lsp | lsp |
skill | skill |
question | question |
doom_loop | エージェントが立ち往生しているように見える場合の復旧プロンプト |
read、edit、glob、grep、list、bash、task、external_directory、lsp、skill は、ショートハンドアクション ("allow" | "ask" | "deny") またはグロブ/パターン → アクションのオブジェクトのいずれかを受け入れます。残りのキーはショートハンドアクションのみを受け入れます。
Note:
パーミッションキーは基になるツール名に対してワイルドカードパターンとしてマッチされるため、同じ構文が組み込み、カスタムツール、MCP ツールで機能します。たとえば "mymcp_*": "deny" は MCP サーバーからすべてのツールを拒否し、"mymcp_search": "ask" は単一のツールをターゲットにします。
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"edit": "deny"
}
}
これらのパーミッションをエージェント単位でオーバーライドできます。
{
"$schema": "https://dropstone.io/schema/config.json",
"permission": {
"edit": "deny"
},
"agent": {
"build": {
"permission": {
"edit": "ask"
}
}
}
}
Markdown エージェントでもパーミッションを設定できます。
---
description: Code review without edits
mode: subagent
permission:
edit: deny
bash:
"*": ask
"git diff": allow
"git log*": allow
"grep *": allow
webfetch: deny
---
Only analyze code and suggest changes.
特定の bash コマンドのパーミッションを設定できます。
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"git push": "ask",
"grep *": "allow"
}
}
}
}
}
これはグロブパターンを取ることができます。
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"git *": "ask"
}
}
}
}
}
また、* ワイルドカードを使用してすべてのコマンドのパーミッションを管理することもできます。
最後にマッチしたルールが優先されるため、* ワイルドカードを最初に配置し、その後に特定のルールを配置します。
{
"$schema": "https://dropstone.io/schema/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"*": "ask",
"git status *": "allow"
}
}
}
}
}
モード
mode 設定を使用してエージェントのモードを制御します。mode オプションは、エージェントの使用方法を決定するために使用されます。
{
"agent": {
"review": {
"mode": "subagent"
}
}
}
mode オプションは primary、subagent、または all に設定できます。mode が指定されていない場合、デフォルトは all です。
隠す
hidden: true を使用してサブエージェントを @ オートコンプリートメニューから隠します。Task ツール経由で他のエージェントによってプログラム的にのみ呼び出されるべき内部サブエージェントに便利です。
{
"agent": {
"internal-helper": {
"mode": "subagent",
"hidden": true
}
}
}
これはユーザーの可視性にのみ影響します。隠されたエージェントは、パーミッションが許可する場合、Task ツール経由でモデルによって呼び出すことができます。
Note:
mode: subagent エージェントにのみ適用されます。
タスクパーミッション
permission.task を使用して、エージェントが Task ツール経由で呼び出すことができるサブエージェントを制御します。柔軟なマッチングのためにグロブパターンを使用します。
{
"agent": {
"orchestrator": {
"mode": "primary",
"permission": {
"task": {
"*": "deny",
"orchestrator-*": "allow",
"code-reviewer": "ask"
}
}
}
}
}
deny に設定すると、サブエージェントは Task ツール説明から完全に削除されるため、モデルはそれを呼び出そうとしません。
ヒント:
ルールは順序で評価され、最後にマッチしたルールが優先 されます。上記の例では、orchestrator-planner は * (deny) と orchestrator-* (allow) の両方にマッチしますが、orchestrator-* が * の後に来るため、結果は allow です。
ヒント:
ユーザーは、エージェントのタスクパーミッションが拒否する場合でも、@ オートコンプリートメニュー経由で任意のサブエージェントを直接呼び出すことができます。
色
color オプションを使用して、UI でのエージェントの視覚的な外観をカスタマイズします。これはインターフェースでのエージェントの表示方法に影響します。
有効な 16 進数カラー (例: #FF5733) またはテーマカラー: primary、secondary、accent、success、warning、error、info を使用します。
{
"agent": {
"creative": {
"color": "#ff6b6b"
},
"code-reviewer": {
"color": "accent"
}
}
}
Top P
top_p オプションを使用して応答の多様性を制御します。ランダム性を制御するための temperature の代替手段。
{
"agent": {
"brainstorm": {
"top_p": 0.9
}
}
}
値は 0.0 から 1.0 の範囲です。低い値はより焦点を絞り、高い値はより多様です。
追加
エージェント設定で指定する他のオプションは、直接モデルオプションとして渡されます。Dropstone のティアの場合、サポートされているパススルーオプションは推論深度とテキスト冗長性です。
{
"agent": {
"deep-thinker": {
"description": "Agent that uses high reasoning effort for complex problems",
"model": "dropstone/dropstone-heavy",
"variant": "xhigh",
"textVerbosity": "low"
}
}
}
ヒント:
dropstone models を実行して、利用可能なティアを確認します。
エージェントを作成
次のコマンドを使用して新しいエージェントを作成できます。
dropstone agent create
このインタラクティブコマンドは以下を実行します。
- エージェントを保存する場所を尋ねます。グローバルまたはプロジェクト固有。
- エージェントが何をすべきかの説明。
- 適切なシステムプロンプトと識別子を生成します。
- エージェントが許可されるべきパーミッションを選択させます (選択しないものはすべて拒否されます)。
- 最後に、エージェント設定を含むマークダウンファイルを作成します。
ユースケース
異なるエージェントの一般的なユースケースをいくつか紹介します。
- Build エージェント: すべてのツールが有効になっている完全な開発作業
- Plan エージェント: 変更を加えずに分析と計画
- Review エージェント: 読み取り専用アクセスとドキュメントツールを備えたコードレビュー
- Debug エージェント: bash と読み取りツールが有効になっている調査に焦点
- Docs エージェント: ファイル操作を備えたドキュメント作成ですがシステムコマンドなし
例
役立つかもしれないエージェントの例をいくつか紹介します。
ヒント:
共有したいエージェントがありますか? お問い合わせ いただければ、それを紹介します。
ドキュメンテーションエージェント
---
description: Writes and maintains project documentation
mode: subagent
permission:
bash: deny
---
You are a technical writer. Create clear, comprehensive documentation.
Focus on:
- Clear explanations
- Proper structure
- Code examples
- User-friendly language
セキュリティ監査人
---
description: Performs security audits and identifies vulnerabilities
mode: subagent
permission:
edit: deny
---
You are a security expert. Focus on identifying potential security issues.
Look for:
- Input validation vulnerabilities
- Authentication and authorization flaws
- Data exposure risks
- Dependency vulnerabilities
- Configuration security issues