Агент сделал не то? Как написать ТЗ для ИИ-агента: шаблон и примеры
Шесть блоков ТЗ, шаблон для копирования и четыре реальных ТЗ, по которым собирали viberz.ru
Какую задачу решает
Написать ТЗ для ИИ-агента так, чтобы он не додумывал решения за тебя
Что будет на выходе
ТЗ по шаблону из шести блоков с критериями приёмки, которые агент превращает в тесты
- Кому подойдёт
Человек, который делает продукт с Claude Code или Cursor и получает от агента не то, что просил
- Тема
- Агенты и Claude Code
- Инструменты
- Claude CodeCursorPlanius
ТЗ для ИИ-агента — это текст, по которому агент вроде Claude Code или Cursor (чем они отличаются — в статье «Cursor или Claude Code») делает задачу без тебя: что сейчас не так, что сделать, чего не трогать и как проверить результат. Агент не переспрашивает так, как переспросил бы живой разработчик. Всё, что ты не написал, он додумает сам, и часто не так, как ты имел в виду. Ниже — шаблон, по которому мы ставим задачи агенту в VIBERZ, и четыре реальных ТЗ, по которым собирали этот сайт: что в них было и что пришлось дописать.
Обновлено 22 октября 2026.
Хорошее ТЗ для агента отвечает на шесть вопросов: что сейчас, что сделать, чего не трогать, где это будет работать, что делать в странных случаях и как проверить. Последний пункт важнее всех: критерии приёмки агент превращает в тесты, и «готово» можно проверить.

