Соблазн вайб-кодера: хочется решить сложную задачу, надиктовав общий концепт в микрофон. Остается накрутить effort на xhigh/max, чтобы «модель думала изо всех сил». Вайб-кодер считает в этот момент: «чем больше мышления, тем лучше получится продукт». Пока вайб-кодер делает себе кофе, его визионерская/архитектурная/продуктовая роли растворяются в решениях max-effort модели как 3% молоко в кофе. А он хотел кофе по-венски. С шапочкой из взбитых сливок.
Что делает effort:
В документации Anthropic прямо сказано, что параметр effort влияет на все токены ответа:
«The effort parameter affects all tokens in the response, including: text responses, tool calls and function arguments, thinking.»
Таблица поведения оттуда же: низкий против высокого effort:
-
low: «fewer tool calls», «proceed directly to action without preamble», «terse confirmation messages»
-
high: «make more tool calls», «explain the plan», «detailed summaries», «more comprehensive code comments»
Высокий effort не делает решение правильнее. Он делает его объёмнее: больше вызовов, больше «а давайте ещё вот это», больше кода, который не отвечает прямому назначению, а багфиксит, импрувит, фичерит без прямого запроса.
Как effort ломает архитектурное / PO / аналитическое восприятие проекта:
Про Opus 4.7/4.8 (это модель под капотом Claude Code) сказано:
«At lower effort levels, the model scopes its work to what was asked rather than doing more than requested.»
Читайте наоборот: на высоком effort модель делает больше, чем вы просили. Она достраивает контекст, которого не было в задаче: то есть ломает неявные, но внутренне ощутимые guardrails вокруг вашей совместной работы. Продукт перестает быть «продуктом от людей для людей», тк вектор продукта, границы фичи, архитектурные компромиссы уходят из головы владельца на откуп бюджету токенов модели.
Про max документация не стесняется:
«
maxadds significant cost for relatively small quality gains, and on some structured-output or less intelligence-sensitive tasks it can lead to overthinking.»
А xhigh — это вообще не про «мою задачу»:
«Long-running agentic and coding tasks (over 30 minutes) with token budgets in the millions.»
Это режим для многочасовых автономных прогонов.
Рычаг к эффективности и продуктивности — постановка задачи.
Смотрите, что советуют вместо накрутки:
«Pair
lowwith explicit checklists if your task has multiple sections.»
«Add targeted guidance like: This task involves multistep reasoning. Think carefully before responding.»
Перевожу на человеческий: высокий effort — это костыль под отсутствие спецификации (3% молоко). Если у вас есть спека, чек-лист, границы — вам нечего компенсировать мышлением модели. Вы задаёте контекст словами (взбитые сливки), а не «оплачиваете» его тем, что модель додумывает объём работ за вас.
Если решение при этом разрастается — effort тут ни при чём. Нужно явно обозначить границы, лимиты, стиль, формат:
«Changing effort does not reliably shorten responses, so prompt for length instead.»
Хочешь простое решение своей понятной задачи? Ставь low/medium effort и напиши в спеке явно: minimal change, no extra features, no refactors.
Суть
Модель лучше воспринимать как младшего специалиста, а не как заместителя (если вы не директор по AI-Slop content, конечно). Джуну вы даёте задачу с границами и ревьюите результат — вы не отдаёте ему видение продукта. Как только вы включаете max и говорите «думай сам» — вы перестаёте быть архитектором/PO/аналитиком и становитесь тем, кто принимает решения модели, не понимая их. Продукт начинает жить свою жизнь под вашу ответственность, ведь от модели можно получить только Sorry! My mistake!, а потом потратить N-кратное количество токенов на формирование нового взгляда на проект, опять же, с вашим личным глубоким участием. Почему бы сразу не расставить границы?
Мой блог в Telegram о создании продукта MiniMap (10K MAU), практике в AI: Fisheye Monk