Dropstone CLI

エージェント

専門エージェントの設定と使用方法。

エージェントは、特定のタスクやワークフロー向けに設定できる専門化されたAIアシスタントです。カスタムプロンプト、モデル、ツールアクセスを備えた特化ツールを作成できます。

Tip

プランエージェントを使用して、コード変更を行わずにコードの分析や提案のレビューを行います。

セッション中にエージェントを切り替えたり、@メンションで呼び出したりできます。


種類

Dropstoneには2種類のエージェントがあります。プライマリエージェントとサブエージェントです。


プライマリエージェント

プライマリエージェントは、直接操作するメインのアシスタントです。Tabキーまたは設定済みのswitch_agentキーバインドを使用して切り替えることができます。これらのエージェントはメインの会話を処理します。ツールアクセスは権限によって設定されます。たとえば、Buildはすべてのツールが有効ですが、Planは制限されています。

Tip

セッション中にTabキーを使用してプライマリエージェントを切り替えることができます。

Dropstoneには、BuildPlanという2つの組み込みプライマリエージェントが付属しています。これらについては以下で説明します。


サブエージェント

サブエージェントは、プライマリエージェントが特定のタスクのために呼び出すことができる専門化されたアシスタントです。メッセージ内で**@メンション**することで手動で呼び出すこともできます。

Dropstoneには、GeneralExploreという2つの組み込みサブエージェントが付属しています。これについては以下で説明します。


組み込み

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で選択することはできません。


使用方法

  1. プライマリエージェントの場合、セッション中にTabキーを使用して切り替えます。設定済みのswitch_agentキーバインドも使用できます。

  2. サブエージェントは以下の方法で呼び出せます:

    • 説明に基づいて、プライマリエージェントが専門タスクのために自動的に呼び出す。

    • メッセージ内でサブエージェントを**@メンション**して手動で呼び出す。例:

      @general help me search for this function
      
  3. セッション間のナビゲーション:サブエージェントが子セッションを作成した場合、session_child_first(デフォルト:<Leader>+Down)を使用して、親セッションから最初の子セッションに入ります。

  4. 子セッションに入ったら、以下を使用します:

    • 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.mdreviewエージェントを作成します。


オプション

これらの設定オプションについて詳しく見ていきましょう。


説明

descriptionオプションを使用して、エージェントが何をするか、いつ使用するかの簡単な説明を提供します。

{
  "agent": {
    "review": {
      "description": "Reviews code for best practices and potential issues"
    }
  }
}

これは必須の設定オプションです。


温度

temperature設定を使用して、LLMの応答のランダム性と創造性を制御します。

値が低いほど応答は焦点が絞られ決定的になり、値が高いほど創造性と多様性が増します。

{
  "agent": {
    "plan": {
      "temperature": 0.1
    },
    "creative": {
      "temperature": 0.8
    }
  }
}

温度値は通常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}"
    }
  }
}

温度が指定されていない場合、Dropstoneは各ティアに合わせて調整された適切なデフォルト値を使用します。


最大ステップ数

エージェントがテキストのみで応答することを強制されるまでに実行できるエージェント反復の最大数を制御します。これにより、コストを制御したいユーザーがエージェントアクションに制限を設定できます。

これが設定されていない場合、エージェントはモデルが停止を選択するか、ユーザーがセッションを中断するまで反復を続けます。

{
  "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設定を使用して、このエージェントのモデルを上書きします。異なるタスクに最適化された異なるモデルを使用する場合に便利です。たとえば、プランニングには高速なモデル、実装にはより高性能なモデルを使用します。

Tip

モデルを指定しない場合、プライマリエージェントはグローバルに設定されたモデルを使用し、サブエージェントは呼び出したプライマリエージェントのモデルを継承します。

{
  "agent": {
    "plan": {
      "model": "dropstone/dropstone-fast"
    }
  }
}

モデルIDはdropstone/<tier>形式を使用します。dropstone/dropstone-fastdropstone/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":ツールを無効化

利用可能な権限キーは次のとおりです:

キー制御するツール
readread
editwriteeditapply_patch
globglob
grepgrep
listlist
bashbash
tasktask
external_directoryプロジェクトのワークツリー外のファイルを読み書きするツール
todowritetodowritetodoread
webfetchwebfetch
websearchwebsearch
lsplsp
skillskill
questionquestion
doom_loopエージェントが行き詰まったように見えるときの回復プロンプト

readeditglobgreplistbashtaskexternal_directorylspskillは、簡略アクション("allow" | "ask" | "deny")または詳細な制御のためのglob/パターン→アクションのオブジェクトのいずれかを受け入れます。残りのキーは簡略アクションのみを受け入れます。

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"
      }
    }
  }
}

