Поведенческие отличия и шаблоны подсказок для Claude Fable 5.1 и Claude Mythos 5.1, охватывающие уровень усилий, обновления о ходе работы, пакетирование вызовов инструментов, историю разговора, стиль письма, форматирование, завершение задач, сводки компактизации, объём изменений и тестовое покрытие, запуск поиска, ложные срабатывания защитных механизмов, правки файлов, длинные выводы, субагентов и зрение.
Сведения о возможностях модели, изменениях API, ценах и доступности см. в разделе Что нового в Claude Fable 5.1. Приёмы, применимые ко всем моделям Claude, см. в разделе Лучшие практики составления подсказок.
Ваши существующие подсказки для Claude Fable 5 должны хорошо работать на Claude Fable 5.1 без изменений, однако о нескольких поведенческих отличиях стоит знать. Начните с раздела, который соответствует тому, что вы наблюдаете:
bound to a different conversation, либо ваша обвязка редактирует более ранние ходы между запросами: Сохраняйте историю разговора только дополняемойstop_reason: "refusal": Сократите ложные срабатывания защитных механизмовxhigh или max занимают много времени или упираются в max_tokens: Оставляйте место для длинных выводов на уровнях усилий xhigh и maxНачните с уровня «effort» (усилий) по умолчанию, high, см. effort, затем протестируйте остальные уровни (low, medium, xhigh и max) на собственных оценках. Уровень усилий — основной регулятор компромисса между интеллектом, задержкой и стоимостью на Claude Fable 5.1. Проведите перебор заново, даже если вы уже проводили его на Claude Fable 5: названия уровней усилий не соответствуют одинаковому объёму мышления у разных моделей.
Прирост возможностей Claude Fable 5.1 по сравнению с Claude Fable 5 проявляется на всех уровнях усилий и наиболее велик при более высоких настройках. При medium результаты примерно соответствуют Claude Fable 5 при меньшей стоимости, поэтому снижайте до medium или low там, где ваши оценки показывают, что качество сохраняется. При low Claude Fable 5.1 часто конкурентоспособна с моделями Claude Opus и Claude Sonnet по стоимости за задачу, набирая при этом больше баллов, поэтому включайте её в сравнение везде, где вы иначе запустили бы меньшую модель на более высоком уровне усилий.
Два вида поведения, специфичных для уровня усилий, описаны в отдельных разделах: на уровне low Claude Fable 5.1 реже вызывает инструменты поиска и извлечения (см. Запуск поиска на низком уровне усилий), а на уровнях xhigh и max она может дольше думать перед написанием длинного результата (см. Оставляйте место для длинных выводов на уровнях усилий xhigh и max).
Claude Fable 5.1 может писать меньше обращённых к пользователю обновлений во время длинных ходов с вызовами инструментов, чем Claude Fable 5, особенно на высоких уровнях усилий и в длинных цепочках инструментов. Пользователи видят, что агент замолкает на несколько минут подряд, либо финальное сообщение охватывает только последний шаг, а не всю задачу.
Во-первых, проверьте, что ваш клиент вообще получает обновления о ходе работы. Короткие заметки модели между вызовами инструментов — что она только что обнаружила и что делает дальше — возвращаются как блоки thinking с обновлениями о ходе работы, и эти блоки пусты при значении thinking.display по умолчанию, равном "omitted". Установите display: "updates" (бета, заголовок thinking-display-updates-2026-08-18) и отображайте каждый непустой блок thinking как строку статуса, либо установите "summarized", чтобы получать их вместе с обобщённым рассуждением. Если вы их не запрашиваете, обновления модели могут просто не доходить до ваших пользователей.
Во-вторых, проверьте свою подсказку на наличие инструкций, подавляющих повествование. Некоторые более ранние модели охотно давали обновления во время работы, что привело к появлению в системных подсказках строк вроде «придержи все выводы до финального ответа». Удалите подобные строки, прежде чем что-либо добавлять.
Если вам всё ещё нужно больше обновлений, например при парном программировании или другой работе с участием человека, добавьте в «system prompt» (системную подсказку) короткую строку, указывающую, когда вы хотите получать от модели обращённый к пользователю текст и что должно содержать каждое обновление:
Before you start, say in a line what you're about to do; brief updates while you work help the user follow along. Close with a short recap that stands on its own — what you found, what you did, and what's next — so a reader who only sees the last message has the full picture.Если ваш продукт сворачивает или скрывает вывод инструментов, сообщите об этом модели. Иначе она может запускать команды, чтобы «показать» пользователю вывод, который ваш интерфейс никогда не отображает. Передайте эту заметку в системном сообщении с областью действия в пределах хода (clear_at: "next_user_message", бета):
Only you see that command's output — the user's terminal shows at most a few lines of it. If the user needs to read any of it, put it in your reply.Claude Fable 5.1 обычно выполняет параллельные вызовы инструментов, как и ожидается: когда в запросе названо несколько вещей, которые нужно получить, она выполняет эти вызовы параллельно. Исключение — циклы написания кода и использования компьютера, где следующие независимые вызовы подразумеваются задачей, а не запрошены явно (пользовательские агенты для написания кода, обвязки с bash и редактором, использование компьютера): там она может выполнять их по одному за ход. Это не влияет на качество ответа, но каждый лишний ход стоит токенов, обмена запросом и ответом и реального времени. Проблему решает подталкивание в одно предложение в конце текущего запроса:
First privately list what you need next; then request every item that doesn't depend on another's result in this one response.Каждый раз, когда вы отправляете результаты инструментов обратно, добавляйте его после этого пользовательского сообщения как системное сообщение с областью действия в пределах хода: запись role: "system" в messages с clear_at: "next_user_message". Как только появляется более позднее пользовательское сообщение, API очищает более ранние копии, так что модель читает только самую новую. Системные сообщения с областью действия в пределах хода находятся в бета-версии и требуют бета-заголовка mid-conversation-system-clear-at-2026-08-21. Без бета-версии вместо этого поместите предложение в текстовый блок после блоков tool_result в том же пользовательском сообщении.
Добавляйте свежую копию на каждом ходу и оставляйте более ранние копии на месте, байт в байт. Они остаются в массиве, но после очистки модель их не видит, и они не стоят входных токенов. Их удаление или переписывание — это правка более ранних ходов: она перезапускает кэш подсказок с этой точки и делает недействительными блоки мышления, следующие за ними (см. Сохраняйте историю разговора только дополняемой).
Следующий цикл показывает такое размещение. Каждый ход ассистента возвращается в точности таким, каким был получен, каждый пользовательский ход несёт только результаты инструментов, а за ним следует свежая копия подталкивания с областью действия в пределах хода.
import anthropic
from anthropic.types.beta import (
BetaMessageParam,
BetaToolParam,
BetaToolResultBlockParam,
)
client = anthropic.Anthropic()
BATCH_NUDGE = (
"First privately list what you need next; then request every item "
"that doesn't depend on another's result in this one response."
)
# Файлы в памяти заменяют рабочий каталог, чтобы пример запускался где угодно.
FILES = {
"pyproject.toml": """\
[project]
name = "demo"
version = "0.1.0"
description = "Demo project for the batching example"
""",
"README.md": """\
# demo
A small demo project. Run `demo --help` for usage.
""",
}
tools: list[BetaToolParam] = [
{
"name": "read_file",
"description": "Read a UTF-8 text file from the working directory.",
"input_schema": {
"type": "object",
"properties": {"path": {"type": "string"}},
"required": ["path"],
},
}
]
messages: list[BetaMessageParam] = [
{"role": "user", "content": "Summarize pyproject.toml and README.md."}
]
while True:
response = client.beta.messages.create(
model="claude-fable-5-1",
max_tokens=16000,
betas=["mid-conversation-system-clear-at-2026-08-21"],
tools=tools,
messages=messages,
)
# Добавляем ход ассистента точно в том виде, в каком он возвращён, включая блоки мышления.
messages.append({"role": "assistant", "content": response.content})
if response.stop_reason != "tool_use":
break
tool_results: list[BetaToolResultBlockParam] = []
for block in response.content:
if block.type == "tool_use":
path = str(block.input["path"])
if path in FILES:
tool_results.append(
{
"type": "tool_result",
"tool_use_id": block.id,
"content": FILES[path],
}
)
else:
tool_results.append(
{
"type": "tool_result",
"tool_use_id": block.id,
"content": f"File not found: {path}",
"is_error": True,
}
)
# Отправляем результаты инструментов как ход пользователя, затем свежую копию подталкивания как
# системное сообщение с областью действия в пределах хода. Прежние копии оставляем на месте: API их очищает,
# поэтому модель видит только самую новую.
messages.append({"role": "user", "content": tool_results})
messages.append(
{"role": "system", "content": BATCH_NUDGE, "clear_at": "next_user_message"}
)
print(next((block.text for block in response.content if block.type == "text"), ""))Добавляйте каждый ход ассистента в историю в точности таким, каким его вернул API, включая блоки мышления, и не редактируйте более ранние ходы между запросами. Для новых аккаунтов, созданных 31 августа 2026 года или позже, блоки мышления Claude Fable 5.1 действительны только в том самом разговоре, который их породил: запрос, воспроизводящий блок мышления после того, как его префикс (системная подсказка, список инструментов или любое более раннее сообщение) изменился, возвращает 400 либо отбрасывает затронутые блоки, если вы установили thinking.block_binding.prefix_mismatch_behavior: "drop_block" (бета, заголовок thinking-binding-controls-2026-08-01). Ожидается, что будущие модели будут применять эту проверку ко всем аккаунтам, поэтому примите этот шаблон сейчас, даже если для вашего аккаунта она сегодня не применяется.
Правки истории, на которых срабатывает проверка, — те же самые, что перезапускают кэш подсказок: вставка и удаление напоминаний на каждом ходу, обобщение старых ходов на месте или изменение системной подсказки посреди сеанса. Отправляйте напоминания на каждом ходу как системные сообщения с областью действия в пределах хода, меняйте инструкции или инструменты с помощью системного сообщения посреди разговора вместо переписывания system или tools, и пусть любое усечение выполняют серверные компактизация или редактирование контекста. Если вы выполняете компактизацию на клиенте, простейшая форма — заменить всю историю одним сообщением-сводкой плюс новым пользовательским ходом и больше ничего не воспроизводить: никакие блоки мышления не переносятся, поэтому ничего не ломается, и модель думает заново над компактизированным разговором (см. Пользовательское уплотнение на клиенте).
Чтобы найти правки, которые ваша обвязка уже делает, запустите сеанс с prefix_mismatch_behavior: "drop_block" и логируйте input_transformations, как описано в разделе Как понять, затронута ли ваша интеграция, либо перехватите точные запросы, которые она отправляет за несколько обычных ходов, и убедитесь, что последовательные запросы побайтово идентичны вплоть до добавленных ходов.
Письмо Claude Fable 5.1 в целом на ступень выше, чем у более ранних моделей Claude: меньше шаблонных фраз и меньше необъяснённого жаргона. Однако в некоторых случаях её проза плотнее, чем у Claude Fable 5: предложения длиннее, а разрывов абзацев меньше. Помогает инструкция, определяющая антипаттерн — манерную прозу. Добавьте её в пользовательское сообщение (предпочтительно) или в системную подсказку:
Mannered prose substitutes metaphor and flourish for direct statement. Instead of "a parameter worth varying," the mannered writer produces "a dial worth turning." Instead of "this point still matters," they write "this point earns its keep." The phrases exist to display the writer, not to convey the idea, and readers can tell. That is why mannered prose irritates: it makes the reader work harder so the writer can perform. It is also imprecise. Metaphors drag in connotations the writer did not choose and cannot control. The fix is to say what you mean. When a literal phrase is available, use it.Короткая версия тоже обычно работает:
Please remove all mannered prose.Более ранние модели злоупотребляли маркированными списками и жирным шрифтом в чате, и многие подсказки содержат правила против форматирования, написанные, чтобы это сдерживать. Claude Fable 5.1 склоняется в другую сторону: она реже использует жирный шрифт и с меньшей вероятностью прибегает к заголовкам, спискам или кавычкам. Если ваша подсказка содержит формулировки против форматирования, удалите их или замените правилом, указывающим, когда конкретное форматирование уместно, например таким:
Use lists and bullet points when asked to, or when the content is multifaceted enough that they help with clarity. If the person explicitly requests minimal formatting, always format your responses without bullet points, headers, lists, or bold emphasis, as requested. In conversational, personal, or emotional exchanges, keep to plain prose.При обобщении документов Claude Fable 5.1 с большей вероятностью, чем Claude Fable 5, воспроизводит фрагменты исходного текста, не помечая их как цитаты. Чтобы это исправить, добавьте в системную подсказку один полный пример правильного ответа: запрос пользователя, ответ и предложение, объясняющее, почему ответ правильный.
<example>
<user>look up how the Riverton Ledger and the Coast Dispatch each covered the Harbor Bridge closure and compare their reporting</user>
<response>
[web_search: Harbor Bridge closure Riverton Ledger]
[web_search: Harbor Bridge closure Coast Dispatch]
Both outlets agree on the basics: the bridge closed on March 3 after inspectors found cracked welds, and the state expects repairs to take about eight months. Where they differ is emphasis. The Ledger treats it as a local-economy story. The Dispatch frames it as a funding failure; its editorial calls the closure "entirely foreseeable." Read together, the Ledger explains who is affected now and the Dispatch explains how it came to this — neither account alone gives the whole picture.
</response>
<rationale>CORRECT: The response is organized around where the two outlets agree and differ, not as a walk through either article. Each outlet's reporting is conveyed in one or two sentences of the assistant's own indirect speech. One short marked phrase from one source; every other claim is reworded. The response is still specific and complete.</rationale>
</example>Замените две строки [web_search: ...] названием вашего собственного инструмента, чтобы модель воспринимала их как шаблонный вывод инструмента, а не как буквальный текст, который нужно выдать.
Claude Fable 5.1 может выполнять очень длинные задачи без особых указаний по методологии, особенно когда цель ясна. Однако на сложных асинхронных нагрузках подтолкните её не заканчивать ход до завершения работы. Без подталкивания модель иногда описывает, что она сделала бы дальше, вместо того чтобы это сделать («Далее я …»), или останавливается, чтобы попросить разрешения на шаг, который исходный запрос уже охватывал («Применить это?»). Пользователям приходится отвечать «продолжай» или «давай», что подходит для парного программирования и другой работы с участием человека, но не использует полную способность модели к работе на длинном горизонте.
Два дополнения к системной подсказке вместе смягчают это. Применяйте оба. Если вам нужно ограничить длину подсказки, используйте только первое, которое сохраняет большую часть эффекта. Первое говорит модели не спрашивать о уже запрошенной работе и выполнять следующие шаги, которые она назвала:
You are operating autonomously. The user is not watching in real time and cannot answer questions mid-task, so asking 'Want me to…?' or 'Shall I…?' will block the work. For reversible actions that follow from the original request, proceed without asking. Stop only for destructive actions or genuine scope changes the user must decide. Offering follow-ups after the task is done is fine; asking permission before doing the work is not.
Exception: when the user is describing a problem, asking a question, or thinking out loud rather than requesting a change, the deliverable is your assessment. Report your findings and stop. Don't apply a fix until they ask for one.
Before ending your turn, check your last paragraph. If it is a plan, an analysis, a question, a list of next steps, or a promise about work you have not done ('I'll…', 'let me know when…'), do that work now with tool calls. That includes retrying after errors and gathering missing information yourself. Do not stop because the context or session is long. End your turn only when the task is complete or you are blocked on input only the user can provide.
Before running a command that changes system state (such as restarts, deletes, or config edits), check that the evidence actually supports that specific action. A signal that pattern-matches to a known failure may have a different cause.Вступительное предложение, сообщающее модели, что пользователь не наблюдает, несёт большую часть эффекта. Оставьте его как написано. Если вашему продукту нужно, чтобы модель останавливалась для конкретных подтверждений, добавьте после него предложение с их перечислением. Этот блок также может снизить вероятность того, что модель будет задавать вопросы о неоднозначных запросах, поэтому проверьте этот компромисс на собственных задачах.
Второе определяет запрос пользователя как объём результата:
# Delivering work
The user's request — or the plan they approved — sets the scope, and the scope is the deliverable: don't quietly narrow, widen, or swap it. Read ambiguity the way a careful colleague would: make routine judgment calls yourself, and check in only when different readings would lead to materially different work. If you see a real problem with the task as specified, say so in a sentence or two and keep building under stated assumptions; if the user hears the concern and reaffirms, that is their decision, so deliver the full request.
If a question comes up partway, first do everything that doesn't depend on the answer; then state the assumption you made, or — when going ahead on a wrong guess would be unsafe or would make the work useless — put the question at the end of a turn that also delivers that progress. If one part turns out to be blocked, complete every other part in full and say exactly what you left out and why — the whole task is the deliverable, and scaling it down is the user's call, not yours. A step you have decided on is something to run, not to announce: describing the next step and ending the turn leaves it undone until the user replies.
Keep changes to what the request needs. Something else you notice worth doing — cleanup or documentation the task didn't call for, a change to a file the task didn't require — is a suggestion to make at the end, not a change to make; actions clearly beyond what the ask implies, and risky or destructive ones, still need the user's go-ahead.Claude Fable 5.1 хорошо реагирует, когда ей явно говорят, что должна сохранить её сводка при «compaction» (компактизации) длинного разговора. Серверная компактизация уже это делает. Если вы выполняете компактизацию на стороне клиента, используйте следующую инструкцию по обобщению:
Summarize the transcript inside <summary></summary> tags. Include relevant information in the summary such that this conversation will be continued by a new context window without needing to redo work or be reprovided with relevant constraints or context. Be sure to preserve: (1) any difficulties or problems that came up, and how they were handled or resolved; (2) any possibilities, options, or approaches that were raised, tried, or set aside, and why; (3) anything that was asked for, decided, agreed, ruled out, or established as a preference, constraint, or boundary — stated exactly; (4) exactly where things stand now — what has been covered, settled, or completed so far; (5) anything still open, unresolved, promised, or expected to happen next; (6) specific details that would be hard to reconstruct — names, numbers, dates, exact wording, links or references — kept exactly. Be complete on these even at the cost of length; keep everything else concise. Weight the two voices differently: keep what the user said, asked for, shared, or established carefully and close to their own words; your own explanations and reasoning can be condensed much further, to what they concluded or produced — as long as nothing in the six items above is dropped.Когда её просят реализовать открытую функцию, Claude Fable 5.1 выдаёт то, что просили, а иногда и больше: она может исправить соседний код, расширить поведение, о котором задача не упоминала, или закоммитить больше тестовых файлов, чем оправдывает изменение. Она хорошо реагирует на явные инструкции о том, что оставить за рамками. Со следующей инструкцией незапрошенные дополнения и закоммиченный тестовый код существенно сокращаются без измеримого изменения успешности задач:
If, while working or testing, you find a pre-existing bug, a performance concern, or behavior the task doesn't mention, don't fix, optimize or extend it in this change unless the requested behavior cannot work without it; report it as a follow-up in your summary. Where the task is ambiguous, implement the reading its wording and the surrounding code most directly support, state that assumption in your summary, and don't build for the other readings as well. Verify your work however you like; scratch scripts and quick checks need not be kept. Commit tests only where the task asks for them or this repository already keeps tests for this kind of change, sized like the neighboring test files — roughly one focused test per stated behavior — and don't turn scratch checks into additional permanent test files. This is about extras only: implement every behavior the task asks for, completely.На уровне усилий low Claude Fable 5.1 менее склонна, чем Claude Fable 5, вызывать инструмент поиска или извлечения и более склонна отвечать из памяти. В некоторых случаях самое простое решение — повысить усилие для затронутых ходов, а не для всего разговора. См. Изменение усилия в середине разговора.
В других случаях помогает подталкивание в подсказке в сторону проверки. В системной подсказке укажите, что узнавание названия — не то же самое, что знание его текущего состояния, и что такие названия следует искать в том виде, в каком их написал пользователь:
When a query centers on a name you do not confidently recognize, or recognize from a fast-moving area like AI models and developer tools where the landscape shifts within months, the name itself is the thing to verify: search before answering, and include the name as the user wrote it in at least one query alongside any reformulations. This holds even when you have some background on it — partial background is exactly what makes an out-of-date answer sound authoritative, so familiarity is not a reason to skip the search.Классификаторы безопасности Claude Fable 5.1 дают меньше ложных срабатываний, чем классификаторы Claude Fable 5 на момент запуска, а поиск уязвимостей в исходном коде разрешён. Ложные срабатывания всё ещё случаются, и заблокированный запрос возвращает stop_reason: "refusal" (см. Отказы, резервное переключение и выставление счетов). Три ситуации делают их более вероятными:
Если Claude Fable 5.1 переписывает целые файлы ради небольших изменений, добавьте следующую инструкцию в системную подсказку или в первое пользовательское сообщение. Claude Fable 5.1 с большей вероятностью, чем Claude Fable 5, переписывает весь текстовый файл вместо точечной правки. Получившийся файл обычно тот же, но если файл не короткий и не меняется большая его часть, переписывание стоит больше выходных токенов и времени. Инструкция возвращает Claude Fable 5.1 в соответствие с Claude Fable 5 для небольших и средних изменений.
The number of tokens used to edit files is best minimized, all else being equal. Therefore, when it will not affect the end result, try to surgically edit a file rather than rewrite the entire thing.На уровне усилий xhigh и особенно max Claude Fable 5.1 может дольше думать, прежде чем начать писать ответ. Когда один запрос требует длинного результата, например полного переписывания длинного документа, она может набросать большую часть этого результата в своём мышлении, а затем написать его снова в качестве ответа, что означает более долгое ожидание и больше выходных токенов. Простейший подход — выполнять такие запросы на уровне high, рекомендуемой отправной точке, и переходить на xhigh или max только там, где вы измерили прирост качества (см. Рассмотрите все уровни усилий). Если вы всё же выполняете их на xhigh или max:
max_tokens так, чтобы оставить место для мышления и ответа, а не только для ожидаемой длины ответа.[max_tokens] фактическим значением max_tokens запроса, например 64 000.Everything Claude produces in one reply, including any reasoning or drafting it does before the reply, counts toward a single limit of about [max_tokens] tokens. If that limit is reached before the reply is finished, the person receives a cut-off response and has to start over. Composing an entire output or deliverable in full as reasoning and then again as a reply would double the length of the turn without improving the result, so Claude doesn't do that.
Instead, when the person has asked for a long or effort-intensive deliverable such as a multi-section document, a large table or dataset, or a complete code file, Claude spends extra effort on understanding the request, checking the inputs Claude's answer depends on, settling the structure and other difficult decisions, and otherwise using the reasoning space to reason and the output space to write an output. If Claude plans well then it should not need to draft its output multiple times (and Claude is pretty good at planning, so this should not be an issue).Если ваш агент для написания кода позволяет Claude Fable 5.1 делегировать работу субагентам, не заставляйте ведущего агента останавливаться и ждать каждого из них. На задачах написания кода разрешение ведущему продолжать, пока работают субагенты, снижает среднее время до завершения при схожем качестве, расходе токенов и стоимости. Чтобы это настроить:
user, как только он готов.Модель всё равно часто предпочитает ждать. Экономия времени достигается за счёт тех запусков, где она продолжает заниматься другой работой.
Claude Fable 5.1 обладает лучшими возможностями зрения из коробки, а на сложных визуальных входных данных, таких как насыщенные диаграммы, она работает лучше всего, когда может итеративно анализировать, обрезать и визуально проверять то, что видит. Чтобы получить полную выгоду, запускайте модель как агента с доступом к контейнеру, содержащему исходные изображения или видео и имеющему предустановленные базовые библиотеки обработки изображений (такие как PIL и OpenCV). Если запуск контейнера — слишком большие накладные расходы, один лишь инструмент обрезки изображений даёт большую часть прироста: инструмент, возвращающий выбранную область изображения, обрезанную и увеличенную, позволяет модели глубже изучать конкретные детали и масштабирует вычисления во время тестирования вместе с токенами изображений. В рецепте инструмента обрезки есть рабочее определение.
Was this page helpful?