· СЕРГЕЙ ТРЕТЬЯКОВ
ИИ сделал не то? Возможно, проблема была в ТЗ
Почему подробное описание задачи, исключений и проверки результата важнее общей просьбы «сделай калькулятор или бота».
Знакомая ситуация.
Просишь ИИ сделать калькулятор или бота. Получаешь результат, открываешь — и первая мысль:
«Это вообще не то, что я имел в виду».
Самая простая реакция — обвинить модель.
Но в реальной разработке я всё чаще сначала возвращаюсь к собственному ТЗ.
Когда ИИ делает не то, что вы ожидали, в 80% случаев проблема не в модели — проблема в ТЗ. ИИ опирается на то, что мы описали. Если требования размыты, модель вынуждена сама заполнять пробелы — и её интерпретация легко расходится с нашей.
Для меня эти 80% — не статистика, а рабочая оценка по собственным задачам.
Вот три примера из последних проектов.
Ошибка 1. «Сделай калькулятор» без деталей
Можно попросить ИИ сделать калькулятор бетона.
Он вполне логично соберёт форму:
длина × ширина × толщина = объём.
Технически задача выполнена.
Но реальному инструменту понадобилось больше.
Разные единицы измерения.
Отдельный запас, который пользователь задаёт сам.
Показ подстановки чисел в формулу.
Корректная работа с десятичной запятой и точкой.
Копирование результата вместе с исходными размерами.
И даже правило, при котором маленький положительный объём не превращается на экране в ноль из-за округления.
Ничего из этого ИИ не обязан угадывать.
Если требования не записаны, модель реализует свою интерпретацию задачи.
Ошибка 2. «Управляй заявками» без исключений
С СБРботом та же история.
Фраза «сделай Telegram-бота для управления заявками» естественно ведёт к счастливому пути:
создали заявку → мастер выполнил работу → получили оплату → закрыли.
Но реальный процесс оказался шире.
Ремонт выполнен.
Клиент отказался без оплаты.
Клиент отказался от ремонта, но оплатил диагностику.
Это три разных финала одной заявки.
Если их нет в ТЗ, система не знает, какой статус поставить, нужно ли считать деньги и какой следующий шаг вообще допустим.
Самое сложное начинается после слов «клиент отказался».
Именно исключения превращают описание функции в описание реального бизнес-процесса.
Ошибка 3. «Сделай красиво» без проверки расчётов
ИИ может собрать аккуратный интерфейс и при этом ошибиться там, где внешний вид ничего не покажет.
В калькуляторе пришлось отдельно проверять расчёты и округление.
В СБРботе — корректность финансовой логики распределения.
Если этап проверки отсутствует в самом плане работы, красивый интерфейс создаёт опасную иллюзию готовности.
Поэтому сейчас в ТЗ я стараюсь обязательно фиксировать пять вещей:
1. Точную задачу.
Что именно должна сделать система, а не общее название функции.
2. Исключения и альтернативные маршруты.
Что происходит, когда процесс идёт не по счастливому пути.
3. Формулы и правила расчёта.
Не заставлять модель угадывать бизнес-логику.
4. Требования к результату.
Что конкретно должен получить пользователь: документ, расчёт, копирование, печать или другой результат.
5. Этап проверки.
Как понять до публикации, что система делает именно то, что требовалось.
В пятницу я писал о двух микросайтах, созданных с помощью ИИ.
Там хорошо проявился тот же принцип: сама генерация кода оказалась быстрой. Основное время ушло на постановку задачи, требования, проверку расчётов и готовность к публикации.
ТЗ — это и есть значительная часть этой работы.
Чем точнее описаны задача, исключения и критерии проверки, тем меньше места остаётся для нежелательной интерпретации.
Поэтому когда результат оказывается «не тем», я первым делом смотрю не на модель, а на своё описание задачи.
И довольно часто проблема находится именно там.
А у вас бывало, что ИИ сделал всё буквально по запросу — но совсем не то, что вы ожидали?
Первоначальная публикация: TenChat.