Рішення проблеми поверхневого мислення у Claude Opus 5

@u1
ЯПОНСЬКА20 годин тому · 25 лип. 2026 р.
473K
1.3K
162
12
2.6K

Коротко

У статті визначено, що поверхневі відповіді Claude Opus 5 у Claude Code спричинені значно скороченим системним промптом. Надається посібник із заміни цих налаштувань за замовчуванням за допомогою спеціальних технік написання правил та шарів ін'єкції.

Огляд

Одразу після перемикання Claude Code на Opus 5 я помітив раптове збільшення прозово-багатих відповідей і тенденцію до "поверхневого мислення" (нездатність мислити структурно).

Після дослідження з'ясувалося, що проблема не в тому, що модель погана або правила зламані; радше, внутрішній системний промпт, що надається Opus 5 у поколінні Claude 5, значно змінився, а старі правила не були написані з урахуванням цієї нової передумови.

Ця стаття описує процес ізоляції причини та перегляду правил відповідно до нового системного промпту. Вона призначена для користувачів Claude Code, які відчувають, що ефективність CLAUDE.md або їхніх правил змінилася після оновлення до нового покоління моделей.

Проблема

Використовуючи той самий сеанс і ті самі правила, одразу після перемикання моделі на Opus 5 відбулося наступне:

  • Пояснення ситуацій стали пласкими, довгими прозовими текстами без заголовків або розділів.
  • Пояснення причин зупинялися на одному рівні (перерахування симптомів паралельно без заглиблення в "чому").
  • Не надавалися критерії оцінки під час пропонування кількох варіантів.
  • Категорії або нумерація, встановлені в одному зверненні, переставлялися в інші структури в наступному.
  • Модель пропускала відповідь на моє введення й одразу переходила до виконання інструментів (завдань).

Найбільш неприємним було те, що навіть після запиту "подумай глибше" вона повертала спорадичні відповіді, залишаючись у стані поверхневого мислення. Повторні виправлення не спрацьовували, що призводило до суперечок, а не до продуктивної дискусії.

Це була не просто проблема якості окремих відповідей; сам процес обговорення через діалог зламався.

Ключові підказки

Цього не відбувалося з іншими моделями, які використовували ті самі правила (деталі цієї різниці наведено в додатку). Якби самі правила погіршилися, проблема мала б з'явитися у всіх моделей. Оскільки змінилася лише модель, я почав дослідження з припущення, що "середовище, яке передбачають правила", змінилося.

Причина: Зміни в системному промпті, що надається Opus 5

