СР
Вайбкодинг · AI · агенты
Гайды • Агенты
Как это устроено:

Как доверить агентам код: pstack Лорен Тан

Лорен Тан из core-команды React, по её подсчёту, выпускает агентами больше двух тысяч PR в месяц и выложила свои скиллы. Гайд о том, как устроен её поток PR, где решает человек и что из этого работает в Claude Code.

4 октября 2026 · гайд обновляется
Слайд из доклада Лорен Тан: «i shipped 5000+ PRs in 6 months». Видео: @poteto в X, 21 сентября

Лорен Тан в сети подписывается poteto. Она работала с кодом в Meta, Netflix и Cursor, а в core-команде React делает React Compiler. В мае её скиллы для агентов возглавили внутренний рейтинг Cursor, и она открыла их набором pstack. По её подсчёту, с ним выходит 2000–2500 PR в месяц. Код пишут, проверяют и мержат агенты. 4 октября я попросил агента поставить pstack в мой Claude Code и проверить, что работает без Cursor.

Гайд для тех, кто работает с агентом один на один в Claude Code или Cursor. Один PR нескольким агентам вы ещё не отдавали. Команд здесь мало. Больше про устройство: кто пишет код, кто проверяет, когда агент мержит сам и что делает человек. Её цифры идут как её подсчёт, рядом с критикой. В конце то, что можно забрать к себе даже без сотни агентов.

Скорость без качества меня как цель не интересует.

Лорен Тан, README pstack, перевод
01

Что такое pstack и откуда он взялся

pstack это 50 скиллов в публичном репозитории Cursor, cursor/plugins. Лорен перенесла туда свои рабочие скиллы. Внутри Cursor главный из них называется /lauren-mode, пишет она сама. Набор появился 23 мая, почти все коммиты в нём её.

Начало README pstack: poteto работала с кодом в Meta, Netflix и Cursor, состоит в core-команде React, делает React Compiler; скорость без качества ей не нужна
Начало README pstack: опыт автора и принцип про качество

В те же дни в статье «How I Use Cursor» она показала внутренний рейтинг компании. За неделю её скиллы запустили 9 тысяч раз, почти три четверти запусков сделали агенты. Пересказы The Neuron и блогеров округлили это до «10 000 запусков».

Таблица внутреннего рейтинга Cursor за 7 дней: автор lauren, 38 скиллов, 9 076 запусков, из них 6 757 агентами и 2 319 людьми
Внутренний рейтинг авторов скиллов в Cursor за неделю. Скриншот: @poteto, статья «How I Use Cursor», 25 мая

Внутри три слоя.

/poteto-mode

Главный скилл с 23 плейбуками.

24 скилла-принципа

По одному правилу в каждом: «сначала убери лишнее», «докажи, что работает», «не жди человека».

Рабочие инструменты

Для прямого вызова: разбор чужого кода, проверка разными моделями, поиск того, что ещё сломает правка.

Скилла для планов нет: Лорен пишет, что в планы не верит и лучшая спецификация для неё это код.

Слова, которые встретятся дальше:

PR и мерж
PR, пулл-реквест: предложенная правка кода, которую смотрят перед тем, как она попадёт в общую версию проекта. Мерж: момент, когда правку вливают. Для меня это граница, после которой чужая ошибка становится общей.
Скилл
Папка с инструкцией для агента, как делать одну работу. Агент читает её сам, когда задача подходит, или по команде через косую черту.
Плейбук
Сценарий на целый тип задачи: починить баг, довести PR до мержа, вести проект несколько дней. Внутри шаги по порядку и правило, что считать готовым.
Субагент
Помощник, которого главный агент запускает на отдельный кусок работы. В pstack у каждого своя роль: писать код, вести PR, проверять.
Рой проверки
Несколько субагентов, которые одновременно проверяют один PR с разных сторон и выносят вердикт. Код они не писали, поэтому защищать им нечего.
02

Как работает /poteto-mode

Почти любую задачу Лорен начинает одной командой: /poteto-mode и дальше обычными словами. Пример из её README: «в этом PR скролл съезжает каждые 750 мс, даже когда ничего не происходит. Сначала воспроизведи, потом почини и проверь».

Скилл работает как диспетчер: читает просьбу и выбирает один из 23 плейбуков. Среди них починка бага, новая функция, прототип, присмотр за PR, ночная работа. Шаги плейбука агент дословно копирует в свой список дел. Пропущенный шаг остаётся в списке с причиной, так видно, что сделано и что нет.

