Как превратить модель в рабочего агента: пошаговая настройка OpenCode
Инструкция пригодится, если модель уже отвечает на вопросы, но вы каждый раз вручную копируете в чат одни и те же файлы, правила и данные — и получаете текст «в среднем по интернету», а не по своей задаче. Разбор Selectel на Habr описывает переход от обычного чата с LLM к агенту: OpenCode даёт модели доступ к файлам проекта, инструкциям, локальным инструментам, внешним API и MCP-серверам, а рабочее пространство вокруг неё организуете вы. Когда стоит делать: есть повторяющаяся рутина с файлами, текстами или кодом по одному сценарию. Когда не стоит: при разовой задаче хватит чата. Инструкция техническая — выполняет разработчик или подрядчик, но собственнику полезно понимать последовательность, чтобы принимать работу по проверяемым результатам.
Ключевая мысль разбора Selectel: агент отличается от чата не «умом» модели, а двумя контурами настройки. Первый — контекст (что агент знает: файлы проекта и файл-инструкция с правилами), второй — инструменты (что умеет: локальные команды, внешние API, MCP-серверы). Чат даёт только первый контур и то вручную. Ниже — последовательность от постановки задачи до первого рабочего прогона.
- Выберите одну рутинную задачу и посчитайте её в часах: сколько времени в неделю она съедает сейчас. Результат: цифра до, с которой сравните расход после запуска.
- Установите OpenCode и запустите его в терминале. Результат: агент отвечает на пробный вопрос. Если ответа нет, дальше идти нет смысла — проблема в установке или ключе.
- Подключите модель: укажите провайдера и ключ доступа в конфигурации. Результат: агент отвечает о содержании рабочей папки, то есть видит файлы, а не только историю переписки.
- Запускайте агента из корня проекта. Результат: на просьбу перечислить файлы агент выдаёт реальный список папки, а не пример из документации — так вы фиксируете границу рабочего пространства.
- Заведите файл правил в корне проекта (обычно отдельный текстовый файл вроде AGENTS.md). Опишите роль агента: кто он, какие задачи решает, например помощник по документации или по правкам кода. Результат: агент ссылается на вашу формулировку роли.
- Допишите стек, терминологию и карту проекта: что где лежит, какие названия используются, что считается готовым результатом. Результат: агент не путает сущности и находит нужный файл без подсказок.
- Зафиксируйте запреты: чего агент не делает никогда — не трогает определённые папки, не меняет конфигурацию, не отправляет ничего наружу без подтверждения. Результат: на провокационный запрос в обход запрета агент отказывается и объясняет причину.
- Задайте формат ответа: короткий план, затем действие, затем отчёт в несколько строк об изменениях. Результат: ответы одинаковы по структуре, проверка занимает минуты.
- Подключите локальные инструменты для самопроверки: тесты, линтер, сборку, скрипт проверки данных. Результат: после правки агент запускает проверку и сообщает результат.
- Выдайте доступ к внешним API через переменные окружения, а не открытым текстом в конфиге. Результат: агент обращается к сервису, а в файлах проекта ключа нет.
- Добавляйте MCP-серверы по одному и только под конкретный источник: документацию, таск-трекер, базу знаний. Результат: агент отвечает на вопрос, ответ на который есть только в этом источнике. Если сервер ответ не улучшил, отключите его.
- Ограничьте права и расход: отдельный ключ под агента, доступ только к рабочей папке, лимит на прогоны. Результат: вы можете показать, сколько потрачено и куда есть доступ.
- Прогоните первую задачу на маленьком объёме и сверьте результат вручную, пункт за пунктом. Результат: список расхождений, из которого видно, какого правила не хватает.
- Соберите библиотеку сценариев: частые задачи сохраняйте готовыми формулировками. Результат: вторую такую же задачу агент выполняет с меньшим числом правок.
Настройка окупилась, если часы из первого шага больше времени на проверку результата агента. Если правок столько же, файл правил описан слишком обще — возвращайтесь к шагам 5–8, а не покупайте новую модель.
Обсудить внедрение ИИ-агентов в вашем бизнесе
Расскажите о задаче — посчитаем, сколько часов и денег сэкономит агент.
Обсудить внедрение →