AI-инжиниринг

Autonomous Agents: Devin, SWE-Agent, OpenHands - AI который пишет код сам

Цели урока

  • Разобрать спектр автономности: от autocomplete до fully autonomous agents
  • Понять task decomposition: Plan-and-Execute, replanning при ошибках
  • Реализовать code generation loop: write → run → analyze → fix → repeat
  • Изучить self-correction (4 уровня) и benchmark SWE-bench для оценки агентов

Март 2024. Cognition Labs показывает Devin: AI получает GitHub issue, открывает браузер, пишет код, гоняет тесты, открывает PR. Стоимость одной задачи - 5 долларов. Junior-разработчик за час делает то же самое за 50 долларов и в половине случаев лучше. Но именно та половина, что Devin решает сам, без единого вопроса к человеку, переписывает структуру AI engineering команд.

  • Devin (Cognition Labs) - первый коммерческий fully autonomous agent: получает GitHub issue, открывает браузер, пишет код, гоняет тесты, создаёт PR. Без единого сообщения человеку
  • SWE-Agent (Princeton) - open-source агент на основе Claude/GPT-4, 26% SWE-bench Lite. Его shell-интерфейс (ACI) стал шаблоном для десятков production систем
  • OpenHands (бывший OpenDevin) - 53% SWE-bench Verified при среднем расходе 1.80 долларов на задачу. Используется командами как замена L3-задачам junior-разработчика
  • GitHub Copilot Workspace - Microsoft интегрировал autonomous planning прямо в GitHub Issues: агент составляет план изменений, разработчик одобряет, агент реализует

От AutoGPT до Devin и SWE-agent

30 марта 2023 года Toran Bruce Richards выложил AutoGPT, одну из первых широко известных попыток сделать GPT-4 автономным: модель сама ставила подзадачи, вызывала инструменты и работала в цикле без участия человека на каждом шаге. AutoGPT часто застревал и уходил в петли, но показал саму идею агента, который сам ведёт себя к цели. В октябре 2023 года команда из Princeton (Carlos Jimenez, John Yang и коллеги) опубликовала SWE-bench, бенчмарк из реальных задач с GitHub: модели дают issue и просят прислать патч, который проходит тесты репозитория. Это дало индустрии честную метрику для агентов, пишущих код. В марте 2024 года Cognition Labs представила Devin как автономного AI-инженера, который получает issue, пишет код, гоняет тесты и открывает PR; на старте Devin закрывал около 13.9 процента задач SWE-bench, заметно выше прежних результатов. В апреле 2024 года Princeton выпустила SWE-agent: открытый агент с agent-computer interface, который обновил state-of-the-art на полном SWE-bench и стал базой для исследований. Работа позже вышла на NeurIPS 2024.

Предварительные знания

  • Multi-Agent Systems: Orchestration, Communication, Agent Specialization

Autonomous vs Assisted: спектр автономности AI-агентов

AI coding assistants существуют в **спектре автономности** - от inline autocomplete, который предлагает следующую строку, до fully autonomous агента, который получает GitHub issue и через час создаёт готовый PR с тестами. Cursor Agent, Claude Code, Devin - это не просто разные продукты, а разные точки на этом спектре с принципиально разной архитектурой.

**Ключевое отличие Level 4 (Fully Autonomous):** агент работает в **sandbox** - Docker-контейнере с терминалом, файловой системой и браузером. Devin, например, запускает отдельный Linux environment на каждую задачу: клонирует репо, ставит зависимости, итерирует до зелёных тестов, открывает PR. Никаких прав на production-окружение нет по конструкции.

ХарактеристикаCopilot (L0-1)Cursor Agent (L2)Devin / SWE-Agent (L4)
КонтекстТекущий файлВесь проектПроект + docs + web
ДействияSuggest codeEdit + run terminalEdit + run + browse + git
ЦиклОдин шагMulti-step (5-20)Long-horizon (50-200 шагов)
Self-correctionНетRetry с ошибкойAnalyze → fix → retest
SandboxНетТерминал IDEDocker container
Стоимость за задачу (USD)0.010.10-1.001-50
SWE-bench LiteN/A~20%26-49%

**SWE-bench** - benchmark от Princeton для оценки autonomous agents. 2,294 реальных GitHub issues из Python open-source проектов. Агент получает issue description и должен создать patch, проходящий тесты. Лучший результат (2026): Claude Code - 72.0% на SWE-bench Verified.

Что принципиально отличает fully autonomous agent (Devin, SWE-Agent) от agentic IDE (Cursor Agent)?

Task Decomposition: как агент разбивает задачу на шаги

Autonomous agent не решает задачу за один LLM-вызов - это физически невозможно при работе с реальным codebase. Первый шаг всегда **task decomposition**: превратить размытый GitHub issue в последовательность атомарных действий. SWE-Agent использует ReAct (действие + наблюдение за результатом), Devin - Plan-and-Execute (сначала весь план, потом исполнение с replanning при ошибках), Claude Code - гибридный подход с динамическим деревом шагов.