マークダウンエージェントでも権限を設定できます。

---
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"
        }
      }
    }
  }
}

これはglobパターンを受け取ることができます。

{
  "$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オプションはprimarysubagent、またはallに設定できます。modeが指定されていない場合、デフォルトはallになります。


非表示

hidden: trueを使用して、@オートコンプリートメニューからサブエージェントを非表示にします。Taskツールを介して他のエージェントによってプログラム的にのみ呼び出されるべき内部サブエージェントに便利です。

{
  "agent": {
    "internal-helper": {
      "mode": "subagent",
      "hidden": true
    }
  }
}

これはオートコンプリートメニューでのユーザーへの表示にのみ影響します。非表示のエージェントは、権限が許可していれば、モデルがTaskツールを介して呼び出すことができます。

Note

mode: subagentエージェントにのみ適用されます。


タスク権限

permission.taskを使用して、エージェントがTaskツールを介して呼び出すことができるサブエージェントを制御します。柔軟なマッチングにはglobパターンを使用します。

{
  "agent": {
    "orchestrator": {
      "mode": "primary",
      "permission": {
        "task": {
          "*": "deny",
          "orchestrator-*": "allow",
          "code-reviewer": "ask"
        }
      }
    }
  }
}

denyに設定すると、サブエージェントはTaskツールの説明から完全に削除されるため、モデルはそれを呼び出そうとしません。

Tip

ルールは順番に評価され、最後に一致したルールが優先されます。上記の例では、orchestrator-planner*(deny)とorchestrator-*(allow)の両方に一致しますが、orchestrator-**の後に来るため、結果はallowになります。

Tip

ユーザーは、エージェントのタスク権限が拒否する場合でも、@オートコンプリートメニューから任意のサブエージェントを直接呼び出すことができます。


colorオプションを使用して、UIでのエージェントの視覚的な外観をカスタマイズします。これはインターフェースでのエージェントの表示方法に影響します。

有効な16進数カラー(例:#FF5733)またはテーマカラー:primarysecondaryaccentsuccesswarningerrorinfoを使用します。

{
  "agent": {
    "creative": {
      "color": "#ff6b6b"
    },
    "code-reviewer": {
      "color": "accent"
    }
  }
}

Top P

top_pオプションを使用して応答の多様性を制御します。ランダム性を制御するための温度の代替手段です。

{
  "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"
    }
  }
}

Tip

dropstone modelsを実行して、利用可能なティアを確認してください。


エージェントの作成

次のコマンドを使用して新しいエージェントを作成できます:

dropstone agent create

この対話型コマンドは次のことを行います:

  1. エージェントの保存場所(グローバルまたはプロジェクト固有)を尋ねます。
  2. エージェントが何をするかの説明。
  3. 適切なシステムプロンプトと識別子を生成します。
  4. エージェントに許可する権限を選択させます(選択しなかったものはすべて拒否されます)。
  5. 最後に、エージェント設定を含むマークダウンファイルを作成します。

ユースケース

さまざまなエージェントの一般的なユースケースをいくつか紹介します。

  • Buildエージェント:すべてのツールが有効なフル開発作業
  • Planエージェント:変更を行わない分析とプランニング
  • Reviewエージェント:読み取り専用アクセスとドキュメントツールを備えたコードレビュー
  • Debugエージェント:bashと読み取りツールが有効な調査に焦点を当てたエージェント
  • Docsエージェント:ファイル操作はあるがシステムコマンドはないドキュメント作成

役立つエージェントの例をいくつか紹介します。

Tip

共有したいエージェントがありますか?お問い合わせください。特集します。


ドキュメントエージェント

---
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
Ctrl+I