Агенты пишут больше кода, тикеты стоят: что даёт «машина обязательств» в бою

Три развилки сходятся в одном эксперименте Schwartz: гарвардская статистика по агентам в крупных компаниях, длинные серии шагов без ручных подсказок и провал стека с открытыми весами на том же рельсе правил. Для соло с агентами в IDE ставка в ревью и в состоянии на диске до коммита, а не в очередном промпте; Flight-test «машина обязательств» на Gemini, Claude и GPT-OSS прошла 926 шагов с нулём подсказок от разработчика (Randal L. Schwartz, Google Developer Experts).
Индустрия: +30% кода от агентов и ноль лишних закрытых тикетов
Schwartz опирается на исследование Harvard 2026 «Artificial Intelligence in the Firm: Bottlenecks in Software Production» (Fiona Chen, James Stratton): 718 компаний, период 2021–2026, выборка >725 000 разработчиков. К началу 2026 у >95% фирм уже внедрены агенты для написания кода, в том числе Claude Code, Cursor и Devin как примеры из его текста.
Цифры, которые он ставит рядом с личным кейсом:
- +30% объёма кода (+1500 строк на разработчика в месяц) и +23% открытых PR;
- завершённые Jira tickets/epics: +0%;
- ожидание review PR: +49% (+3,45 дня); откаты PR на переписывание почти ×2; комментарии review +35%; +14% senior-инженеров уходит на «babysitting tax».
Узкое горлышко здесь ревью: агенты увеличивают поток кода, но не снимают человеческий контроль. PDF Harvard Schwartz не цитирует напрямую; все проценты в этом блоке идут из его пересказа.
Commitment Machine: обязательства на диске, не в чате
Workflow Schwartz он называет «1986 Commitment Machine»: идеи committed speech Фернандо Флореса (1986), оркестрация через Makefile и каталог состояния в духе /etc/init.d: нумерованные Markdown-файлы (00_governance.md … 99_next_action.md). В Part 3.10 цикл перестроен так, чтобы pushback по тикету, состязательный code review и трекинг состояния происходили до git commit, а не в очереди PR на GitHub.
Роли субагентов в этом контуре:
- Codebase Archaeologist (read-only) сверяет claims тикета с
git logдо обещания кода и выдаёт15_archaeology_receipt.md; - Adversarial Critic: локальный ревьюер до коммита (
40_critic_review.md); - Counter-Offer: легальный выход, если тикет помечен CONTRADICTED, а не только Accept/Comply.
Targets в Makefile (15, 30, 40, 50…) задают DAG шагов; при нулевом scope кодовые targets могут отвечать «Nothing to be done». Для vibe-assisted разработки это ближе к skills/rules на диске (SKILL.md, лимит AGENTS.md: в примере TICKET-779 31 248 / 32 000 bytes), чем к бесконечному диалогу в окне IDE.
926 шагов, две «лоботомии» и смена модели без рестарта
926 в заголовке Schwartz — не метафора, а сумма пяти production-тикетов: 69 + 135 + 189 + 182 + 351 = 926 шагов, 18 субагентов. В его таблице колонка ручных подсказок разработчика = 0 на каждом тикете.
Две «лоботомии» на TICKET-227 (351 шаг): два сброса контекста (автосжатие, «обрезка на 200k») на шагах 188 и 350. После сброса агент читает 00…99 с диска (цель read-init-d) и продолжает без напоминаний; в одном эпизоде сжатие случилось через секунду после фразы «ok to commit and push».
Отдельно от суммы 926 Schwartz фиксирует ещё два длинных цикла:
- 960 шагов: UI verification FT-184 (эмуляторы, iOS Simulator); на шаге 432 у Claude Sonnet 4.6 (Thinking) закончилась квота провайдера;
- 791 шаг: краш-тест GPT-OSS 120B (Medium) на TICKET-894 (67 минут, остановлен автором; 18 подсказок у модели с открытыми весами).
Состояние на файловой системе защищает не только от «лоботомии» чата, но и даёт сменить поставщика модели без рестарта сценария. На шаге 433 из 960 после упора в квоту у Claude автор переключился на Gemini 4 через выбор модели в IDE; Gemini 4 дочитал файлы состояния и завершил цикл.
Контрпример, TICKET-894 A/B: Gemini 4 (FT-222) смержен с 0 подсказок; GPT-OSS 120B остановлен на шаге 791, не создал каталог состояния в духе /etc/init.d, 6 сжатий контекста, 50 сорванных вызовов инструментов (13,6% ходов), 13 обращений search_web по приватному коду, 6 параллельных фоновых git commit. Тот же контур сборки через Makefile; разный «водительский стаж» модели.
Schwartz формулирует «водительские права» из четырёх проверок: послушание правилам с первого хода (SKILL.md, 00_governance.md), чистые вызовы инструментов, базовый смысл инструментов (rg вместо Google, ожидание git commit), честная отчётность об ошибках инструментов.
Ревью до GitHub и тикеты без строк кода
Локальный состязательный контур ловит то, что иначе уедет в PR. SCAR-RIV-14: баг после await у ScaffoldMessenger при прохождении flutter analyze, пойман критиком и виджет-тестом до пуша.
TICKET-553 закрыт за 8m 29s с 0 строк кода: археолог репозитория нашёл, что обёртку уже делали и отклонили в PR #927; рекомендован план A без кода через контрпредложение, а не через очередной сгенерированный diff.
Если вы ведёте соло-воркфлоу с агентами в Cursor или аналоге, ранний проход только на чтение по истории репозитория и жёсткое локальное ревью снижают поток лишних PR. Это особенно заметно, когда индустриальные цифры показывают рост времени ожидания ревью, а не рост закрытых эпиков.
Источники
- Randal L. Schwartz, «926 Steps, Two Lobotomies, and Zero Nudges: Flight-Testing the Commitment Machine Across Gemini, Claude, and GPT-OSS»: Dev.to (дата доступа: 2026-10-23 UTC).
- Карточка публикации на Dev.to: время чтения 16 мин, опубликовано 2026-10-22 (UTC), см. primary URL выше.