Инструменты агента¶
Сила агентского режима в том, что он умеет не только рассуждать, но и действовать в пределах доступных ему возможностей. Именно поэтому он может продвигаться по задаче, а не просто предлагать идеи.
При этом важна не столько точная внутренняя классификация инструментов, сколько понимание: что агент вообще умеет делать от вашего имени и где лучше оставлять подтверждение за собой.
Что агент умеет делать¶
Обычно инструменты агента покрывают несколько практических сценариев.
Читать и изучать проект¶
Это особенно полезно в начале задачи, когда нужно сначала понять, как всё устроено.
Предлагать и вносить изменения¶
Именно на этом этапе особенно важно держать под контролем чувствительные или большие изменения.
Правки применяются в фоне: редактирование и создание файлов не переключают активный редактор и не открывают новые вкладки — ваш курсор, выделение и несохранённый текст в текущем файле не меняются. Открыть изменённый файл можно в любой момент, кликнув по нему в чате. Изменения сохраняются на диск и поддерживают обычные Ctrl + Z / Ctrl + Shift + Z (на macOS — ⌘Z / ⇧⌘Z).
Если автоматическое применение изменений выключено, правка edit_file открывается в редакторе как diff и ждёт вашего решения — принять или отклонить, — даже когда сам инструмент разрешён к запуску без подтверждения.
Клик по имени файла в заголовке завершённой правки в истории чата открывает diff именно этой правки: содержимое файла до и после неё, только для чтения.
Использовать внешний контекст¶
В зависимости от настроек агент может обращаться к документации и другим внешним источникам, если это помогает решить задачу точнее.
Если вы заранее знаете, какие данные нужны, добавьте их сами через @. Чем контекст-провайдеры отличаются от инструментов, описано в разделе «Провайдеры и инструменты агента».
Запускать команды¶
Для некоторых задач агенту бывает полезно выполнить команду: например, чтобы проверить результат, посмотреть вывод или воспроизвести проблему. Это одна из самых чувствительных зон, поэтому её обычно разумно оставлять с подтверждением.
Составные команды
В VS Code агент корректно выполняет составные команды: цепочки через && и ||, перенаправления (>), многострочные команды и вложенные подоболочки.
Состояние терминала сохраняется между командами: смена директории (cd), переменные окружения (export) и активированные окружения (например, virtualenv) действуют и в следующих командах.
Удалённые окружения
В WSL, Dev Containers и Remote SSH команды выполняются на удалённой стороне — там же, где открыт проект. При удалённом запуске IDE на платформе IntelliJ команды выполняются на машине с IDE. Об особенностях работы — на странице «Удалённые окружения».
Большой вывод команды не теряется: как он ограничивается и восстанавливается, описано в разделе «Большой вывод инструментов».
Инструменты в 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-инструменты.
Задачи выполняются в фоне и параллельно, а результат приходит в основной диалог автоматически.
Агент может запускать как универсального субагента, так и субагента с именованной ролью.
Если субагент упал, исчерпал лимит шагов или нужны дополнительные детали, агент может продолжить ту же сессию с сохранённой историей.
Подробнее — в разделе Субагентность.
Большой вывод инструментов¶
Результат одного вызова инструмента ограничен 2000 строк или 50 КиБ — как в Koda CLI. Ограничение действует для всех инструментов: встроенных, HTTP и MCP-серверов, а также на суммарный результат, если агент выполнил несколько вызовов одного инструмента за один шаг.
Если вывод не помещается в лимит:
- в чате показывается сокращённая часть с сообщением об обрезке;
- для команд в терминале сохраняется конец вывода — обычно именно там находится итог или ошибка;
- для остальных инструментов сохраняется начало вывода;
- полный текст записывается в локальный временный файл, и путь к нему добавляется к результату.
Агент может прочитать полный вывод из сохранённого файла постранично инструментом read_file — без повторного запуска команды.
Это экономит время и лимиты: например, длинный лог сборки или большой JSON-ответ не нужно получать заново.
Хранение полных результатов
Сохранённые выводы лежат во временном каталоге операционной системы и удаляются автоматически: файлы старше 48 часов или при превышении общего объёма 100 МиБ. Обрезка не влияет на саму команду: она выполняется полностью, сокращается только текст, который видит модель.
Как управлять инструментами¶
В интерфейсе можно настроить политику для разных действий.
Обычно используются три режима:
- автоматически — агент выполняет действие без отдельного запроса;
- с подтверждением — агент сначала показывает намерение и ждёт вашего решения;
- выключено — агент не использует этот тип действий.
Если вы только осваиваетесь, самый безопасный рабочий вариант — оставлять подтверждение для изменений файлов и запуска команд.
Для пользователя здесь важнее всего не список внутренних названий инструментов, а прозрачность: что именно агент собирается сделать сейчас и почему.
Если агент использует слишком много действий¶
Если кажется, что он читает лишнее, уходит слишком широко или предлагает больше шагов, чем нужно, попробуйте:
- сузить область задачи;
- указать конкретные папки или файлы;
- перевести чувствительные действия в режим подтверждения;
- попросить работать по одному шагу за раз.