Claude Fable 5.1 프롬프팅

TMT

https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-fable-5-1

모델의 성능과 API 변경, 요금, 사용 가능 여부는 Claude Fable 5.1의 새로운 점을 참고하세요. 클로드 모델 전반에 적용되는 기법은 프롬프팅 베스트 프랙티스를 참고하세요.

기존 Claude Fable 5 프롬프트는 고치지 않아도 Claude Fable 5.1에서 잘 동작할 것입니다. 다만 알아 둘 만한 동작 차이가 몇 가지 있습니다. 관찰한 증상에 해당하는 절부터 보세요.

모든 effort 레벨을 검토하세요

기본 effort 레벨인 high에서 시작한 다음, 나머지 레벨(low, medium, xhigh, max)을 여러분의 평가 세트로 시험해 보세요. effort는 Claude Fable 5.1에서 지능과 지연 시간, 비용을 맞바꾸는 주된 조절 장치입니다. Claude Fable 5에서 이미 한 번 전 구간을 훑어봤더라도 다시 훑어보세요. effort 레벨 이름이 모델마다 같은 양의 사고를 뜻하지는 않습니다.

Claude Fable 5.1이 Claude Fable 5보다 나아진 부분은 모든 effort 레벨에서 나타나고, 높은 설정에서 차이가 가장 큽니다. medium에서는 결과가 Claude Fable 5와 대체로 비슷하면서 비용이 더 낮으므로, 평가 결과 품질이 유지된다면 medium이나 low로 낮추세요. low에서 Claude Fable 5.1은 작업당 비용 면에서 클로드 오푸스와 소네트 모델과 견줄 만하면서 점수는 더 높은 경우가 많습니다. 그러니 더 작은 모델을 높은 effort로 돌리려는 상황이라면 어디서든 비교 대상에 low를 넣어 보세요.

effort에 따라 달라지는 동작 두 가지는 각각 별도의 절에서 다룹니다. low에서 Claude Fable 5.1은 검색과 검색 도구를 덜 호출하고(low effort에서의 검색 발동 참고), xhighmax에서는 긴 산출물을 쓰기 전에 더 오래 사고할 수 있습니다(xhigh와 max effort에서 긴 출력을 위한 여유를 남기세요 참고).

사용자에게 보이는 진행 상황 업데이트를 요청하세요

Claude Fable 5.1은 기본 동작상 도구 호출이 길게 이어지는 턴 동안 사용자에게 보이는 업데이트를 Claude Fable 5보다 적게 씁니다. effort가 높고 도구 호출 사슬이 길어질수록 이 경향이 두드러집니다. 사용자 입장에서는 에이전트가 몇 분씩 조용해지거나, 전체 작업이 아니라 마지막 단계만 다룬 최종 메시지를 받게 됩니다.

먼저 클라이언트가 진행 상황 업데이트를 아예 받고 있는지 확인하세요. 방금 무엇을 찾았고 다음에 무엇을 할지에 대한 모델의 짧은 메모는 진행 상황 업데이트 thinking 블록으로 돌아오는데, 기본값인 thinking.display"omitted" 설정에서는 이 블록이 비어 있습니다. display: "updates"(베타, thinking-display-updates-2026-08-18 헤더)를 설정하고 비어 있지 않은 thinking 블록을 각각 상태 표시 줄로 렌더링하거나, "summarized"로 설정해 요약된 추론과 함께 받으세요. 요청하지 않고 있다면, 모델의 업데이트가 애초에 사용자에게 도달하지 않고 있을 수 있습니다.

다음으로 프롬프트에 서술을 억제하는 지시가 있는지 점검하세요. 이전 모델 중에는 작업 중에 업데이트를 주려고 지나치게 열심인 경우가 있었고, 그래서 "모든 발견 사항은 최종 응답까지 보류하라" 같은 시스템 프롬프트 문장이 들어가게 됐습니다. 무언가를 추가하기 전에 그런 문장을 먼저 지우세요.

그래도 업데이트를 더 받고 싶다면, 예를 들어 페어 프로그래밍처럼 사람이 중간에 개입하는 작업이라면, 모델에게서 사용자용 텍스트를 언제 받고 싶은지와 각 업데이트에 무엇이 담겨야 하는지를 짧은 시스템 프롬프트 문장으로 추가하세요.

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.