Почему агент делает не то
Агент берёт задачу буквально и заполняет пробелы самым простым решением. Он не знает твоего сервера, твоих пользователей и того, что уже сломалось в прошлый раз. Если в задаче одна строка, у агента остаётся сотня решений, которые он примет молча.
Сделай вход на сайт через Telegram
Бот сам заводит аккаунт по профилю в Telegram, ссылка на вход одноразовая и живёт 7 дней, второй аккаунт не появляется никогда
Во второй формулировке есть решения, которые иначе принял бы агент: сколько живёт ссылка, можно ли зайти по ней дважды, что будет с человеком, у которого уже есть аккаунт. Отсюда и вывод: ТЗ — это список решений, которые ты не хочешь отдавать агенту.
Из чего состоит ТЗ для ИИ-агента
Шесть блоков. Не каждой задаче нужны все, но пройтись по списку стоит всегда.
- 🔍Что сейчас
Что видит человек и почему это плохо. Ссылки на страницы, где это видно, и на пример, как должно быть.
- 🛠Что сделать
Список пунктов, каждый — одно проверяемое изменение. Например: «не выводить обложку на странице статьи».
- 🚫Чего не трогать
Что должно остаться как есть. Агент любит заодно «улучшить» соседний код, и этот блок его останавливает.
- 🌍Где это будет работать
Сервер, страна, сервисы, ограничения. То, что агент не увидит из кода, но от чего зависит, заработает ли решение.
- 🧩Странные случаи
Человек уже зарегистрирован, нажал дважды, пришёл через месяц, отписался. Здесь прячется большая часть багов.
- ✅Как проверить
Критерии приёмки — проверки, которые можно пройти руками или превратить в тесты: «открыть страницу — увидеть текст».
Для большого продукта целиком эти блоки разворачиваются в PRD — документ с требованиями ко всей первой версии. Как собрать его из одной идеи, разобрано в гайде «Как поставить задачу ИИ-разработчику: PRD из одной идеи». А для одной фичи или правки хватает короткого ТЗ по шаблону ниже. Если продукта ещё нет совсем, начни с бесплатного «Первый продукт с ИИ-агентом»: шесть шагов от идеи до первого экрана с готовыми промптами.
Шаблон ТЗ для нейросети
Скопируй, заполни своими словами и отдай агенту. В пустых блоках пиши «нет»: так агент видит, что ты об этом подумал.
# [Название задачи: что меняем и где]
## Что сейчас
[Что видит пользователь и почему это плохо. Ссылки на страницы.]
[Как должно быть: ссылка на пример, если есть.]
## Что сделать
- [ ] [Одно проверяемое изменение]
- [ ] [Ещё одно]
## Чего не трогать
- [Что остаётся как есть: поля, страницы, данные]
## Где это работает
- [Сервер, страна, внешние сервисы, ограничения сети]
## Странные случаи
- [Если пользователь уже ..., то ...]
- [Если нажал дважды / вернулся позже / отписался, то ...]
## Как проверить
1. Дано: [исходная ситуация]. Когда: [действие]. Тогда: [что должно произойти].
2. [Ещё одна проверка]
Перед тем как писать код, перечисли, что в этом ТЗ непонятно или противоречит само себе. Задай вопросы, потом начинай.
Последняя строка шаблона экономит больше всего времени. Агент находит дыры в ТЗ лучше, чем ты сам, если попросить его об этом до начала работы. Ещё двадцать таких коротких команд собраны в бесплатной подборке «20 фраз для Claude и ИИ-агентов»: после них агент перестаёт додумывать и лезть в работу без спроса.
Формат «дано — когда — тогда» в блоке «Как проверить» удобен тем, что каждая строка сразу становится тестом. Вот критерий из нашей задачи про бота: дано — человек забрал материал в боте; когда — дочитал страницу до 90%; тогда — в бот приходит одно сообщение с платным продолжением, а при повторном заходе — больше ничего.
Как мы пишем ТЗ в VIBERZ: четыре разбора
Сайт VIBERZ мы собираем вместе с ИИ-агентом Claude: агент пишет код, мы ставим задачи и принимаем работу. Задачи живут в Planius — трекере задач, который мы сами делаем. Ниже — четыре реальные задачи с нашего сайта: что было в ТЗ и что из этого вышло.
Разбор 1. Обложка внутри статьи: ТЗ, которое сработало сразу. Внутри каждой статьи в Блоге VIBERZ под заголовком стояла большая обложка, и текст начинался только на втором экране. ТЗ в Planius было разбито на три блока: «Что сейчас» со ссылками на две статьи и на гайд, где обложки нет; «Что сделать» — четыре пункта, из них два про то, что оставить (обложку на карточках статей в списке Блога и картинку для превью ссылки в мессенджерах); «Как проверить» — три шага. В конце отдельная пометка: это правка шаблона, содержимое статей не трогать. Агент сделал её одним коммитом, без переделок.
Два пункта из четырёх говорят, что оставить. Без них агент мог убрать обложку отовсюду: с карточек статей, из превью ссылок в мессенджерах или из админки сайта.
Разбор 2. «Сделать так или так»: ТЗ без критериев. На карточке статьи в списке Блога время чтения показывало 178 минут: сайт считал не только текст, но и служебный код страницы. В ТЗ было два варианта на выбор: считать время по видимому тексту или дать задавать его вручную. Отдельного блока с критериями приёмки не было, и Planius пометил задачу как рискованную: он сам оценивает, готова ли задача к работе, и здесь ему не хватило критериев приёмки.
Агент сделал правку и прислал её на проверку pull request — пакетом изменений, который смотрят перед выкладкой на сайт. Результат хороший, но все решения пришлось принимать по ходу: выбрали подсчёт по тексту и уже в процессе договорились, что не считать — адреса ссылок, пункты списка из одной ссылки, оформление и служебные пометки в коде. Эти правила стоило написать в ТЗ сразу.
Считать время только по видимому тексту или дать задать его вручную
Считать по тексту, без адресов ссылок и оформления. Проверка: у самой длинной статьи — правдоподобная цифра
Разбор 3. Бот с подарками: в ТЗ не было, где он будет работать. Это бот VIBERZ в Telegram: он присылает чек-листы и гайды тем, кто написал кодовое слово под рилсом. В первой версии Telegram должен был сам пересылать сообщения на наш сервер — это называется вебхук. На компьютере разработчика всё работало, а на боевом сервере сообщения не доходили: сервер стоит в России, и прямой связи с Telegram у него нет. Пришлось переделывать дважды: сначала бот стал ходить в Telegram через сервер-посредник (шлюз), потом — сам спрашивать у Telegram, что пришло (long polling, «опрос» вместо вебхука). Опрос запускается раз в минуту и держит соединение почти всю минуту, поэтому бот отвечает за секунду-две.
Агент не мог узнать об этом из кода. Одна строка в блоке «Где это работает» — «сервер в России, прямой связи с Telegram нет» — сэкономила бы две переделки. Если подключаешь оплату или CRM, где тоже нужны вебхуки, — разбор в гайде «ТЗ на вебхуки». Подробнее про такие ограничения — в статье «Как сделать Telegram-бота с ИИ».
Разбор 4. Вход на сайт через Telegram: ТЗ, которое дописывали на ходу. Человек забирает подарок в боте VIBERZ, и бот сразу заводит ему аккаунт на viberz.ru по Telegram ID — номеру его профиля в Telegram, без пароля и почты. Кнопки в боте открывают сайт уже вошедшим. Первая часть задачи была про сам вход. Но в ту же задачу пришлось добавить вторую: кто раньше зарегистрировался по почте, а потом пришёл из бота, получал второй аккаунт. В личном кабинете появилась кнопка «Привязать Telegram», а в ТЗ — правила на спорные случаи: пустой аккаунт из бота сливается с основным, а аккаунт с покупками не трогаем и зовём администратора. Как описать агенту кабинет целиком — разделы, права, пустые экраны, — в гайде «ТЗ на личный кабинет».
Итог — 25 автотестов только на вход: это проверки, которые программа прогоняет сама, без человека. Они запускаются при каждом обновлении сайта, и если хоть одна не прошла, обновление не выкладывается. Вот несколько, и от чего каждая защищает:
| Проверка | От чего защищает |
|---|---|
| Повторная выдача не заводит второй аккаунт | Человек забрал второй материал и получил ещё один кабинет |
| Ссылка одноразовая | Пересланная ссылка пускает чужого в твой аккаунт |
| Превью ссылки не тратит вход | Telegram сам открывает ссылку для превью, и одноразовый вход сгорает до клика |
| Вошедший другим аккаунтом остаётся в нём | Кнопка из бота молча переключает человека на другой аккаунт |
| Аккаунт с покупкой ждёт администратора | Автоматическое слияние теряет оплаченный доступ |
| Чужой сайт в кнопке не получает вход | Ссылка на вход уводит на посторонний адрес |
Случай с превью легко упустить: Telegram открывает ссылку сам, чтобы показать карточку, и одноразовый вход сгорает ещё до клика. Поэтому в шаблоне блоки «Странные случаи» и «Как проверить» стоят рядом: перебрал странный случай — сразу напиши к нему проверку.
Как поставить задачу ИИ-агенту по ТЗ
- 1Собери ТЗ интервью
Не пиши с нуля: попроси ИИ задавать вопросы по шаблону, пока не закроет все блоки. Готовый промпт — в гайде ТЗ на мини-продукт из идеи.
- 2Попроси найти дыры до кода
Пусть агент перечислит непонятное и противоречивое. Ответь на вопросы и допиши ответы прямо в ТЗ.
- 3Режь на части
Одна задача — один результат, который можно проверить. Вход через Telegram и привязку аккаунтов лучше было отдать двумя задачами.
- 4Критерии — в тесты
Попроси агента написать тест на каждый пункт «Как проверить». Тест упал — задача не готова.
- 5Принимай в отдельной сессии
Новая сессия агента не знает, как «старалась» первая, и проверяет строже. Промпт — Приёмка без поблажек.
Где ТЗ обычно дырявое
- Нет блока «чего не трогать». Агент чинит одно и попутно меняет соседнее.
- Выбор оставлен агенту. «Так или так» в ТЗ означает, что решать будет агент, причём молча.
- Не описано окружение. Страна сервера, внешние сервисы, ограничения сети — всё, чего не видно из кода.
- Только счастливый путь. Нет случаев «уже есть аккаунт», «нажал дважды», «вернулся через месяц».
- Непроверяемые критерии. «Чтобы было удобно» не проверить. «Открыть страницу — первым экраном видно текст» проверить можно.
- Одна задача на всё. Чем больше ТЗ, тем больше решений агент принимает за тебя между пунктами.
Отдай его агенту, который ничего не знает о проекте, и спроси, что он сделал бы иначе, чем ты задумал. Каждый его ответ — пункт, который стоит дописать.
Если делаешь целый продукт, удобнее держать требования в одном файле, который агент читает каждый раз. Готовая структура — в шпаргалке «PRD для вайбкодинга», а если ты только разбираешься, с чего начать, — в статье «Что такое вайбкодинг».
Гайды ниже открываются после бесплатной регистрации. В каждом — готовый промпт или скилл, который соберёт ТЗ под твою задачу.
Что взять дальше
- Превратить идею продукта в ТЗ — Как поставить задачу ИИ-разработчику: PRD из одной идеи, бесплатно после регистрации.
- Собрать prd.md для агента — PRD для вайбкодинга, бесплатно после регистрации.
- Описать Telegram-бота — ТЗ на Telegram-бота: bot-spec.md, бесплатно после регистрации.
- Собрать ТЗ на первую версию интервью — ТЗ на мини-продукт из идеи, бесплатно после регистрации.
- Проверить, что агент сделал всё из ТЗ — Скилл: тест-кейсы из PRD, бесплатно после регистрации.
- Командовать агентом короткими фразами — 20 фраз для Claude и ИИ-агентов, бесплатно.
- Собрать первый продукт с агентом — Первый продукт с ИИ-агентом, бесплатно.
- Принять работу агента — Приёмка без поблажек, бесплатно после регистрации.
Частые вопросы
Чем ТЗ для ИИ отличается от ТЗ для разработчика?+
Разработчик переспросит и вспомнит прошлые договорённости. Агент не помнит ничего, кроме того, что лежит в задаче и в файлах проекта, и непонятное додумывает сам. Поэтому в ТЗ для агента больше места занимают ограничения, странные случаи и проверки. Если работу делает живой подрядчик, его ТЗ проверь по гайду Проверка ТЗ подрядчика до подписания.
Насколько подробным должно быть ТЗ?+
Настолько, чтобы агенту не пришлось ничего выбирать за тебя. Правка одной страницы — полстраницы текста. Новая фича со входом, оплатой или данными пользователей — подробно, с отдельным списком странных случаев. Что проверить перед показом людям — в бесплатном чек-листе Перед запуском: 3 проверки и 3 промпта.
Можно ли попросить нейросеть написать ТЗ за меня?+
Да. Попроси её задавать вопросы по одному, пока не закроет все блоки шаблона. Решения всё равно принимаешь ты, нейросеть только не даёт забыть о них.
Чем ТЗ отличается от промпта?+
Промпт — разовая просьба в чате. ТЗ — документ, который лежит в проекте, агент сверяется с ним по ходу работы, а ты принимаешь результат по его критериям.
Агент сказал «готово», а не работает. Что не так с ТЗ?+
Скорее всего, в нём не было проверяемых критериев. Допиши блок «Как проверить» в формате «дано — когда — тогда», попроси агента написать по нему тесты и отдай результат на приёмку в новой сессии.
Применить на деле
Разовая покупка
Первый экранЧерез два дня откроешь в браузере экран своего продукта, собранный сам
Прочитать мало — собери. Шесть шагов от идеи до работающего экрана в браузере, без кода.
Взять за 990 ₽Разовая покупка
Матрица продуктовОт экспертизы к линейке продуктов: лид-магнит, трипвайр, основной продукт, флагман
Из экспертизы — в линейку продуктов: лид-магнит, трипвайр, основной продукт и флагман.
Взять за 990 ₽Или всё сразу
VIBERZ Team — 29 900 ₽
4 недели в группе: от идеи до MVP по ссылке, с созвонами и разборами. Pro-доступ ко всей библиотеке включён.