Перейти к содержанию

Инструменты агента

Сила агентского режима в том, что он умеет не только рассуждать, но и действовать в пределах доступных ему возможностей. Именно поэтому он может продвигаться по задаче, а не просто предлагать идеи.

При этом важна не столько точная внутренняя классификация инструментов, сколько понимание: что агент вообще умеет делать от вашего имени и где лучше оставлять подтверждение за собой.

Что агент умеет делать

Обычно инструменты агента покрывают несколько практических сценариев.

Читать и изучать проект

Это особенно полезно в начале задачи, когда нужно сначала понять, как всё устроено.

Предлагать и вносить изменения

Именно на этом этапе особенно важно держать под контролем чувствительные или большие изменения.

Правки применяются в фоне: редактирование и создание файлов не переключают активный редактор и не открывают новые вкладки — ваш курсор, выделение и несохранённый текст в текущем файле не меняются. Открыть изменённый файл можно в любой момент, кликнув по нему в чате. Изменения сохраняются на диск и поддерживают обычные Ctrl + Z / Ctrl + Shift + Z (на macOS — ⌘Z / ⇧⌘Z).

Использовать внешний контекст

В зависимости от настроек агент может обращаться к документации и другим внешним источникам, если это помогает решить задачу точнее.

Запускать команды

Для некоторых задач агенту бывает полезно выполнить команду: например, чтобы проверить результат, посмотреть вывод или воспроизвести проблему. Это одна из самых чувствительных зон, поэтому её обычно разумно оставлять с подтверждением.

Составные команды

В VS Code агент корректно выполняет составные команды: цепочки через && и ||, перенаправления (>), многострочные команды и вложенные подоболочки. Состояние терминала сохраняется между командами: смена директории (cd), переменные окружения (export) и активированные окружения (например, virtualenv) действуют и в следующих командах.

Инструменты в Koda

Koda предоставляет набор встроенных инструментов для работы с проектом:

Инструмент Описание
read_file Чтение содержимого файлов
edit_file Редактирование файлов с заменой текста
create_new_file Создание новых файлов
run_terminal_command Выполнение команд в терминале
grep_search Поиск по коду с помощью ripgrep
file_glob_search Поиск файлов по маске
ls Просмотр содержимого директорий
codebase_tool Поиск по индексу кодовой базы
fetch_url_content Получение содержимого веб-страниц
docs_search Поиск по документации библиотек
search_web Поиск информации в интернете
read_skill Загрузка навыков
run_subagent Запуск исследовательского субагента
update_plan Публикация и обновление плана задачи

update_plan в режиме планирования

Инструмент update_plan доступен и в режиме планирования, и в режиме агента. В режиме планирования он используется для публикации готового плана, а в режиме агента — для отслеживания прогресса по шагам.

Субагенты

Инструмент run_subagent позволяет агенту делегировать подзадачу отдельному субагенту. Субагент работает в изолированном контексте: по умолчанию ему доступны только «читающие» инструменты, но в настройках можно разрешить ему поиск, изменение файлов, выполнение команд и MCP-инструменты. Задачи выполняются в фоне и параллельно, а результат приходит в основной диалог автоматически. Агент может запускать как универсального субагента, так и субагента с именованной ролью. Подробнее — в разделе Субагентность.

Как управлять инструментами

В интерфейсе можно настроить политику для разных действий.

Обычно используются три режима:

  • автоматически — агент выполняет действие без отдельного запроса;
  • с подтверждением — агент сначала показывает намерение и ждёт вашего решения;
  • выключено — агент не использует этот тип действий.

Если вы только осваиваетесь, самый безопасный рабочий вариант — оставлять подтверждение для изменений файлов и запуска команд.

Для пользователя здесь важнее всего не список внутренних названий инструментов, а прозрачность: что именно агент собирается сделать сейчас и почему.

Если агент использует слишком много действий

Если кажется, что он читает лишнее, уходит слишком широко или предлагает больше шагов, чем нужно, попробуйте:

  • сузить область задачи;
  • указать конкретные папки или файлы;
  • перевести чувствительные действия в режим подтверждения;
  • попросить работать по одному шагу за раз.