Агенты
Настройка и использование специализированных агентов.
Агенты — это специализированные AI-ассистенты, которые можно настраивать для конкретных задач и рабочих процессов. Они позволяют создавать узконаправленные инструменты с собственными промптами, моделями и доступом к инструментам.
Tip
Используйте агента plan для анализа кода и проверки предложений без внесения каких-либо изменений в код.
Вы можете переключаться между агентами во время сессии или вызывать их с помощью упоминания @.
Типы
В Dropstone существует два типа агентов: основные агенты (primary agents) и субагенты (subagents).
Основные агенты
Основные агенты — это главные ассистенты, с которыми вы взаимодействуете напрямую. Вы можете переключаться между ними с помощью клавиши Tab или настроенного сочетания клавиш switch_agent. Эти агенты ведут основной диалог. Доступ к инструментам настраивается через разрешения: например, у Build включены все инструменты, а у Plan доступ ограничен.
Tip
Вы можете использовать клавишу Tab для переключения между основными агентами во время сессии.
Dropstone поставляется с двумя встроенными основными агентами: Build и Plan. Мы рассмотрим их ниже.
Субагенты
Субагенты — это специализированные ассистенты, которых основные агенты могут вызывать для выполнения конкретных задач. Вы также можете вызывать их вручную, упоминая их через @ в своих сообщениях.
Dropstone поставляется с двумя встроенными субагентами: General и Explore. Мы рассмотрим их ниже.
Встроенные агенты
Dropstone поставляется с двумя встроенными основными агентами и двумя встроенными субагентами.
Использование build
Режим: primary
Build — это основной агент по умолчанию со всеми включенными инструментами. Это стандартный агент для разработки, когда вам нужен полный доступ к операциям с файлами и системным командам.
Использование plan
Режим: primary
Ограниченный агент, предназначенный для планирования и анализа. Мы используем систему разрешений, чтобы дать вам больше контроля и предотвратить непреднамеренные изменения.
По умолчанию для всех следующих параметров установлено значение ask:
file edits: Все записи, патчи и правкиbash: Все bash-команды
Этот агент полезен, когда вы хотите, чтобы LLM проанализировал код, предложил изменения или создал планы без внесения фактических изменений в вашу кодовую базу.
Использование general
Режим: subagent
Универсальный агент для исследования сложных вопросов и выполнения многошаговых задач. Имеет полный доступ к инструментам (кроме todo), поэтому при необходимости может вносить изменения в файлы. Используйте его для параллельного выполнения нескольких единиц работы.
Использование explore
Режим: subagent
Быстрый агент только для чтения, предназначенный для изучения кодовых баз. Не может изменять файлы. Используйте его, когда нужно быстро найти файлы по шаблонам, выполнить поиск кода по ключевым словам или ответить на вопросы о кодовой базе.
Использование compaction
Режим: primary
Скрытый системный агент, который сжимает длинный контекст в более короткую сводку. Он запускается автоматически при необходимости и не выбирается в интерфейсе.
Использование title
Режим: primary
Скрытый системный агент, который генерирует короткие заголовки сессий. Он запускается автоматически и не выбирается в интерфейсе.
Использование summary
Режим: primary
Скрытый системный агент, который создает сводки сессий. Он запускается автоматически и не выбирается в интерфейсе.
Использование
-
Для основных агентов используйте клавишу Tab, чтобы переключаться между ними во время сессии. Вы также можете использовать настроенное сочетание клавиш
switch_agent. -
Субагентов можно вызывать:
-
Автоматически основными агентами для специализированных задач на основе их описаний.
-
Вручную, упоминая через @ субагента в своем сообщении. Например:
@general помоги мне найти эту функцию
-
-
Навигация между сессиями: Когда субагенты создают дочерние сессии, используйте
session_child_first(по умолчанию: <Leader>+Down), чтобы войти в первую дочернюю сессию из родительской. -
Находясь в дочерней сессии, используйте:
session_child_cycle(по умолчанию: Right), чтобы перейти к следующей дочерней сессииsession_child_cycle_reverse(по умолчанию: Left), чтобы перейти к предыдущей дочерней сессииsession_parent(по умолчанию: Up), чтобы вернуться в родительскую сессию
Это позволяет переключаться между основным диалогом и специализированной работой субагентов.
Настройка
Вы можете настроить встроенных агентов или создать собственных через конфигурацию. Агентов можно настраивать двумя способами:
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": "Проверяет код на соответствие лучшим практикам и потенциальные проблемы",
"mode": "subagent",
"model": "dropstone/dropstone-pro",
"prompt": "Вы — ревьюер кода. Сосредоточьтесь на безопасности, производительности и поддерживаемости.",
"permission": {
"edit": "deny"
}
}
}
}
Markdown
Вы также можете определять агентов с помощью markdown-файлов. Разместите их:
- Глобально:
~/.config/dropstone/agents/ - Для конкретного проекта:
.dropstone/agents/
---
description: Проверяет код на качество и лучшие практики
mode: subagent
model: dropstone/dropstone-pro
temperature: 0.1
permission:
edit: deny
bash: deny
---
Вы находитесь в режиме ревью кода. Сосредоточьтесь на:
- Качестве кода и лучших практиках
- Потенциальных ошибках и крайних случаях
- Влиянии на производительность
- Вопросах безопасности
Давайте конструктивную обратную связь без внесения прямых изменений.
Имя markdown-файла становится именем агента. Например, review.md создает агента review.
Опции
Рассмотрим эти параметры конфигурации подробнее.
Описание
Используйте опцию description, чтобы указать краткое описание того, что делает агент и когда его использовать.
{
"agent": {
"review": {
"description": "Проверяет код на соответствие лучшим практикам и потенциальные проблемы"
}
}
}
Это обязательный параметр конфигурации.
Температура
Управляйте случайностью и креативностью ответов LLM с помощью параметра temperature.
Более низкие значения делают ответы более сфокусированными и детерминированными, а более высокие — увеличивают креативность и вариативность.
{
"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": "Быстрое рассуждение с ограниченным количеством итераций",
"prompt": "Вы — быстрый мыслитель. Решайте задачи с минимальным количеством шагов.",
"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"
}
}
}
Идентификатор модели имеет формат 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 | Любой инструмент, который читает или записывает файлы вне рабочего дерева проекта |
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"), либо объект с шаблонами 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"
}
}
}
}
Вы также можете задавать разрешения в Markdown-агентах.
---
description: Ревью кода без правок
mode: subagent
permission:
edit: deny
bash:
"*": ask
"git diff": allow
"git log*": allow
"grep *": allow
webfetch: deny
---
Только анализируйте код и предлагайте изменения.
Вы можете задавать разрешения для конкретных 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 может быть установлена в primary, subagent или all. Если mode не указан, по умолчанию используется all.
Скрытый
Скройте субагента из меню автодополнения @ с помощью hidden: true. Полезно для внутренних субагентов, которые должны вызываться только программно другими агентами через инструмент Task.
{
"agent": {
"internal-helper": {
"mode": "subagent",
"hidden": true
}
}
}
Это влияет только на видимость для пользователя в меню автодополнения. Скрытые агенты по-прежнему могут вызываться моделью через инструмент Task, если разрешения это позволяют.
Note
Применяется только к агентам с mode: subagent.
Разрешения на задачи
Управляйте тем, какие субагенты агент может вызывать через инструмент Task, с помощью permission.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. Это влияет на то, как агент отображается в интерфейсе.
Используйте допустимый hex-цвет (например, #FF5733) или цвет темы: primary, secondary, accent, success, warning, error, info.
{
"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": "Агент, использующий высокие усилия рассуждения для сложных задач",
"model": "dropstone/dropstone-heavy",
"variant": "xhigh",
"textVerbosity": "low"
}
}
}
Tip
Выполните dropstone models, чтобы увидеть доступные тарифы.
Создание агентов
Вы можете создать новых агентов с помощью следующей команды:
dropstone agent create
Эта интерактивная команда:
- Спросит, где сохранить агента: глобально или для конкретного проекта.
- Запросит описание того, что должен делать агент.
- Сгенерирует подходящий системный промпт и идентификатор.
- Позволит выбрать, какие разрешения должны быть у агента (все, что вы не выберете, будет запрещено).
- Наконец, создаст markdown-файл с конфигурацией агента.
Варианты использования
Вот несколько распространенных вариантов использования разных агентов.
- Агент Build: Полная разработка со всеми включенными инструментами
- Агент Plan: Анализ и планирование без внесения изменений
- Агент Review: Ревью кода с доступом только для чтения плюс инструменты документации
- Агент Debug: Сосредоточен на исследовании с включенными bash и инструментами чтения
- Агент Docs: Написание документации с файловыми операциями, но без системных команд
Примеры
Вот несколько примеров агентов, которые могут оказаться полезными.
Tip
Есть агент, которым хотите поделиться? Свяжитесь с нами, и мы его опубликуем.
Агент документации
---
description: Пишет и поддерживает проектную документацию
mode: subagent
permission:
bash: deny
---
Вы — технический писатель. Создавайте понятную и исчерпывающую документацию.
Сосредоточьтесь на:
- Понятных объяснениях
- Правильной структуре
- Примерах кода
- Дружелюбном к пользователю языке
Аудитор безопасности
---
description: Проводит аудит безопасности и выявляет уязвимости
mode: subagent
permission:
edit: deny
---
Вы — эксперт по безопасности. Сосредоточьтесь на выявлении потенциальных проблем безопасности.
Ищите:
- Уязвимости проверки ввода
- Ошибки аутентификации и авторизации
- Риски утечки данных
- Уязвимости зависимостей
- Проблемы безопасности конфигурации