ReAct is the old root that still matters
ReAct means reasoning plus acting: the model reasons about the next move, calls a tool, observes the result, and reasons again. Modern APIs hide some of the scratchpad, and good systems should not leak private reasoning to users, but the control pattern is still everywhere.
The practical lesson is not "show chain-of-thought." The practical lesson is "alternate decisions with evidence." A tool call without an observation is wishful acting. A long internal monologue without tools is just expensive prose.
Do not confuse products with primitives
Frameworks differ in surface area, but most are combinations of the same primitives: model call, tool schema, tool executor, state, memory, handoff, guardrail, trace, and stop condition. Learn the primitives first. Then choose the product.
The 2026 decision map
Use a raw loop when the system is small and control matters. Use OpenAI Agents SDK when you want code-level orchestration, hosted OpenAI tools, handoffs, guardrails, and tracing. Use LangGraph when state transitions, persistence, replay, and human interrupts are the product. Use CrewAI when role/task configuration is the main value. Use Claude Agent SDK when a Claude-native developer harness, files, shell, MCP, and permissioned long-running sessions are central.