AI как член команды: почему ему нужно давать не инструкции, а результат
Я понял одну вещь: чем больше я объясняю AI, как именно сделать задачу, тем сильнее я его ограничиваю. Звучит нелогично. Кажется, что чем подробнее техническое задание, тем более предсказуемый результат. Я тоже так думал. Полгода я работал с Claude именно так: расписывал, какое поле вывести на экран, через какой API забрать данные, какую роль добавить в процесс. И каждый раз получал ровно то, что написал.
Как это выглядело раньше
Задача звучала примерно так: «Мне нужен рабочий стол, выведи такие поля, эту запись отсюда, эту оттуда, API вот такой, делай». С этого момента Claude буквально отупевал. Он исполнял инструкцию, а не решал задачу. Если в моём техзадании была дыра, он её не находил, потому что я не просил его искать дыры. Я просил его печатать код по моим чертежам.
Проблема в том, что чертежи в голове не помещаются, когда речь не про один процесс, а про систему из полусотни. На одном из последних проектов у нас было 61 бизнес-процесс, и они пересекались между собой: один и тот же сценарий мог запускаться из разных отделов, с разными ролями и с разными исключениями в зависимости от контекста. Удержать всё это в голове и расписать пошагово было физически нереально. Не хватило бы ни времени, ни памяти, ни терпения.
Что изменилось
Я перестал расписывать шаги и начал формулировать результат. Не «сделай вот так», а «вот что у меня есть на входе, вот что должно получиться на выходе, придумай сам, как этого добиться, и проверь себя тестами».
На практике это выглядит так. Я описываю: вот склад, у него есть вход, откуда-то приходит товар. Дальше нужно завести это в систему учёта и организовать продажу. На выходе я хочу видеть ежедневный остаток товаров и корректные проводки. Дальше сам спроектируй инфраструктуру, разбей на шаги, разбей на роли, напиши себе тесты на все сценарии, включая нестандартные: товара нет, товар есть, но не того цвета, и так далее. Протестируй всё, найди дыры, покажи мне, где их нашёл.
По тому проекту с 61 процессом в итоге получилось 112 ролей, и на каждую роль Claude сам сгенерировал около сотни тестов. Порядка десяти тысяч тестов в сумме. Настройку самой системы мы начали только тогда, когда все тесты стали зелёными. Ни одного поля вручную до этого момента.
Почему это работает
Когда я даю пошаговую инструкцию, я по сути беру на себя всю ответственность за качество решения и оставляю Claude роль исполнителя. Любая моя ошибка в постановке становится его ошибкой в результате, и он об этом даже не узнает, потому что не искал ошибок, а исполнял.
Когда я даю конечный артефакт, вход и выход, я передаю ему и ответственность за поиск решения. Он сам находит, где в моей логике не хватает согласующего, где поле не заполняется вовремя, где отгружать нечего, потому что товар не поступил. Он сам об этом говорит, потому что тест не прошёл, а не потому что я его об этом спросил.
Это ровно тот же принцип, по которому работает управление сильным сотрудником. Слабому нужно расписывать каждый шаг, потому что он не видит систему целиком. Сильному нужно дать результат, на который он отвечает, и способ проверить себя. AI сейчас достаточно силён, чтобы работать во втором режиме, если вы сами готовы перестать держать его на коротком поводке пошаговых инструкций.
Что с этим делать
Я не говорю, что тестами закрываются все риски. Из десяти тысяч тестов какая-то часть точно была построена на неверных допущениях, и с этим приходится мириться, добавляя ещё тесты, а не пытаясь вычитать всё глазами. Но разница между «распиши мне код по моему чертежу» и «вот результат, добейся его и докажи тестами» на практике оказалась не в процентах, а в разы. И по скорости, и по качеству того, что получается на выходе.
Если вы сейчас ставите AI задачи пошагово, попробуйте на одной задаче сформулировать только вход и выход, и посмотрите, что он сам найдёт.