제품이 도구 출력을 접어 두거나 감춘다면 모델에게 알려 주세요. 그러지 않으면 모델이 UI에 표시되지도 않는 출력을 사용자에게 "보여 주려고" 명령을 실행할 수 있습니다. 이 안내는 턴 범위 시스템 메시지(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.

도구 결과를 돌려보낼 때마다 그 사용자 메시지 뒤에 이 문장을 턴 범위 시스템 메시지로 덧붙이세요. messages 안에 clear_at: "next_user_message"를 지정한 role: "system" 항목으로 넣는 것입니다. 이후 사용자 메시지가 생기면 API가 앞선 사본들을 지우므로, 모델은 가장 최신 것만 읽습니다. 턴 범위 시스템 메시지는 베타이며 베타 헤더 mid-conversation-system-clear-at-2026-08-21이 필요합니다. 베타를 쓰지 않는다면, 같은 사용자 메시지 안에서 tool_result 블록 뒤의 텍스트 블록에 이 문장을 넣으세요.

매 턴 새 사본을 덧붙이고, 앞선 사본들은 바이트 단위로 그대로 두세요. 배열에는 남아 있지만, 한 번 지워진 뒤에는 모델이 보지 않으며 입력 토큰 비용도 들지 않습니다. 그것을 삭제하거나 다시 쓰는 것은 앞선 턴을 수정하는 일입니다. 그 지점부터 프롬프트 캐시가 다시 시작되고, 그 뒤에 있던 thinking 블록이 무효가 됩니다(대화 이력은 추가만 하세요 참고).

다음 루프가 이 배치를 보여 줍니다. 어시스턴트 턴은 반환된 그대로 되돌려 보내고, 사용자 턴에는 도구 결과만 담고, 그 뒤에 안내 문장의 새 턴 범위 사본이 따라옵니다.

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,
    )
    # 어시스턴트 턴은 thinking 블록까지 포함해 반환된 그대로 덧붙입니다.
    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가 반환한 그대로, thinking 블록까지 포함해 이력에 덧붙이고, 요청 사이에 앞선 턴을 수정하지 마세요. 2026년 8월 31일 이후에 만든 계정에서는 Claude Fable 5.1의 thinking 블록이 그것을 만들어 낸 바로 그 대화에서만 유효합니다. 접두부(시스템 프롬프트, 도구 목록, 그 앞의 메시지)가 바뀐 뒤에 thinking 블록을 다시 보내는 요청은 400을 반환하거나, thinking.block_binding.prefix_mismatch_behavior: "drop_block"(베타, thinking-binding-controls-2026-08-01 헤더)을 설정한 경우 해당 블록을 버립니다. 앞으로 나올 모델은 이 검사를 모든 계정에 적용할 예정이므로, 지금 여러분 계정에 적용되지 않더라도 이 패턴을 미리 받아들이세요.

이 검사에 걸리는 이력 수정은 프롬프트 캐시를 다시 시작하게 만드는 것과 같은 종류입니다. 턴마다 리마인더를 넣고 빼는 것, 오래된 턴을 그 자리에서 요약하는 것, 세션 중간에 시스템 프롬프트를 바꾸는 것입니다. 턴마다 주는 리마인더는 턴 범위 시스템 메시지로 보내고, 지시나 도구를 바꿀 때는 system이나 tools를 다시 쓰는 대신 대화 중간 시스템 메시지를 쓰고, 잘라내는 일은 서버 쪽 압축이나 컨텍스트 편집에 맡기세요. 클라이언트에서 압축한다면 가장 단순한 형태는 이력 전체를 요약 메시지 하나와 새 사용자 턴으로 교체하고 나머지는 아무것도 다시 보내지 않는 것입니다. thinking 블록이 넘어오지 않으니 실패할 것이 없고, 모델은 압축된 대화 위에서 새로 사고합니다(클라이언트에서 직접 압축하기 참고). 이제 캐시 읽기 비용이 더 저렴해졌기 때문에(요금 참고), 비용을 아끼려고 일찍 압축하는 것이 Claude Fable 5.1에서는 더 이상 알맞은 비용·지능 트레이드오프가 아닐 수 있습니다. 압축 시점을 더 늦춰 보며 실험해 보세요.

하네스가 이미 하고 있는 수정을 찾으려면, prefix_mismatch_behavior: "drop_block"으로 세션을 한 번 돌리고 input_transformations를 로그로 남기세요. 내 통합이 영향을 받는지 확인하는 방법에 설명되어 있습니다. 또는 평범한 턴을 몇 번 진행하면서 하네스가 보내는 요청을 그대로 캡처해, 연속된 요청이 덧붙은 턴을 제외하고 바이트 단위로 동일한지 확인하세요.

글의 밀도

Claude Fable 5.1의 글은 대체로 이전 클로드 모델보다 한 단계 낫습니다. 상투적인 표현이 줄고 설명 없이 던지는 전문 용어도 줄었습니다. 다만 어떤 경우에는 산문이 Claude Fable 5보다 빽빽합니다. 문장이 길어지고 문단 구분이 적어집니다. 이때는 안티패턴, 즉 겉멋 든 문장(mannered prose)이 무엇인지 정의해 주는 지시가 도움이 됩니다. 사용자 메시지(권장)나 시스템 프롬프트에 추가하세요.

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은 긴 대화가 압축될 때 요약에 무엇을 반드시 남겨야 하는지 명시적으로 알려 주면 잘 반응합니다. 서버 쪽 압축은 이미 그렇게 하고 있습니다. 클라이언트 쪽에서 압축한다면 다음 요약 지시를 쓰세요.

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 effort에서의 검색 발동

