Содержание
  1. Прямой ответ и границы продукта
  2. Условия доступа и источник актуальных требований
  3. Порядок действий по выбранной задаче
  4. Учебный пример и критерии проверки
  5. Смежные варианты и что выбирать по задаче
  6. Типичные проблемы и способы диагностики
  7. Дополнительное упражнение: проверить границы роли
  8. Частые вопросы
Гайды

Как настроить агента в OpenCode

18 октября 2026 · 11 минут чтения

Материал редакции Зерокодера. Счёт по выдаче снят собственным прогоном 18 октября 2026 года; цитаты источников приведены дословно. Обновлено: октябрь 2026.

Как настроить агента в OpenCode: выберите один из способов — описать его в JSON-конфиге opencode.json в секции agent либо положить markdown-файл в каталог agents/. Агент получает режим (primary, subagent или all), модель, системный промпт, лимит шагов и набор разрешений на инструменты. Ниже — порядок действий, учебный пример и проверка результата.

Собственный прогон редакции по этому запросу: скачали подборку результатов веб-поиска по запросу «Как настроить агента в OpenCode»: текст отдали 10 из 10. Медиана объёма читаемого текста топа — 2615 слов. Метку 2026 года несут 10 из 10 прочитанных страниц.

Прямой ответ и границы продукта

Агент в OpenCode — это именованная конфигурация поведения модели внутри одного инструмента. В документации проекта различают два типа: первичные агенты, с которыми пользователь общается напрямую, и субагенты, которых вызывает основной агент через инструмент задач. Переключение между первичными агентами идёт по клавише Tab или по настроенной привязке switch_agent.

Границы стоит держать в голове до начала настройки. OpenCode — это оболочка: она управляет тем, какая модель вызвана, какие инструменты ей доступны и что требует подтверждения. Сама модель приходит от провайдера, а её идентификатор записывается в формате provider/model-id. В документации проекта приведён пример: для OpenCode Zen идентификатор модели GPT 5.1 Codex записывается как opencode/gpt-5.1-codex.

Что именно настраивается у агента:

  • mode — как агент используется: primary, subagent или all;
  • model — какая модель обслуживает этого агента;
  • prompt — файл системных инструкций;
  • temperature — степень вариативности ответов;
  • steps — максимальное количество шагов;
  • tools и permission — доступ к инструментам и правила подтверждения;
  • disable — отключение агента;
  • hidden — скрытие субагента из списка.

Если модель у агента не указана, первичные агенты берут глобально настроенную модель, а субагенты наследуют модель вызвавшего их агента. Это описано в документации проекта и объясняет, почему один и тот же субагент ведёт себя по-разному в зависимости от того, кто его позвал.

Отдельная сущность — default_agent. Она задаёт агента, который используется, когда явного выбора не сделано. Пример из документации: "default_agent": "plan" делает агентом по умолчанию планировщик.

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

Условия доступа и источник актуальных требований

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

OpenCode поддерживает форматы JSON и JSONC — второй допускает комментарии. Схема подключается строкой "$schema": "https://opencode.ai/config.json", что даёт автодополнение в редакторах, понимающих JSON Schema.

Конфигурация размещается в нескольких местах, и они объединяются. В документации проекта порядок такой: удалённая конфигурация из .well-known/opencode, глобальная ~/.config/opencode/opencode.json, пользовательская через переменную окружения OPENCODE_CONFIG, проектная opencode.json, каталоги .opencode, встроенная через OPENCODE_CONFIG_CONTENT. Более поздние источники переопределяют более ранние при конфликте ключей, а неконфликтующие настройки сохраняются из всех слоёв.

Слой Расположение Назначение
Удалённая .well-known/opencode Настройки организации по умолчанию
Глобальная ~/.config/opencode/opencode.json Пользовательские настройки
Пользовательская переменная OPENCODE_CONFIG Переопределения
Проектная opencode.json в проекте Настройки конкретного проекта
Каталоги .opencode Агенты, команды, плагины
Встроенная переменная OPENCODE_CONFIG_CONTENT Переопределение времени выполнения

Для агентов важны два каталога: глобальный ~/.config/opencode/agents/ и проектный .opencode/agents/. В документации проекта отмечено, что в каталогах .opencode и ~/.config/opencode для подкаталогов используются множественные имена — agents/, commands/, modes/, plugins/, skills/, tools/, themes/. Единственные имена вроде agent/ поддерживаются для обратной совместимости.

Практическое следствие: агент, нужный во всех проектах, кладите в глобальный каталог; агент под конкретный репозиторий — в проектный. Проектный слой переопределит глобальный при совпадении имён.

Видимость проверяйте с учётом режима: первичные агенты переключаются через Tab, а субагенты вызываются через @. Параметр hidden: true скрывает субагента из автодополнения. Затем проверьте каталог, синтаксис и поле disable; схема помогает проверить JSON-конфигурацию.

Порядок действий по выбранной задаче

