ЧАСТЬ II. КЛЮЧЕВЫЕ ТЕХНИКИ ПРОМТ‑ИНЖИНИРИНГА


ГЛАВА 3. CHAIN‑OF‑THOUGHT И ПОЭТАПНОЕ МЫШЛЕНИЕ

На каком‑то этапе вы начинаете замечать странную вещь: модель решает сложные задачи почти правильно, но всё время где‑то “спотыкается”. Чуть неправильно расставляет приоритеты, теряет одно из условий, игнорирует важное ограничение, делает вывод, который вроде звучит логично, но при ближайшем рассмотрении разваливается. Это признак того, что вы всё ещё общаетесь с моделью на уровне “дай ответ”, а не на уровне “давай думать по шагам”.

Модели семейства LLM сами по себе уже умеют рассуждать. Но по умолчанию они стараются выдать вам готовый результат как можно быстрее и компактнее. Это значит, что большая часть “внутреннего” рассуждения остаётся скрытой. Вы видите только финальное предложение, не наблюдая, какие предпосылки модель приняла, какие отбросила и где именно допустила ошибку. Как промт‑инженер, вы должны научиться вытаскивать этот процесс наружу и, по сути, управлять логикой модели через промты. Это и есть Chain‑of‑Thought – поэтапное, цепочечное мышление.

Если вы просите: “предложите маркетинговую стратегию для нашего продукта”, модель просто сгенерирует некий текст, опираясь на обобщённый опыт похожих запросов. Она попробует что‑то сказать про целевую аудиторию, каналы продвижения, контент, возможно, про бюджеты. Но она не обязана явно показывать, как она к этому пришла, какие гипотезы рассматривала, от чего отказалась. В результате вы получаете гладкий, но непрозрачный ответ: он может быть частично верным, частично ошибочным, а где и почему – непонятно.

Как только вы добавляете в промт требования “подумать по шагам”, вы переключаете модель в другой режим. Вы фактически говорите: меня интересует не только результат, но и путь. “Сначала разберите исходные данные, затем сформулируйте критерии выбора, потом перечислите возможные варианты, затем по этим критериям оцените каждый вариант и только после этого сделайте вывод”. В таком формате модель вынуждена “раскладывать” своё решение на явные этапы. Да, это всё равно статистическое продолжение текста, но оно организовано вокруг структуры, которую вы задали.

Разница между “дай ответ” и “объясни ход рассуждений” критична.

В первом случае модель стремится к краткости и эффектности: дать то, что звучит как уверенный, законченный вариант. Во втором случае вы просите её разжевать мыслительный процесс, и она уже не может просто выдать красиво оформленную догадку – ей приходится “играть” в аналитика, который показывает расчёт. Не случайно многие сложные задачи (логические, математические, стратегические) решаются моделью значительно лучше, если вы просите её объяснить, как она думает.

Однако важно понимать, что Chain‑of‑Thought – не серебряная пуля. Бывают случаи, когда он действительно повышает качество, а бывают – когда только тормозит работу и засоряет ответ лишними словами.

Где CoT особенно полезен? В задачах, где есть несколько ограничений, пересекающиеся условия, trade‑off’ы и необходимость выбрать лучший вариант среди разных альтернатив. Например, когда вы подбираете маркетинговую стратегию с ограниченным бюджетом и несколькими целями; когда нужно приоритизировать фичи продукта; когда вы решаете логическую головоломку; когда разбираете сложные сценарии поведения пользователя. В таких случаях поэтапное мышление помогает модели не потерять условия, а вам – увидеть, где она исказила или забыла важную деталь.

Где CoT может только мешать? В простых, рутинных задачах, где вам нужен быстрый, короткий ответ: переписать абзац, сделать краткое резюме, предложить пару вариантов заголовков. Если каждый раз заставлять модель “думать по шагам” там, где достаточно одного шага, вы будете тратить контекст, время и своё внимание на лишние объяснения. Более того, иногда излишнее “рассуждение” провоцирует модель усложнять то, что можно решить просто.

Как промт‑инженер, вы должны научиться чувствовать этот баланс: где вам нужен только результат, а где обязательно нужен путь. И ещё важнее – уметь задавать структуру этого пути. “Подумай по шагам” – это зачаточная форма Chain‑of‑Thought. Настоящая сила появляется, когда вы явно описываете шаги: “сначала сформулируй критерии, затем собери варианты, затем сравни по критериям, только потом сделай вывод”.

Давайте разберём практический пример. Представим задачу: вам нужно выбрать маркетинговую стратегию для финтех‑продукта с ограниченным бюджетом. Есть несколько каналов: таргетированная реклама, контент‑маркетинг, партнёрства, офлайн‑активности. Бюджет ограничен, целевая аудитория – молодые специалисты и студенты, продукт – приложение для управления личными финансами. Вам нужно, чтобы модель не просто выдала список из “универсальных советов”, а предложила реалистичную, приоритизированную стратегию с учётом ограничений.

Сначала сформулируйте “простой” промт без Chain‑of‑Thought. Например: “Предложите маркетинговую стратегию для нашего финтех‑приложения для молодёжи с ограниченным бюджетом. Укажите основные каналы, примерное распределение бюджета и ожидаемый эффект”. Модель, скорее всего, выдаст вам приличный, но поверхностный ответ: перечислит соцсети, блог, таргет, блогеров, возможно, упомянет партнёрства с вузами. Что обычно происходит в таком сценарии?

Во‑первых, часто игнорируется реальная жёсткость бюджета: модель может размахнуться с количеством каналов, не учитывая, что бюджет на самом деле не позволяет распыляться. Во‑вторых, отсутствуют чёткие критерии выбора каналов: почему именно такие, почему не отказываемся от менее эффективных? В‑третьих, приоритизация по важности и поэтапность внедрения могут быть описаны очень примерно или вообще не проговорены.