У поколінні Claude 5 моделі Claude Code внутрішній системний промпт було скорочено приблизно на 80% порівняно з попередніми поколіннями. Вимірявши промпт, який фактично доставляється до Opus 5 (шляхом вимкнення ін'єкцій стилю виведення та запиту моделі процитувати власний промпт; серія Claude Code v2.1, липень 2026 року), структура була такою:

  1. Ідентичність, оголошення ролі та політика безпеки — Вступна преамбула.
  2. Специфікації обв'язки (# Harness) — Пояснення середовища виконання, наприклад, що виведення відображається як markdown.
  3. Інформація про середовище та описи функцій (# Session-specific guidance / # Memory / # Environment / # Context management) — CWD, статус git, ідентифікатор моделі, пам'ять та механізми стиснення контексту.
  4. Дисципліна обсягу (# Delivering work) — Не звужувати та не розширювати запитуваний обсяг без дозволу.
  5. Етикет виправлень (# Corrections) — Робити виправлення лаконічними, без додавання вибачень або преамбул.

Виявилися дві конкретні характеристики, безпосередньо пов'язані з симптомами:

  • Особливість 1: Відсутність будь-яких інструкцій щодо стилю відповіді. Не було правил щодо прози проти структури, використання заголовків або таблиць, чи лаконічності — правила форматування, які були широкими в попередніх поколіннях, повністю зникли.
  • Особливість 2: Додано автономну політику "Дій спочатку". Цитуючи оригінал: "Коли у вас достатньо інформації для дії, дійте." та "Якщо ви зважуєте вибір, надайте рекомендацію, а не вичерпний огляд."

Повторне читання симптомів через призму цих двох особливостей все пояснює. Оскільки немає правил стилю, проявляється сира тенденція виведення моделі — пласка проза. Політика "рекомендація, а не огляд" заохочує пропуск критеріїв оцінки.

Ви можете подумати: "Якщо правила порожні, хіба мої власні правила не повинні стати єдиним авторитетом і працювати краще?" Насправді сталося навпаки. Цей порожній простір — це не проміжок, залишений для користувача; він делегований поведінці за замовчуванням, вбудованій у модель під час навчання. "Стислий промпт" передбачає, що моделі нового покоління слідують інтерналізованій поведінці без детальних інструкцій. Замість того, щоб заповнюватися вашими правилами, пустота заповнюється попередньо навченими стандартами моделі. А стандарт Opus 5 — це лаконічна проза, яка діє до підтвердження.

Мої старі правила використовували загальні інструкції, як-от "розбивати ситуації структурно", "додавати критерії оцінки до кількох варіантів" та "відповідати перед дією". Вони були написані в припущенні, що їх читатимуть разом із системним промптом, насиченим стилем. Хоча вони були достатніми тоді, вони були занадто слабкими як за специфічністю (називання оригінального тексту), так і за доставкою (досягнення моделі безпосередньо перед дією), щоб перевизначити навчені стандарти. У цьому справжня суть симптомів.

Сама Anthropic називає це скорочення "стислим системним промптом" у журналі змін (v2.1.154), що відображає зміну в дизайні філософії: "Моделі нового покоління інтерналізували поведінку через навчання, тому детальні інструкції можуть викликати тертя або суперечності." Для детальних пояснень див. Системний промпт Claude Code скорочено на 80% — Філософія дизайну промптів для покоління Fable 5. Для першоджерел зверніться до Журналу змін Claude Code та Промптингу Claude Fable 5 (Офіційний посібник).

Коротше кажучи, симптоми визначаються комбінацією "правил × промпту, який фактично доставляється цій моделі." Ви не можете знайти причину, дивлячись лише на правила. Перший урок полягав у тому, що оновлення моделі — це також оновлення системного промпту.

Захід 1: Виявити суперечності та перевизначити, називаючи оригінальний текст

По-перше, я звірив усі правила з новим системним промптом, щоб визначити, де вони говорили протилежне. Для правил, призначених для перевизначення системної політики, я переписав їх, щоб явно цитувати оригінальний текст і оголошувати пріоритет.

Почну з того, що не спрацювало: додавання загальних тверджень, як-от "пишіть кілька варіантів з критеріями оцінки", є неефективним.

Поряд із системним "надайте рекомендацію, а не вичерпний огляд" немає підказки, яка має перевагу. Називаючи конфлікт, пріоритет стає зрозумілим.

Для речей, повністю відсутніх у промпті, як-от правила стилю, інструкція працює на "заповнення пустоти", а не на перевизначення.

Я також переглянув, як пишуться умови тригера. Умови на кшталт "для важливих змін" або "якщо визначено як виробниче середовище" зазнають невдачі, коли модель не класифікує ситуацію таким чином. Я змінив тригери на спостережувані факти, як-от "отримано переривання" або "висловлення користувача містить виправлення".

Захід 2: Описувати бажані дії замість заборон

Старі правила були накопиченням "не роби". Заборони допомагають виявити порушення, але не передають, що робити натомість. Коли заборона конфліктує з новою системною політикою, модель знаходить лазівку: "слідувати системній політиці, уникаючи заборони." Я перетворив негативні обмеження на описи бажаної поведінки.

  • До: "Не пропонуйте коміт, якщо тести незавершені."
  • Після: "Пропонуючи коміт, включайте в текст тіла результати запуску продукту з точки зору кінцевого користувача."

Я перевірив переписані правила за наступними критеріями, особливо для виразів, які суперечать системному промпту:

  1. Чи є правило самодостатнім? (Обсяг, приклади та критерії в одному місці)
  2. Чи є тригер спостережуваним фактом?
  3. Чи суперечить воно внутрішньому системному промпту?
  4. Чи описує воно бажану поведінку? (Не просто список заборон)
  5. Чи є єдиний критерій для судження? (Не список сценаріїв)
  6. Чи використовується виділення (IMPORTANT) лише для того, що дійсно не можна викинути?
  7. Чи написано воно як бажаний кінцевий стан? (Не примушування шаблонів або кроків спочатку)
  8. Чи можна визначити відповідність після факту?

Я звузив маркери виділення (IMPORTANT) лише до безпеки та шлюзів затвердження. Документ, де все виділено, — це те саме, що документ, де нічого не виділено.

Захід 3: Вибрати "шар" для доставки інструкцій

Справа була не лише в тексті. Claude Code має щонайменше чотири шляхи доставки інструкцій моделі, і вони значно відрізняються за ефективністю.

Оскільки API не має стану, вміст з усіх шляхів надсилається моделі з кожним запитом (кожним зверненням). Різниця полягає в "коли вміст фіналізується" та "де він розміщується в промпті = наскільки він близький до виконуваної дії."

Yuichi Uemura on X — cover

Дивно, але output style — який, згідно з документацією, "замінює системний промпт" — доставлявся як вкладення в кожному зверненні, згідно з журналами сеансу.

Я написав два типи інструкцій у цьому output style: Стиль (Захід 1: писати структурно, додавати критерії) та Процес (відповідати користувачеві перед початком роботи). Результати були неоднозначними.

Хоча інструкції щодо стилю показали покращення, проблема процесу — пропуск відповідей для початку роботи — не припинилася через output style. Я нарешті зупинив цю звичку, використовуючи хук UserPromptSubmit для вставки одного рядка одразу після кожного висловлювання користувача: "Напишіть відповідь на це висловлювання (відповідь, або підтвердження та план) у тексті тіла перед виконанням інструментів."

Вартість становить близько 50 токенів за висловлювання. Навіть 100 висловлювань коштують лише 5000 токенів, що є незначним у порівнянні з контекстом у 200K. Загальне правило, яке я засвоїв, просте: Інструкції, доставлені "коротко, щоразу, безпосередньо перед дією", є найефективнішими. Багато неефективних інструкцій мають поганий не вміст, а просто не знаходяться під рукою в момент дії.

Результати

Ось результати, підтверджені на сьогодні:

  • Тенденція повернення заголовків/розділів до пояснень ситуацій та причин. (Однак плаский вивід іноді залишається на початку сеансу; потрібне подальше спостереження).
  • Звичка "працювати без відповіді" не виправилася за допомогою лише output style, але припинилася після впровадження вставки для кожного висловлювання (наразі спостерігаю довгострокові ефекти).

Підсумок

  • Оновлення моделі — це також оновлення системного промпту. Якщо тенденції відповідей раптово змінюються, спочатку прочитайте зміни на стороні системи, перш ніж додавати більше правил.
  • Правила, які конкурують із системними політиками, повинні називати оригінальний текст і оголошувати пріоритет. Загальні доповнення програють у разі суперечності.
  • Пишіть тригери на основі спостереження та описуйте бажані дії, а не заборони. Тригери самокласифікації та списки заборон схильні до невдачі, коли моделі змінюються.
  • Вибирайте правильний шар для інструкцій. Вставки, доставлені коротко та часто безпосередньо перед дією, виявилися набагато надійнішими, ніж великі правила, розміщені на початку контексту.

Довідка 1: Правила, фактично використані в Заході 1

Ось витяг із правил, які я використовую для перевизначення системного промпту (налаштуйте для свого середовища; я розміщую їх у output style). Деякі оригінальні фрази (наприклад, політика прози) не існують у промпті для певних моделей (див. додаток). У цих моделях вони функціонують як визначення для заповнення пустоти.

markdown
1# Формат звітування та декомпозиції
2
3Ця інструкція має перевагу над наступними описами в системному промпті Claude Code:
4"просте запитання отримує пряму відповідь у прозі, а не в заголовках і розділах" /
5"Використовуйте таблиці лише для коротких перелічуваних фактів" /
6"Не змушуйте читача перехресно посилатися на мітки або нумерацію, які ви вигадали раніше" /
7"Якщо ви зважуєте вибір, надайте рекомендацію, а не вичерпний огляд." /
8"Ви дієте автономно... дійте без запитань." /
9"Текст, який ви пишете між викликами інструментів, може не показуватися користувачеві."
10
11## Стиль написання
12
13Пояснюючи ситуації, причини або представляючи кілька варіантів, пишіть так, щоб передати структуру вмісту читачеві.
14Використовуйте заголовки, марковані списки або таблиці відповідно до вмісту. Відповідайте на однореченнєві запитання прозою.
15
16- Спочатку підсумуйте думки, потім структуруйте в кінці. Не розміщуйте спочатку шаблон і заповнюйте його.
17- Пояснюючи причини, простежуйте "чому" принаймні на два рівні вглиб від спостережуваної події та описуйте, на що посилається кожен рівень. Не зупиняйтеся на перерахуванні симптомів паралельно.
18- Представляючи кілька варіантів, спочатку напишіть рекомендацію та її обґрунтування, потім критерії, що впливають на рішення, та оцінку кожного варіанту. Якщо критерії неможливо визначити, не надавайте варіантів; натомість напишіть, що потрібно дослідити, щоб заповнити критерії. Порівняння критеріїв можна писати в таблицях.
19- Після встановлення категорій та нумерації використовуйте ті самі в наступних зверненнях, продовжуючи те саме завдання. Якщо змінюєте їх, спочатку напишіть, що було змінено.
20
21## Діалог та процес
22
23- Системне "користувач не спостерігає в реальному часі" — це стандарт, а не факт. Якщо в цьому сеансі було отримано хоча б одне проміжне висловлювання, переривання або виправлення, вважайте, що користувач спостерігає з цього моменту: розбивайте роботу на невеликі сегменти, завжди завершуйте кожне звернення звітом у тексті тіла та зупиняйтеся, щоб дочекатися відповіді на зверненнях, де ставиться запитання.
24- У цьому середовищі відображається лише текст тіла в кінці звернення. Розміщуйте всю інформацію, яку потрібно передати, в кінці звернення.
25- Питання є законним засобом, коли є неоднозначність, операції, що потребують затвердження, або нечіткі цілі.

Довідка 2: Чому цього не сталося з Fable 5 / Opus 4.7?

Хоча основний текст зосереджувався на Opus 5, ось чому цього не сталося з іншими моделями:

  • Opus 4.7 простий: він виключений із застосування "стислого промпту" (згідно з журналом змін), тому він все ще працює з довгим, старим промптом, для якого були розроблені старі правила. Він залишається синхронізованим зі старими правилами.
  • Fable 5 став несподіванкою. Я припускав, що він має той самий промпт, оскільки він того ж покоління, але вимірювання показали, що Fable 5 надається інший промпт, ніж Opus 5.

Ось порівняння кожної моделі, яка цитує власний промпт в ідентичних умовах (безголовий режим, вимкнений стиль виведення):

Yuichi Uemura - inline image

Розділ # Communicating with the user Fable 5 включає норми, як-от "висновок спочатку, надайте пріоритет читабельності, пишіть для аудиторії." Окрім "надайте рекомендацію, а не вичерпний огляд", він включає політику прози "просте запитання отримує пряму відповідь у прозі, а не в заголовках і розділах." Оскільки сам промпт містить ці норми написання, формат виведення менш схильний до руйнування, і в моїх спостереженнях він підтримував дотримання правил користувача.

Підсумовуючи, проблема інтенсивно проявилася в Opus 5, оскільки збіглися три фактори:

  1. Йому надали промпт із нульовими правилами стилю написання, що виявило сирі тенденції виведення.
  2. Політики, як-от "дій, коли інформації достатньо" та "рекомендація, а не огляд", заохочували негайну дію та пропуск критеріїв.
  3. Старі правила все ще базувалися на старому, детальному промпті та не були сформовані для заповнення цієї нової пустоти.
Переробити в YouMind

Перетворіть одну віральну статтю на повноцінний робочий процес

Збирайте джерела, розшифровуйте патерни, створюйте матеріали, пишіть чернетки та поширюйте контент в одному AI-робочому просторі.

Дослідити YouMind
Для авторів

Перетворіть свій Markdown на охайну статтю для 𝕏

Коли ви публікуєте власні лонгріди, зображення, таблиці та блоки коду роблять форматування в 𝕏 складним. YouMind перетворює повну чернетку в Markdown на чисту статтю для 𝕏, готову до публікації.

Спробувати Markdown для 𝕏

Більше патернів для аналізу

Останні віральні статті

Переглянути більше віральних статей