Разберём настройку субагента для ревью кода. Это документированный сценарий: в справочнике по агентам приведён готовый пример code-reviewer.

Шаг 1. Выберите способ описания. JSON-конфиг удобен, когда агентов несколько и они живут рядом с другими настройками. Markdown-файл удобен, когда у агента длинный системный промпт: тело файла становится этим промптом, а метаданные — параметрами.

Шаг 2. Задайте режим. Для ревьюера подходит subagent: его вызывает основной агент через Task, а пользователь может вызвать его вручную через упоминание @. Документация указывает режимы primary, subagent и all; значение по умолчанию — all.

Шаг 3. Опишите назначение. Поле description — то, по чему основной агент понимает, когда звать субагента. Формулировка «Reviews code for best practices and potential issues» из документации проекта задаёт границы: качество и потенциальные проблемы.

Шаг 4. Выберите модель. Ревью требует аккуратности, поэтому в примере документации стоит anthropic/claude-sonnet-4-20250514. Для дешёвых операций есть отдельная опция small_model: она настраивает модель для облегчённых задач вроде генерации заголовков, и по умолчанию OpenCode пытается взять более дешёвую модель у провайдера.

Шаг 5. Напишите промпт. В документации проекта сказано: файл подсказки должен содержать инструкции, специфичные для целей агента. Подключается он через prompt со ссылкой вида {file:./prompts/code-review.txt}.

Шаг 6. Закройте лишние инструменты. Ревьюеру не нужны запись и правка. В примере документации для него выставлены write: false, edit: false, bash: false.

Шаг 7. Ограничьте разрешения. Если оставляете bash, задайте правила: "*": "ask", а конкретные безопасные команды — allow. В документации проекта приведён пример, где git diff, git log* и grep * разрешены, а webfetch запрещён.

Шаг 8. Проверьте. Позовите субагента на небольшом diff и посмотрите, какие инструменты он запрашивает. Если запросов больше ожидаемого — сузьте правила.

Порядок важен: режим и назначение определяют, кто и когда зовёт агента; модель и промпт определяют качество; разрешения определяют риск. Меняя всё сразу, вы не поймёте, что именно повлияло на результат.

Учебный пример и критерии проверки

Создайте .opencode/agents/docs-writer.md. Основа ниже следует документированному примеру агента документации; тело — учебная инструкция редакции.

MARKDOWN12 строк
---
description: Writes and maintains project documentation
mode: subagent
tools:
  bash: false
---
Ты технический писатель проекта.
Сначала прочитай существующую документацию и связанные файлы кода.
Предложи план обновления документации и дождись подтверждения.
Описывай назначение функций, входы, выходы и примеры вызовов.
Отмечай сведения, которые невозможно установить по исходникам.
Меняй только согласованные файлы документации.

Имя markdown-файла становится именем агента. Вызовите @docs-writer на небольшом разделе документации. Перед запуском запишите ожидаемые файлы и результат; после ответа сравните их с планом.

Критерии проверки: файл находится в проектном каталоге agents; frontmatter отделён строками ---; агент вызывается по имени файла; использует режим subagent; предлагает план перед правками; bash отключён; правки относятся к согласованной документации. Это предложенная читателю учебная проверка своей установки.

Смежные варианты и что выбирать по задаче

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

Агент Режим Для чего
build primary Основная работа, все инструменты включены
plan primary Планирование, инструменты ограничены
general subagent Общие задачи
explore subagent Исследование кодовой базы
scout subagent Разведка по проекту
compaction скрытый Сжатие контекста
title скрытый Генерация заголовков
summary скрытый Сводки

Разница между build и plan описана в документации проекта через разрешения: при сборке все инструменты включены, при планировании ограничены. Отсюда практическое правило: планируйте в plan, реализуйте в build.

Выбор по задаче выглядит так. Для ревью и аудита — субагент с закрытыми write и edit. Для исследования незнакомого репозитория — explore или собственный субагент с разрешёнными read, glob, grep. Для оркестрации нескольких субагентов — первичный агент с настройкой permission.task: в документации проекта показан пример, где "*": "deny", "orchestrator-*": "allow", а конкретный субагент — "ask".

Для сложных рассуждений есть параметры reasoningEffort и textVerbosity. В документации проекта приведён пример агента deep-thinker с моделью openai/gpt-5, reasoningEffort: "high" и textVerbosity: "low".

Для управления расходом выберите модель под задачу и ограничьте число итераций через steps; в документации есть пример steps: 5. Параметр small_model относится к облегчённым служебным задачам. Температура управляет вариативностью ответа: документация приводит низкое значение для анализа и высокое для генерации идей. Расход своей задачи оценивайте по фактическому использованию.

Скрытые агенты (title, summary, compaction) работают в фоне. Их настройка полезна, когда нужно поменять модель для служебных операций, не трогая основную.

Типичные проблемы и способы диагностики

