Quick Reference
Every core Messages API parameter, the five Building Effective Agents patterns, and the order to read this course in — all on one page you can keep open in a tab.
Think of this page like the laminated cheat sheet taped inside a science classroom's supply cabinet. It doesn't teach you anything new — it just reminds you, at a glance, which knob does what and which drawer to open next. You won't memorize it on purpose. You'll just keep coming back to it until, one day, you notice you don't need to anymore.
How to use this page
This isn't a lesson — it's the condensed cheat sheet for the whole course. Use it three ways: look up a Messages API parameter mid-project, remind yourself which agent pattern fits the problem you're staring at, or find your way back into the course if you've been away for a while.
Messages API parameters
☺ Like you're 10: Every request to Claude is like filling out an order form — you always have to say who's cooking (model) and how big a plate you want (max_tokens); everything else is an optional topping you only add when you actually want it.
These nine fields cover the vast majority of what you'll ever set on a messages.create call. model, max_tokens, and messages are required on every request; the rest are optional and only matter when the task calls for them.
| Parameter | Required? | What it does |
|---|---|---|
model | Required | Which Claude model handles the request (e.g. claude-opus-4-5, claude-sonnet-4-5) — sets capability, speed, and cost. |
max_tokens | Required | Hard cap on how many tokens Claude may generate in this response. |
system | Optional | Sets Claude's role, tone, and standing instructions for the whole conversation; passed separately from messages, not as a turn inside it. |
messages | Required | The ordered array of user/assistant turns that make up the conversation so far. |
temperature | Optional | Controls sampling randomness, roughly 0 (near-deterministic) to 1 (more varied); turn it down for precise or structured tasks. |
stream | Optional | When true, the response arrives as a stream of server-sent event deltas instead of one complete JSON object. |
tools | Optional | An array of tool definitions (name, description, input_schema) Claude may choose to call instead of replying directly. |
tool_choice | Optional | Controls whether and which tool Claude must use: auto, any, a specific named tool, or none. |
thinking | Optional | Turns on extended thinking with a token budget, letting Claude reason step by step before producing its final answer. |
{
"model": "claude-opus-4-5",
"max_tokens": 1024,
"system": "You are a concise, careful assistant.",
"messages": [
{ "role": "user", "content": "Explain prompt caching in one paragraph." }
],
"temperature": 0.7,
"stream": false,
"tools": [ /* optional tool definitions */ ],
"tool_choice": { "type": "auto" },
"thinking": { "type": "enabled", "budget_tokens": 4000 }
}Building Effective Agents: five patterns
☺ Like you're 10: These five patterns are five ways to organize a group project — sometimes everyone does one step in order, sometimes you split up and each person tackles a different piece, and sometimes one kid acts as project manager and hands out the work.
These are the workflow shapes from Building Effective Agents, in order of how much control you hand over to the model. Start with the simplest pattern that solves your problem — add orchestration only when the task genuinely needs it.
| Pattern | When to use it |
|---|---|
| Prompt chaining | The task breaks cleanly into a fixed sequence of steps, each easier to get right in isolation — worth trading some latency for higher accuracy. |
| Routing | Inputs fall into distinct categories that are genuinely better served by different prompts, tools, or models. |
| Parallelization | Subtasks are independent enough to run at once (sectioning), or running the same task several times and combining results improves confidence (voting). |
| Orchestrator-workers | Subtasks can't be predicted ahead of time and depend on the specific input — a central LLM plans and delegates, workers execute, the orchestrator synthesizes. |
| Evaluator-optimizer | There are clear evaluation criteria and looping — generate, critique, revise — measurably improves the output. |
Skim the relevant table on this page before you write a request or design a workflow, then only reach for the optional row — tool_choice, thinking, orchestrator-workers — once you've confirmed the task actually needs it.
Copying every parameter into every request "just in case," or reaching for orchestrator-workers when prompt chaining would do. Extra knobs you don't understand quietly change behavior you didn't intend, and extra orchestration adds latency and failure modes you didn't need.
Recommended reading order
If you're starting from scratch, work through the 21 lessons top to bottom, then pick a capstone (or work through all six) to put it together end to end.
Foundations
Prompting & inputs
- Prompting Fundamentals
- Advanced Prompting Techniques
- Vision & Multimodal Inputs
- Streaming & Context Management
Tools & structure
Building applications
Shipping responsibly
- Safety & Responsible Use
- Evaluation & Testing
- Production Deployment
- Patterns & Anti-Patterns
- Next Steps
Capstone projects — pick one, or work through all six
- Capstone: Support Assistant
- Capstone: Code Review Agent
- Capstone: Financial Document Analysis
- Capstone: Clinical Triage Assistant
- Capstone: Research Agent
- Capstone: E-commerce Assistant
For quick vocabulary lookups or a rapid self-test instead of the full path, see the glossary, flashcards, or the self-check.
You should now be able to name the required and optional Messages API parameters and say what each does, pick the right Building Effective Agents pattern for a given workflow shape, and know exactly where to pick the course back up. Bookmark this page — you'll be back for the tables long after you've forgotten the prose. To test how well it all stuck, head to the self-check next.
Check your answers
- Which fields are required on every Messages API request, and what does
max_tokensactually limit?model,max_tokens, andmessagesare required.max_tokenscaps how many tokens Claude may generate in that single response — it does not limit the size of the conversation as a whole. - You're building a workflow where a central LLM looks at each incoming request and decides, on the fly, how many sub-agents to spin up and what to hand each one — which pattern is that, and how does it differ from prompt chaining? That's orchestrator-workers. Unlike prompt chaining's fixed, predetermined sequence of steps, an orchestrator dynamically plans and delegates subtasks based on the specific input it receives.
- You've just finished this reference page — where should you go next to check how well the material stuck, and where to go for a quick term lookup? Use self-check.html to test your understanding, or glossary.html for a fast definition lookup.