Фрагмент README pstack: два примера запроса через /poteto-mode и начало таблицы из двадцати трёх плейбуков
README pstack: примеры запросов и таблица плейбуков

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

Каждое утверждение идёт с пометкой: измерено, выведено или догадка. Обратимую работу агент делает без спроса. Спрашивает только перед необратимым: перезаписью общей истории кода, деплоем, удалением данных, письмами клиентам. Для текста тоже правила: короткие фразы, ни одного длинного тире. У меня так же.

03

Как агенты ведут PR от первой строки до мержа

Самое интересное в pstack: как агенты ведут много PR сразу. Для этого три плейбука: orchestrate для проекта на несколько дней, autopilot-full и autopilot-stack для очереди PR. Роли в них одни и те же.

Как в pstack агенты ведут PR и где решает человекВерхний ряд: человек даёт задачу и выбирает режим full или stack, говорит go и утверждает план; координатор пишет брифы и код не пишет, раздаёт PR владельцам и разбирает очередь; человеку приходят только гейты, то есть необратимые действия и решения о продукте. Второй ряд: на каждый PR свой владелец, он ведёт PR от сборки до готовности: открывает PR, разбирает замечания бота, чистит код, чинит конфликты, обсуждения в ревью и CI. Третий ряд: рой проверки выносит вердикт на каждый раунд, проверяют агенты, которые этот код не писали: живая проверка в приложении обязательна, сравнение с основной веткой, минимум два аудита изменений; зелёный CI только вход, новый пуш отменяет вердикт. Если есть замечания, PR возвращается владельцу на новый раунд. Нижний ряд, два режима: в режиме full владелец мержит сам после чистого вердикта, человек читает коммиты после мержа; в режиме stack агенты не мержат, PR встают в одну цепочку, человек смотрит и вливает её сам. ЕСТЬ ЗАМЕЧАНИЯ → НОВЫЙ РАУНД ЧЕЛОВЕКДаёт задачу и режимfull или stack, говорит «go»,утверждает план и дизайн КООРДИНАТОРПишет брифы, код не пишетраздаёт PR владельцам,разбирает очередь и решает ЧЕЛОВЕКПолучает только гейтынеобратимое и решения о продукте;«продолжать ли?» не спрашивают ВЛАДЕЛЕЦ PR 1Ведёт свой PR до концасборка, PR готов к ревью,замечания бота, чистка кода,конфликты → обсуждения → CI ВЛАДЕЛЕЦ PR 2Ведёт свой PR до концасборка, PR готов к ревью,замечания бота, чистка кода,конфликты → обсуждения → CI ВЛАДЕЛЕЦ PR 3Ведёт свой PR до концасборка, PR готов к ревью,замечания бота, чистка кода,конфликты → обсуждения → CI РОЙ ПРОВЕРКИВердикт на каждый раунд. Проверяют агенты, которые этот код не писали живая проверка в приложении · обязательна сравнение с основной веткой минимум два аудита изменений зелёный CI только вход · новый пуш отменяет вердикт РЕЖИМ FULLВладелец мержит сампосле чистого вердикта роя;человек читает коммиты уже после мержа РЕЖИМ STACKЧЕЛОВЕКPR встают в одну цепочкуагенты не мержат;человек смотрит цепочку и вливает сам ЕСТЬ ЗАМЕЧАНИЯ → НОВЫЙ РАУНДЧЕЛОВЕКДаёт задачу и режимfull или stack, говорит «go»,утверждает план и дизайнКООРДИНАТОРПишет брифы, код не пишетраздаёт PR владельцам,разбирает очередь и решаетВЛАДЕЛЕЦ PR 1 · 2 · 3Ведёт свой PRдо концасборка, PR готов к ревью,замечания бота, чисткакода, конфликты →обсуждения → CIЧЕЛОВЕКПолучаеттолько гейтынеобратимое и решенияо продукте;«продолжать ли?»не спрашиваютРОЙ ПРОВЕРКИВердикт на каждый раунд. Проверяютагенты, которые этот код не писалиживая проверка в приложении · обязательнасравнение с основной веткойминимум два аудита измененийзелёный CI только вход · новый пуш отменяет вердиктРЕЖИМ FULLВладелецмержит сампосле чистого вердиктароя; человек читаеткоммиты ужепосле мержаРЕЖИМ STACKЧЕЛОВЕКPR встаютв одну цепочкуагенты не мержат;человек смотритцепочку и вливает сам
Роли в плейбуках autopilot-full и autopilot-stack. Человек стоит в начале и в конце, середину ведут агенты