**Replanning - ключ к качеству.** SWE-Agent без replanning решает 15% SWE-bench. С replanning (анализ ошибки → новый план) - 26%. С iterative replanning (до 5 попыток) - до 40%. Каждая итерация стоит 0.50-2.00 доллара в токенах.

Почему replanning (пересоставление плана после ошибки) критически важен для autonomous agents?

Code Generation Loop: write → run → fix → repeat

Сердце autonomous agent - **generation loop**: написать код, запустить в sandbox, разобрать ошибки, исправить, повторить. OpenHands тратит в среднем 60 итераций на задачу из SWE-bench, Claude Code - около 80. Это не один LLM-вызов, а длинная цепочка: каждый шаг видит историю предыдущих действий и их результаты, что и создаёт иллюзию понимания контекста.

**Context Window Management** - главный технический challenge. История из 100 iterations × 2000 chars = 200K chars. Стратегии: summarize old history, keep only last N actions + initial plan, compression через LLM.

Autonomous agent решает GitHub issue за 50 iterations. Каждая iteration - 1 LLM-вызов с ~3000 input tokens и ~500 output tokens. При стоимости 3 доллара за 1M input и 15 долларов за 1M output, какова примерная стоимость в долларах?

Self-Correction и SWE-bench: как оценивать autonomous agents

Self-correction - способность агента **обнаружить и исправить собственные ошибки** без подсказок извне. Именно здесь разрывается пропасть между L2 (Cursor Agent останавливается и спрашивает) и L4 (Devin анализирует стектрейс, трейсит зависимость, фиксит связанные файлы). Четыре уровня сложности этой коррекции принципиально отличаются по success rate.

**SWE-bench** - главный benchmark для autonomous coding agents:

AgentSWE-bench Verified (%)Avg Cost/Task (USD)Avg StepsYear
Claude Code (Anthropic)72.0%~2.50~802025
OpenHands + Claude53.0%~1.80~602025
Devin (Cognition)48.4%~5.00~1202025
SWE-Agent + GPT-4o26.0%~1.20~402024
RAG baseline4.8%~0.1012024

**SWE-bench не равно реальная разработка.** Benchmark тестирует bug fixes в Python open-source. Реальные задачи сложнее: greenfield development, UI, infra, multi-repo. SWE-bench - полезный proxy, но не абсолютная метрика.

**Как безопасно внедрять autonomous agents в production:**

  1. **Начинать с well-defined tasks:** bug fixes с чёткими reproduction steps, не vague feature requests
  2. **Обязательный code review:** autonomous agent создаёт PR, человек ревьюит. Никогда auto-merge
  3. **Sandbox с ограничениями:** network access whitelist, no production credentials, time limit
  4. **Cost budget per task:** 5-10 долларов максимум. Если агент зацикливается - kill и escalate к человеку
  5. **Постепенное увеличение автономности:** сначала L2 (Cursor Agent), потом L3 (Claude Code), потом L4 - по мере роста доверия

Какой уровень self-correction самый сложный для autonomous agent?

Итоги

  • Спектр L0-L4: не переходить к L4 (Devin, OpenHands) пока нет отлаженного code review процесса - автономность без ревью это технический долг в квадрате
  • Replanning - не бонус, а необходимость: статичный план разбивается о реальный codebase. Без него SWE-bench score 15%, с iterative replanning - 40%+
  • Generation loop считать итерациями, а не вызовами: 50 iterations × (3K input + 500 output tokens) = 0.83 доллара за задачу на Claude Sonnet
  • Self-correction работает снизу вверх: compile-time (95%) решают все, cross-file reasoning (20-30%) - только топовые агенты с пониманием dependency graph
  • SWE-bench - полезный ориентир, но тестирует только Python bug fixes. Greenfield, UI, multi-repo - агенты справляются хуже, чем цифры подсказывают

Что дальше

Autonomous agents генерируют код. Но чтобы этот код попал к пользователю - нужен правильный UX. Следующий урок - AI UX patterns: streaming UI, confidence indicators, human-in-the-loop.

  • AI UX Patterns — Как проектировать интерфейсы для AI-продуктов - streaming, confidence, human-in-the-loop
  • Multi-Agent Systems — Основы multi-agent архитектуры, на которых строятся autonomous agents

Связанные уроки

  • aie-19-multi-agent — Автономные агенты строятся на multi-agent оркестрации
  • aie-16-tool-calling — Агенты действуют через tool calls в песочнице
  • aie-66-agent-sandboxes — Песочница безопасно изолирует автономное выполнение кода
  • aie-31-evaluation — SWE-bench - это harness оценки агентов
  • ml-48-rl-intro — Цикл plan-act-observe повторяет RL-цикл агент-среда
  • alg-21-dp — Декомпозиция задач переиспользует структуру подзадач
  • alg-37-a-star
  • net-55-message-queues
Autonomous Agents: Devin, SWE-Agent, OpenHands - AI который пишет код сам

0

1

Войти