Теперь перепишите задачу с использованием поэтапного мышления. Вы даёте модели не только цель, но и алгоритм: “подумай шаг за шагом”. Например, вы можете сформулировать промт так, чтобы он явно требовал разложить рассуждения на этапы: сначала анализ, затем критерии, потом варианты и только потом выбор.

В ответ на такой промт модель будет вынуждена сначала проговорить, что она поняла о продукте и аудитории, затем сформулировать критерии выбора каналов (бюджет, концентрация целевой аудитории, стоимость контакта, скорость эффекта), затем перечислить возможные каналы с оценкой по каждому критерию, и лишь в конце предложить итоговую стратегию с обоснованием. Именно в этом процессе чаще всего всплывают логические ошибки или скрытые допущения, которые остаются незамеченными в “простом ответе”.

Когда вы сравните два ответа – простой и поэтапный, – обратите внимание на конкретные вещи. В первом варианте модель может легко потерять часть ограничений (например, говорить о дорогих офлайн‑активностях при микробюджете) или не учитывать особенности аудитории (предлагать каналы, которые слабо бьют по вашей целевой группе). Во втором варианте она, как минимум, будет вынуждена проговорить эти моменты словами, и вы увидите, где логика не стыкуется с реальностью. Очень часто уже один этот факт – явное проговаривание критериев – делает решение в разы качественнее.

Теперь важно научиться формулировать Chain‑of‑Thought не в одном‑двух шаблонных вариантах, а гибко. Вам не нужно всегда писать одно и то же “подумай шаг за шагом”. Иногда эффективнее задавать более содержательные подсказки: “подумай как…”, “пошагово проанализируй…”, “сначала сформулируй критерии, затем выбери…”. Каждая из этих конструкций задаёт немного разный стиль мышления модели.

Первая формулировка – условно “подумай как…”. Здесь вы совмещаете роль и CoT. Например: “Подумайте как маркетолог, который отвечает за рост продукта с ограниченным бюджетом. Сначала разберитесь в продукте и целевой аудитории, затем предложите стратегию продвижения”. Вы тем самым просите модель примерить на себя определённый тип мышления, характерный для эксперта. Полезно детализировать: “Подумайте как перфоманс‑маркетолог, привыкший работать с жёсткими ограничениями бюджета и требованием окупаемости. По шагам разберите…”. Такая формулировка подталкивает модель к более “прагматичному” рассуждению.

Вторая формулировка – “пошагово проанализируй…”. Здесь вы прямо указываете, что хотите видеть анализ в виде последовательных шагов. Например: “Пошагово проанализируйте возможные маркетинговые каналы для нашего продукта: сначала перечислите все релевантные каналы, затем оцените каждый по критериям ‘стоимость’, ‘скорость результата’, ‘точность попадания в целевую аудиторию’, затем сделайте вывод о том, какие 2–3 канала стоит выбрать в первую очередь и почему”. Вы не только просите пошаговый анализ, но и даёте структуру этого анализа. Это уже более строгий CoT.

Третья формулировка – “сначала сформулируй критерии, затем выбери…”. Это особенно мощный приём. Он заставляет модель сначала зафиксировать “правила игры”, а уже потом совершать выбор по этим правилам. Например: “Сначала сформулируйте критерии, по которым следует выбирать маркетинговые каналы для нашего финтех‑приложения с ограниченным бюджетом. Затем, используя только эти критерии, выберите 3 приоритетных канала и объясните, как каждый из них удовлетворяет сформулированным критериям”. Здесь вы вводите важный принцип: модель не просто выбирает что‑то “из головы”, а якобы опирается на явные критерии, отражённые в тексте.

Ваше практическое задание в этой главе состоит из двух частей.

Сначала возьмите задачу с несколькими ограничениями. Хороший пример – тот же выбор маркетинговой стратегии с бюджетными лимитами. Сформулируйте простой промт без Chain‑of‑Thought: дайте модели описание продукта, аудитории, бюджета и попросите “предложить маркетинговую стратегию”. Получите ответ и сохраните его. Затем перепишите промт, добавив явное требование мыслить поэтапно: опишите, какие шаги вы хотите видеть – анализ, критерии, набор вариантов, оценка, итоговое решение. Получите второй ответ. Сравните их не глазами “понравилось – не понравилось”, а с точки зрения логики: где модель лучше учитывает ограничения, где яснее приоритизирует, где меньше внутренних противоречий.

Во второй части задания придумайте три собственные формулировки CoT, которые вы будете использовать в работе. Например, одна – в стиле “подумайте как [роль] и по шагам разберите…”, вторая – “пошагово проанализируйте…”, третья – “сначала сформулируйте критерии, затем выберите…”. Протестируйте их на разных задачах: не только в маркетинге, но и, скажем, в продуктовой аналитике, планировании обучения, выборе архитектуры решения. Сравните, как разные фразы влияют на структуру ответа.

Когда вы сделаете эти упражнения сознательно несколько раз, у вас появится важный навык: вы перестанете ждать от модели “чуда”, и начнёте задавать ей не только вопрос, но и траекторию мышления. Это то, что отличает пользователя от промт‑инженера, который умеет управлять глубиной и качеством ответа за счёт правильной организации цепочки рассуждений. В следующих главах мы будем развивать этот навык до полноценного проектирования цепочек промтов, где каждый шаг – отдельный запрос, но без внутреннего Chain‑of‑Thought двигаться туда бессмысленно.

Загрузка...