Координатор код не пишет. Так и сказано в плейбуке: программа его, код никогда. Его работа: писать брифы, разбирать очередь завершённых задач и решать. Бриф с пустым обязательным полем он в работу не отдаёт.

На каждый PR свой владелец, отдельный агент в облаке Cursor. Примерно через 15 минут после старта он открывает PR сразу готовым к ревью, без черновика. Потом доказывает, что правка работает, разбирает замечания бота-ревьюера и чистит лишнее. Если что-то сломалось, порядок такой: конфликты, потом обсуждения в ревью, потом CI, то есть автоматические тесты на каждую новую версию.

Начало плейбука Autopilot-full: You own the verdicts, never the PRs; один владелец ведёт каждый PR от сборки до мержа; ready-PR в течение примерно 15 минут
Плейбук autopilot-full: «вердикты твои, PR никогда» и «примерно за 15 минут» владелец открывает PR

Вердикт выносит рой. Один из агентов обязательно запускает приложение и сам проходит изменённый путь. Другой сравнивает поведение с основной веткой. Ещё минимум двое читают изменения. Без живой проверки вердикт чистым не считается. Зелёный CI здесь только входной билет. Новый пуш отменяет вердикт, и проверка идёт заново.

Фрагмент плейбука orchestrate: CI green is an input to a verdict, not a verdict; новый SHA аннулирует строку вердикта
Плейбук orchestrate: «зелёный CI это вход для вердикта, но ещё не вердикт»

Дальше два режима. В режиме full владелец мержит сам после чистого вердикта роя. В режиме stack агенты не мержат: проверенные PR встают в одну цепочку, её смотрит и вливает человек. Stack подходит, когда правки связаны или прав на мерж у агентов нет. Главное правило записано в плейбуке shipping.

Фрагмент плейбука shipping: Safe means a verdict from an agent that did not write the code
Плейбук shipping: «безопасно значит вердикт от агента, который не писал этот код»

Что остаётся человеку. Выбрать режим и сказать «go»: просьба показать план стартом не считается. Утвердить план и новые дизайны. Ответить на гейты, то есть на необратимые действия и решения о продукте. В плейбуке orchestrate человек заглядывает дважды в день, вопрос «продолжать ли?» до него не доходит. И читать код после мержа, как делает сама Лорен.

Под разные роли разные модели. По умолчанию код пишет Grok 4.7, суждения и тексты достаются Opus 5.5. Сама Лорен в сентябре писала, что координатором ставит Fable, рабочими Grok.

Слайд High-quality verification: карта функций приложения плюс командная строка для управления приложением, итог: агент может проверить свою работу сам
Слайд из доклада: карта функций приложения и командная строка для управления им дают агенту проверить свою работу. Видео: @poteto в X
04

Как она дошла до автомержа

К автомержу Лорен шла по шагам, это видно по её постам.

  1. МайУзкое место у агентов это проверка. Запускать параллельно агентов, которым ещё не доверяешь, значит жечь токены и копить мусор в коде. Статья 25 мая.
  2. ИюньКонвейер «разобрать баг, воспроизвести, починить». Любая стадия может остановить линию, на выходе черновик PR для человека. Её правило: цикл становится автономным, только когда заслужил доверие. Пост 24 июня.
  3. ИюльВместо одного проверяющего рой. Раньше она запускала одного, потому что дорого. Пост 29 июля.
  4. АвгустТри шага (2 августа): переписать кодовую базу, чтобы агенты писали хороший код по умолчанию. Дать им скилл проверки и рой на каждый PR. Включить full autopilot. Агенты сами чинят найденные баги и мержат (8 августа). Коммиты она читает уже после мержа (19 августа).
  5. Сентябрь«Мои агенты мержат свои PR, люди их не ревьюят» (22 сентября). За месяц до этого она писала, что критичные места кода смотрит человек (29 августа). Единого правила нет, у разных проектов разный уровень доверия.
Нарисованный от руки график: по вертикали доверие, по горизонтали число агентов от одного до тысяч, кривая растёт и выходит на плато
График из доклада: доверие к агентам по вертикали, число агентов по горизонтали, от одного до тысяч. Видео: @poteto в X

