Here is the complete, expanded breakdown of Anthropic’s exact prompting and architectural rules for Claude Fable 5: * **Target the absolute top of your difficulty range:** Fable 5 belongs to Anthropic's ultra-capable *Mythos* tier. Testing it on routine workloads or simple one-shot tasks is an explicit waste of budget and capabilities. Reserve it entirely for highly ambiguous, long-running, multi-step, end-to-end problems that would take a human hours or days to complete. * **Prompt for goals and autonomy, not dialogue:** The golden rule of Fable 5 is to stop over-scaffolding and micro-scripting every sub-task. State the final objective, define the strict boundaries of what it *cannot* do, establish clear success criteria, and then give it the autonomy to plan and execute its own path. * **Calibrate effort levels to enforce budget control:** Fable 5 introduces an explicit effort parameter (low, medium, high, xhigh). Never max it out by default. For everyday components or routine scripting, drop the effort to *low* or *medium* to prevent the model from over-deliberating, over-planning, or unnecessarily refactoring surrounding code. Save *high* or *xhigh* purely for capability-sensitive architecture. * **Enforce strict brevity and outcome-first summaries:** This tier is prone to excessive narration at higher effort levels. Steer it by embedding a short constraint: *"Lead with the outcome. Your first sentence after running must answer 'what happened' or 'what did you find' as a TLDR. Drop details that don't change subsequent actions."* Short brevity prompts are now highly effective. * **Deploy an external memory system:** Fable 5 shows a massive performance uplift when it can log lessons learned. Instead of carrying massive, token-heavy conversation histories forward, Anthropic recommends having the model read from and write to a simple, dedicated Markdown file to track pendekatan (approaches) and corrections across sessions. * **Build a client-side send_to_user tool:** For long, asynchronous agent runs, do not let the model end its execution turn just to give you a status update. Build a custom tool that takes a string input and prints it directly to your UI. This allows the model to stream progress reports without wasting massive token overhead on constant loop restarts.