Агент для кода, который найдет абсолютно все

Агент для кода, который найдет абсолютно все

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

Я сделал идеального агента для поиска и ресерча информации в интернете. С ним качество генерируемого кода кратно выросло и я хочу поделиться своим примером настройки

Действия показанные далее применимы ко всем кодовым агентам, я использую OpenCode и покажу на нем

💡 Почему это полезно?

Начнем с того, что я использую MCP Context7 для получения свежей документации по библиотекам и MCP Exa AI для поиска в интернете и возврата данных в agent-native формате

Проблема встроенного поиска (у меня OpenCode) в том, что webfetch просто берет ссылки, найденные через websearch инструмент, который в свою очередь может набрать старого и нерелевантного говна

Дополнительно весь этот поиск, выдача HTML данных и прочее будет сильно засирать контекст. Это приводит к деградации ответов (Context Rot) и сжиганию лимитов

⛓ Теперь фиксим это

Лучшее решение это использовать субагента. Это отдельный "работяга" со своим контекстом. По сути черный ящик: на входе даем запрос, а на выходе получаем чистые данные

Для этого нам нужно глобально настроить доступ к tools, выдавая его лишь нужным субагентам. Имхо это в целом хорошая практика для любого типа агента

Действия показанные далее применимы ко всем кодовым агентам, я использую OpenCode и покажу на нем

1 Создаем субагента

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

-> OpenCode: opencode agent create
-> ClaudeCode: /agents и через интерфейс

Агент для кода, который найдет абсолютно все

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

Скачать: github.com/Asyncod/asynco-opencode-toolkit

2 Настраиваем доступ

После создания субагента надо настроить конфигурацию и полностью отключить доступ к поиску в интернете у основного агента. А для субагента наоборот — выдать доступ

В моем варианте я настраиваю глобально файл ~/.config/opencode/opencode.json, для клауда алгоритм не должен сильно отличаться

{ "$schema": "https://opencode.ai/config.json", "tools": { "context7_*": false, // OFF Context7 "websearch": false, // OFF встроенный поиск "webfetch": false, // OFF встроенный фетчер "exa_*": false // OFF Exa AI } }

После отключения нужно выдать субагенту доступ к интернету. Следите чтобы название .md файла совпадало с названием в списке агентов, иначе не заработает

Важный момент!

Подключать Exa нужно локально: "type": "local"
{ "$schema": "https://opencode.ai/config.json", "agent": { "web-researcher": { "tools": { "exa_*": true, "web_search_exa": true, "web_search_advanced_exa": true, "context7_*": true, "websearch": true, "webfetch": true } } } }

3 Проверяем

Для валидации достаточно попросить агента проверить работу субагента. После чего в thinking он создаст отдельный таск, который можно открыть нажав ctrl+x или кликнув (в TUI)

Я свой промпт настроил так, что простые таски идут через встроенный поисковик. Но если нужно искать снипеты кода или решать ошибки — агент выбирает платный EXA или условно бесплатный Context7

И во время тестирования 70% поиска шло через встроенные инструменты. Они бесплатные и в целом хорошо работают, но для качественных ресерчей лучше подходят MCP

Агент для кода, который найдет абсолютно все

Какие выводы?

Пока что я настраиваю окружение и в будущем хочу сделать больше субагентов, оставив для основного агента роль тим-лида

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

🖱 Если этот пост был интересен, то дайте знать в комментариях. Так я понимаю о чем писать дальше

1
Начать дискуссию