Каждую правку человека она старается сделать ненужной. Лестница из её поста: сначала убрать проблему архитектурой, потом ловить её линтом или тестом, потом записать в скилл. Ревью человеком стоит последним, с припиской ngmi, на сленге «не прокатит».

05

Можно ли этому верить

Все цифры ниже её собственные. Открытого дашборда, по которому их можно пересчитать, нет.

PR в месяц · её подсчёт

  1. Июльпочти 1000за месяц
  2. Август2000в месяц, в продакшен
  3. Сентябрь и октябрь2500«за прошлый месяц» в докладе и в разговоре с Мэттом Пококом
5000+

PR за полгода на слайде доклада

15 млрд

токенов в день, «наверное, около», пишет она

80 тыс.

агентов, почти все облачные, и 1,5 триллиона токенов в её профиле в Cursor на 3 октября. За какой срок, со страницы не понять

Карточка GitHub: poteto, 4 420 коммитов, третье место среди контрибьюторов, всплеск в 2026 году, в августе 2011 коммитов
Её карточка контрибьютора из статьи о pstack: 4 420 коммитов, в августе 2011. Скриншот: @poteto в X, 31 августа

Есть нестыковка: 21 сентября «прошлый месяц» это август, а 31 августа она писала про 2000. В той же статье она назвала объём PR метрикой тщеславия. Скептику в X она ответила, что график коммитов снят с общего монорепозитория команды, и добавила: сомневаться полезно. И 2000 PR в месяц выходят в кодовой базе Grok Bot, которую она, по её словам, спроектировала под такую работу.

Критики. Квентин Галлуэдек из Hugging Face считает рамку «2000 PR в месяц» вредной для больших open-source проектов. Мейнтейнеров заливают проверенными PR, которые решают никому не нужные задачи. Марк Лик отвечает, что без ревью метод живёт только в закрытой системе с сильным CI. Ещё один комментатор пишет, что узкое место просто переезжает в ревью.

Отдельно цена. Лорен сама предупреждала, что много агентов на сильных моделях жгут дорогие токены, а рост расходов трудно посчитать. У одного пользователя на Reddit включённый лимит Cursor ушёл до 80% сразу. У другого расход вырос с миллионов токенов до миллиардов. В комментариях спрашивают, как при таком потоке устроены тестирование и аудит безопасности, когда PR одобряют агенты.

06

Как поставить pstack в Claude Code и что там не работает

В Cursor pstack ставится командой /add-plugin pstack. В Claude Code такого плагина нет, но скиллы это обычные папки с инструкцией, и Claude Code читает их так же. Поэтому я написал агенту одну фразу.

Я

установи пистек на эту систему

Агент, Claude Code

Скачал pstack, но подключить его в Claude Code не получилось: автоматический режим не разрешил мне менять папки скиллов и агентов. Эту запись обходить не буду, её нужно сделать тебе.

Что уже готово. Взял из репозитория cursor/plugins только две папки: pstack и cursor-team-kit. Проверил имена: скиллы pstack не совпадают с твоими.

Чтобы подключить, запусти одну команду. Она создаёт ссылки на скиллы и двух агентов, а занятые имена пропускает.

Что работать не будет: /setup-pstack пишет правило Cursor, poteto-mode ссылается на инструменты и модели Cursor. Я бы вызывал pstack точечно: /interrogate, /correct, /blast-radius.

я запускаю команду в терминале
Агент, Claude Code

pstack подключён: 53 скилла и 2 агента. /poteto-mode пиши в начале сообщения, сам агент его не включит. Добавил pstack и эти ограничения в реестр возможностей.

Как pstack попал в мой Claude Code, 4 октября. Ответы агента сокращены

Скачал и проверил агент сам. Подключать скиллы автоматический режим ему запретил: это правка его собственной конфигурации. Запрет агент обходить не стал, одну команду запустил я. Папка cursor-team-kit нужна ради трёх скиллов, на которые ссылается pstack. Реестр возможностей живёт в моём штабе: это папка с правилами и знаниями для моих агентов.

Хотите так же, скажите агенту: «поставь pstack из github.com/cursor/plugins в Claude Code».

Что агент сделал внутри
git clone --filter=blob:none --sparse https://github.com/cursor/plugins.git cursor-plugins
cd cursor-plugins && git sparse-checkout set pstack cursor-team-kit