Агент не появился в списке. Проверьте каталог: глобальный ~/.config/opencode/agents/, проектный .opencode/agents/. Проверьте имя подкаталога — в документации проекта указаны множественные имена. Проверьте метаданные markdown-файла: они отделяются строками ---.

Агент вызывается, но ведёт себя как основной. Проверьте mode. Значение all делает агента доступным и как первичный, и как субагент. Для чистого субагента ставьте subagent.

Субагент использует не ту модель. Вспомните правило наследования: без явной модели субагент берёт модель вызвавшего агента. Укажите model явно.

Агент просит подтверждение на каждое действие. Так работает ask. Посмотрите правила: в документации проекта описано, что правила оцениваются по шаблону и выигрывает последнее совпадающее. Универсальное "*" ставят первым, конкретные правила — после него.

Агент трогает файлы за пределами проекта. Для этого есть external_directory. В документации проекта отмечено, что расширение ~ влияет только на запись шаблона и не делает внешний путь частью рабочего пространства. Добавьте явные правила, например запрет на edit для внешнего каталога при сохранённом чтении.

Правила конфликтуют между слоями. Конфигурации объединяются. Сопоставьте модель и разрешения в глобальном и проектном файлах: при конфликте ключа действует источник с большим приоритетом. Оформление TUI проверяйте в отдельном tui.json.

Старая настройка tools не действует как ожидалось. В документации проекта указано, что начиная с v1.1.1 логическая конфигурация tools объединена с permission, а старая форма поддерживается для обратной совместимости. Переносите правила в permission.

Агент делает лишние шаги. Ограничьте steps. Это документированный параметр, применимый к субагентам.

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

Для самостоятельной проверки начните с задачи, в которой легко увидеть нарушение роли. Попросите агента изучить небольшой файл и подготовить предложение изменений. До запуска запишите, какие инструменты ему разрешены и какого результата вы ожидаете. После ответа сравните поведение с этими ожиданиями: агент должен оставаться в заданной роли, учитывать ограничения и объяснять необходимость действий, для которых требуется разрешение. Отдельно проверьте, понятны ли условия остановки и передачи работы человеку. Если результат не совпал с ожиданием, меняйте только соответствующее поле конфигурации и повторяйте ту же задачу. Этот порядок — учебное упражнение редакции; фактическое поведение своей версии OpenCode проверьте самостоятельно.

Дополнительное упражнение: проверить границы роли

Для проверки роли подготовьте небольшой учебный файл с понятным назначением. Попросите агента объяснить его устройство и предложить изменение в ответе. Заранее определите, разрешены ли изменения файлов в этом сценарии и в какой момент требуется подтверждение пользователя. Сопоставьте действия агента с собственным заданием и выбранными разрешениями. Если поведение расходится с ожиданием, сохраните исходный текст запроса и описание расхождения, затем перепроверьте относящиеся к задаче настройки.

Следующий сценарий посвятите передаче работы. Опишите в запросе, какой результат должен подготовить основной агент и какое поручение предполагается передать помощнику. Проверьте, какой агент действительно отвечает, какие данные получает и как возвращает результат. Условия такого упражнения определяет читатель; редакция не утверждает, что запускала его на конкретной версии приложения.

Для повторяемости сохраните название агента, расположение файла его настройки, выбранную модель, текст поручения и итоговый ответ. Такой журнал помогает сравнить поведение после изменения конфигурации. Меняйте только относящиеся к обнаруженной проблеме условия, сохраняя само поручение. В результате будет проще понять, объясняется ли различие настройками роли, изменением задачи или возможностями выбранной модели.

Частые вопросы

Как создать агента в OpenCode?
Два пути: добавить запись в секцию agent файла opencode.json либо положить markdown-файл в каталог agents/. В обоих случаях задаются режим, модель, промпт и разрешения. Для markdown-файла параметры идут в метаданных, а тело становится системным промптом.

Что такое субагенты OpenCode?
Это агенты, которых вызывает основной агент через инструмент задач. Пользователь общается с ними косвенно. Управлять тем, каких субагентов агент может звать, позволяет permission.task с шаблонами glob.

Как настроить агента в OpenCode для экономии токенов?
Выбирайте модель под задачу через поле model и ограничивайте число шагов параметром steps. Для облегчённых служебных задач предусмотрен small_model. Температура регулирует вариативность ответа; фактический расход сравнивают на одинаковых задачах.

Какой AI-агент использовать для OpenCode?
Начните со встроенных: build для реализации, plan для планирования, explore для исследования кода. Собственный агент нужен, когда задача повторяется и требует своего промпта и своего набора инструментов. Модель выбирается под задачу через provider/model-id.

Как работает оркестрация агентов на OpenCode?
Первичный агент получает правила permission.task и по ним решает, каких субагентов звать. В документации проекта показан пример с запретом всех по умолчанию, разрешением группы orchestrator-* и подтверждением для конкретного ревьюера. Такой конфиг удерживает вызовы внутри заданного набора.

Читайте также

3 материала