SWE-AF — воркфлоу
Команда ИИ-агентов по одному запросу: планирует задачу, пишет код в параллельных ветках, тестирует, проверяет и открывает пull request
- 1 035 ★ репозитория
- Последний коммит
- Apache-2.0
Широкий доступ
Почему такой уровень
- Запускает сотни вызовов агентов, которые правят код, делают коммиты и сливают ветки в вашем репозитории
- С `GH_TOKEN` клонирует закрытые репозитории, отправляет ветки на сервер и открывает pull request от вашего имени
- Использует ключи провайдеров и подписку Claude или Codex, поэтому долгая сборка тратит баланс API или лимиты тарифа
Установка
- Работает в
Ручная установка
af install https://github.com/Agent-Field/SWE-AFНужна запущенная панель управления AgentField. Затем af run swe-planner; ключ провайдера спросят при первом запуске.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Запускает сотни вызовов агентов, которые правят код, делают коммиты и сливают ветки в вашем репозитории
- С `GH_TOKEN` клонирует закрытые репозитории, отправляет ветки на сервер и открывает pull request от вашего имени
- Использует ключи провайдеров и подписку Claude или Codex, поэтому долгая сборка тратит баланс API или лимиты тарифа
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
SWE-AF — узел на Python, который работает поверх платформы AgentField и превращает формулировку цели в готовые изменения репозитория. Вы отправляете запрос: `af call swe-planner.build --in '{"goal": "Add JWT auth", "repo_url": "https://github.com/user/my-repo"}'` или тот же запрос по HTTP к панели управления на порту 8080. Дальше узел сам создает цепочку агентов: менеджер продукта, архитектор, исполнители, тестировщики и ревьюеры. Архитектуру сначала пишут и проверяют, затем задачи сортируют по зависимостям и разбирают параллельно, каждую в своем рабочем дереве git. Для каждой задачи работает связка из исполнителя, тестировщика и ревьюера. Если проверка не проходит, исполнитель повторяет с замечаниями. Когда попытки исчерпаны, советник задачи пробует другой подход, делит работу или принимает результат, записав недоработку как долг. Если не помогло и это, перепланировщик перестраивает оставшиеся задачи и их зависимости. В конце ветки сливаются, запускаются интеграционные тесты, а проверяющий сверяет итог с критериями приемки. Исполнение сохраняет контрольные точки, поэтому после сбоя сборку продолжает `resume_build`. Поддерживаются три среды запуска: Claude Code, OpenCode (модели OpenRouter, OpenAI, Google и Anthropic) и Codex, а модель можно назначить каждой роли отдельно, например `coder` получает `opus`, а `qa` получает `haiku`. Для репозиториев на нескольких адресах есть режим `config.repos` с ролями `primary` и `dependency`. В самом репозитории лежит скилл `delegate-issue` для Claude Code: основной агент передает узлу полностью описанные задачи через `swe-planner.implement_issue` и забирает готовые ветки для слияния.
Для кого. Для команд, которые хотят отдать автономной системе крупную или хорошо описанную задачу по коду и получить пull request, и готовы платить за сотни вызовов моделей.
Подходит, если
- Нужна новая функциональность или рефакторинг, например JWT-аутентификация, и вы хотите получить ветку с тестами и открытый pull request
- Основному агенту в Claude Code нужно сэкономить токены: через скилл `delegate-issue` он передает полностью описанные независимые задачи дешевым моделям и получает ветки обратно
- Задачу ведут несколько репозиториев, например приложение и общая библиотека: режим `config.repos` задает роли `primary` и `dependency`
- Нужно сравнить модели по ролям: роли `coder` дают `opus`, роли `qa` дают `haiku`, а дешевые модели берут через OpenRouter
- Длинная сборка может прерваться: контрольные точки позволяют продолжить ее командой `resume_build`
Не подходит, если
- Требование расплывчатое: скилл `delegate-issue` сам предупреждает, что мусорная постановка даст мусорную ветку, для расплывчатых запросов автор советует `swe-planner.build`
- Вы не можете поднять панель управления AgentField: узел работает только на этой платформе, а запуск вне Docker требует Python 3.12 или новее
- Нужно разовое исправление в одном файле: сотни вызовов агентов на такую задачу тратят деньги впустую
- Репозиторий приватный, а токен GitHub выдавать нельзя: без `GH_TOKEN` узел не клонирует закрытые репозитории и не открывает pull request
Пример запроса к агенту
Отправь в SWE-AF задачу «добавить JWT-аутентификацию во все эндпоинты» для моего репозитория и дай команду, которой я смогу следить за ходомОграничения
- Проект в публичной бете. Обычный запуск поднимает 400–500 и более экземпляров агентов, а крупные сборки доходят до тысяч вызовов, поэтому счет за модели растет быстро. Пример автора: сборка pull request с десятью задачами и 79 вызовами обошлась в $19,23 на `claude-haiku-4-5`.
- Все показатели автора, в том числе 95 баллов из 100 против 73 у Claude Code с sonnet, получены на одном учебном задании (приложение со списком дел) и его собственной шкале.
- Нужен ровно один ключ провайдера. Любое непустое значение `ANTHROPIC_API_KEY` принудительно включает среду `claude_code`, даже если вы хотели `OPENROUTER_API_KEY`, поэтому ненужные ключи в `.env` оставляют закомментированными.
- Для Codex в песочнице `workspace-write` нужны пространства имен пользователей Linux через `bwrap`; в WSL2 и защищенных средах запуск может не пройти.
- Веб-поиск в среде OpenCode включается отдельно переменными `OPENCODE_ENABLE_EXA=1` и `EXA_API_KEY`, а в среде Claude он пока не подключен.
Как отключить. Остановите узел и панель управления: для Docker это `docker compose down`, для запуска из venv прервите процесс `python -m swe_af`. Установленный через `af install` узел снимите средствами AgentField. Ключи провайдеров и `GH_TOKEN` лежат в `.env` или в зашифрованном хранилище AgentField, их удаляют или отзывают отдельно.
Частые вопросы
Чем `swe-planner` отличается от `swe-fast`?
`swe-planner` строит полный цикл с планированием, архитектурой и проверками, а `swe-fast` предназначен для быстрых узких правок. Интерфейс `implement_issue` у обоих одинаков, есть также двойники с суффиксом `-go`. Для расплывчатых запросов автор советует `swe-planner.build`.
Как задать модель для каждой роли?
В поле `config.models` указывают `default` и ключи ролей, например `coder`, `qa`, `architect`: `{"default": "sonnet", "coder": "opus", "qa": "opus"}`. Среда выбирается ключом `runtime`: `claude_code`, `open_code` или `codex`. Идентификаторы для OpenRouter пишут как `openrouter/<провайдер>/<модель>`.
Что делает параметр `enable_learning`?
При `enable_learning=true` соглашения и типичные ошибки, найденные в первых задачах сборки, подставляются в следующие задачи. Так исполнители не повторяют одну и ту же ошибку.
Как развернуть узел без установки Python?
Через Docker: скопируйте `.env.example` в `.env`, раскомментируйте один ключ провайдера и выполните `docker compose up -d`. Число исполнителей меняет `docker compose up --scale swe-agent=3 -d`. Есть и кнопка развертывания на Railway вместе с панелью управления и PostgreSQL.
Что за скилл `delegate-issue` и когда он подходит?
Основной агент записывает полностью описанную задачу с названием, описанием и критериями приемки и отправляет ее вызовом `swe-planner.implement_issue` в асинхронном режиме. Узел возвращает ветку, а основной агент ее проверяет и сливает. Скилл не годится для задач, которые затрагивают файлы, правимые вами прямо сейчас.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
ВоркфлоуКаркас рабочего процесса для ИИ-разработки: спецификации, задачи и журналы сессий лежат в репозитории и подмешиваются в контекст агента
Многоагентная обвязка с проверкой результата по артефактам: стоп-хуки, независимый судья и журнал событий для Claude Code, Codex, Cursor и других
Самостоятельно размещаемый рантайм для кодовых агентов: каждый экипаж в своем Linux-контейнере, вокруг них панель управления с ролями и аудитом
Кодинговый агент на Go для открытых моделей: из беседы делает задачи в отдельных ветках, сам проверяет и вливает результат, ведет все проекты в одном окне
Самостоятельный агент-платформа для одного рабочего места: чат с планированием, база знаний, MCP-инструменты, скиллы, память и песочница
Десять ИИ-агентов в панелях tmux: менеджер раздает задачи семи исполнителям, ход работы виден на панели, поддержаны Claude Code, Codex, Cursor и OpenCode
Коротко о README
Описание начинается с вызова в одну команду и режимов работы с одним или несколькими репозиториями, затем идут пример сборки компилятора, таблица стоимости pull request, схема трех контуров управления и три способа запуска: `af install`, Railway и Docker. В нем есть тест сравнения с Claude Code и Codex с воспроизведением, раздел о ключах OpenRouter, MiniMax и Infron и инструкции по веб-поиску. В репозитории лежат документация по архитектуре, примеры сравнения агентов и политика безопасности.