# эту часть автоматический режим не дал, её запустил я:
R=~/Documents/GitHub/cursor-plugins
for d in $R/pstack/skills/*/ $R/cursor-team-kit/skills/{deslop,control-cli,control-ui}/; do
  b=$(basename $d); [ -e ~/.claude/skills/$b ] || ln -s ${d%/} ~/.claude/skills/$b
done
for a in poteto-agent comment-sicko; do
  [ -e ~/.claude/agents/$a.md ] || ln -s $R/pstack/agents/$a.md ~/.claude/agents/$a.md
done

# обновление: git -C ~/Documents/GitHub/cursor-plugins pull
Терминал: папка скиллов Claude Code, ссылки architect, blast-radius, correct, deslop, how, interrogate, poteto-mode, swarm ведут в cursor-plugins; всего 53 скилла
Папка скиллов Claude Code после установки: каждый скилл pstack это ссылка на скачанный репозиторий. Скриншот моего терминала

Потом я попросил агента спросить у /poteto-mode, как он выбирает плейбук. Ответ пришёл по правилам pstack: короткие фразы и пометка в конце, откуда знание.

Терминал: запуск /poteto-mode в Claude Code с вопросом, как он выбирает плейбук, и ответ из четырёх абзацев; последний абзац сообщает, что ответ взят из SKILL.md, а файлы плейбуков агент не открывал
/poteto-mode в Claude Code, 4 октября. Розовым выделен последний абзац: агент сам помечает, на чём основан ответ. Скриншот моего терминала

Что работает иначе, чем в Cursor:

Не я один пробую. Есть неофициальный порт pstack для Claude Code и Codex. Расмус Хьюлсков пишет, что с pstack локально в Claude Code ему работается заметно лучше.

07

Что забрать к себе, даже без автопилота

Сотня облачных агентов нужна не всем. Вот пять скиллов, которые я бы взял первыми. Каждый вызывается напрямую, а /interrogate, /correct и /blast-radius агент сам не запустит: их пишут в начале сообщения.

Ещё ценнее идеи pstack. Они работают для любой задачи, которую вы отдаёте агенту.

  1. Проверяет тот, кто не писал

    Автор правки видит то, что хотел сделать, и пропускает то, что сделал на самом деле. Поэтому вердикт выносит отдельный агент. Как в редакции: после автора текст всегда читает корректор.

  2. Зелёные тесты ещё не вердикт

    Тесты проверяют то, что в них заложили. Живая проверка в настоящем приложении ловит остальное. Как с машиной: прежде чем подписать акт, на ней проезжают круг.

  3. Факт проверяют запуском

    Если ответ можно увидеть запуском, агент делает быстрый прототип и решает по результату. Вкус и продукт остаются человеку. Как с пиджаком: размер выясняют примеркой.

  4. Каждое утверждение с пометкой

    Измерено, выведено или догадка. Так сразу видно, где можно опереться, а где нужно проверить. Как у врача: анализы и подозрения он записывает в разные графы.

  5. Доверие выдают по шагам

    Сначала агент учится доказывать, что всё работает, потом присылает черновики, потом цепочку на ревью, и только потом мержит сам. Как с новым сотрудником: первые недели он работает рядом с наставником.

  6. Повторная правка становится правилом

    Если поправили агента второй раз, ошибку закрывают архитектурой, линтом или тестом, текстом в последнюю очередь. Как в подъезде: вместо таблички «не хлопайте дверью» ставят доводчик.

В мае Лорен мержила сама и писала, что узкое место это проверка. В сентябре агенты мержат за неё, а сама она пишет, что спит по 8–9 часов. Между этими точками четыре месяца работы над проверкой. Где на этой дуге вы, видно по одному вопросу: что ваш агент вправе смержить ночью, пока вы спите?

Если соберёте свой поток PR на pstack или на своих скиллах, приходите рассказать в чат вайбкодеров. Разборы таких штук выходят в канале «рис. AI».

pstack: репозиторий, README, poteto-mode, плейбуки orchestrate, autopilot-full, autopilot-stack, babysit, shipping. Лорен Тан: @poteto в X, статья «How I Use Cursor», статья о pstack, часть 1, доклад «how i shipped 2,500 PRs last month». Пересказ про «10 000 запусков»: The Neuron. Неофициальный порт: pstack-claude. Цифры Лорен приведены по её постам, срез на 4 октября 2026. Цитаты из английских источников даны в моём переводе.