low effort에서 Claude Fable 5.1은 Claude Fable 5보다 검색이나 정보 검색 도구를 호출할 가능성이 낮고, 기억에 의존해 답할 가능성이 높습니다. 어떤 경우에는 대화 전체가 아니라 해당 턴에만 effort를 올리는 것이 가장 간단한 해결책입니다. 대화 중간에 effort 바꾸기를 참고하세요.

다른 경우에는 검증 쪽으로 밀어 주는 프롬프트가 도움이 됩니다. 시스템 프롬프트에서, 어떤 이름을 알아본다는 것이 그것의 현재 상태를 안다는 뜻은 아니며 그런 이름은 사용자가 쓴 그대로 검색해야 한다고 알려 주세요.

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"을 반환합니다(거부와 폴백, 과금 참고). 오탐이 더 잘 일어나는 상황이 세 가지 있습니다.

  • 컴파일 확인 표현: "이 프로그램이 오류 없이 컴파일되나요?" 대신 "이 프로그램에 버그가 있나요?"라고 물으세요.
  • 덜 알려진 프로그래밍 언어: 그 언어가 무엇이고 어떻게 동작하는지에 대한 맥락을 모델에 주세요. 예를 들어 해당 언어의 문서에 접근할 수 있게 해 주면 됩니다.
  • 도구 출력의 Base64: base64로 인코딩된 데이터를 모델의 컨텍스트로 반환하는 도구는 오탐을 유발할 수 있으므로, 그것을 제거하는 것이 권장되는 해결책입니다.

전체 파일 재작성보다 국소적인 수정을 선호하게 하세요

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 effort에서 긴 출력을 위한 여유를 남기세요

xhigh, 특히 max effort에서 Claude Fable 5.1은 답변을 쓰기 시작하기 전에 더 오래 사고할 수 있습니다. 한 번의 요청으로 긴 산출물을 요구하면, 예를 들어 긴 문서 전체를 다시 쓰라고 하면, 그 산출물의 상당 부분을 사고 과정에서 초안으로 작성한 뒤 답변으로 다시 쓸 수 있습니다. 기다리는 시간이 길어지고 출력 토큰도 늘어난다는 뜻입니다. 가장 간단한 방법은 이런 요청을 권장 출발점인 high로 돌리고, 품질 향상을 측정으로 확인한 경우에만 xhighmax로 올리는 것입니다(모든 effort 레벨을 검토하세요 참고). xhighmax로 돌린다면 이렇게 하세요.

  • max_tokens를 예상하는 답변 길이만이 아니라 사고와 답변 둘 다 들어갈 여유를 두고 설정하세요.
  • 다음 안내를 사용자 메시지 끝에 덧붙이세요. 산문과 코드 요청에서 사고 길이를 크게 줄여 줍니다. [max_tokens]는 해당 요청의 실제 max_tokens 값으로 바꾸세요. 예를 들어 64,000입니다.
Everything produced 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 don'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, spend extra effort on understanding the request, checking the inputs the 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. Usually it is not needed to draft an output multiple times.

서브에이전트가 도는 동안 리드 에이전트가 계속 일하게 하세요

여러분의 코딩 에이전트가 Claude Fable 5.1에게 작업을 서브에이전트로 위임할 수 있다면, 리드 에이전트가 서브에이전트 하나하나를 멈춰 서서 기다리게 하지 마세요. 코딩 작업에서는 서브에이전트가 도는 동안 리드가 계속 작업하게 하면, 품질과 토큰 사용량, 비용은 비슷한 채로 평균 완료 시간이 줄어듭니다. 이렇게 설정하세요.

  • 서브에이전트를 시작하는 도구가 즉시 반환하게 하세요.
  • 각 서브에이전트의 결과는 준비된 뒤에 이후 user 메시지로 리드에게 전달하세요.
  • 리드가 결과를 기다리고 싶을 때 호출할 수 있는 별도의 도구를 주세요.

모델은 그래도 기다리는 쪽을 택하는 경우가 많습니다. 시간이 절약되는 것은 다른 일을 이어서 하는 실행들에서 나옵니다.

비전 작업에는 자르고 확대할 도구를 주세요

Claude Fable 5.1은 별도 설정 없이도 비전 성능이 더 좋습니다. 그리고 정보가 빽빽한 차트처럼 복잡한 시각 입력에서는, 보고 있는 것을 반복해서 분석하고 잘라 내고 눈으로 확인할 수 있을 때 가장 좋은 결과를 냅니다. 이 이점을 온전히 누리려면, 원본 이미지나 영상을 담고 있고 기본적인 이미지 처리 라이브러리(PIL과 OpenCV 같은)가 미리 설치된 컨테이너에 접근할 수 있는 에이전트로 모델을 돌리세요. 컨테이너를 돌리는 부담이 너무 크다면 이미지 자르기 도구만으로도 향상분의 대부분을 얻을 수 있습니다. 이미지에서 고른 영역을 잘라 확대해 반환하는 도구를 주면, 모델이 특정 세부를 더 깊이 살펴볼 수 있고 이미지 토큰에 맞춰 테스트 타임 컴퓨트가 늘어납니다. 자르기 도구 레시피에 동작하는 정의가 있습니다.

Edit this page