Hybrid reasoning components in Agent Script
Key Takeaway
Within a subagent, the agent resolves the reasoning instructions first, top to bottom, with no LLM involved. Only then does it build the prompt and send it to the LLM. If a transition runs along the way, the agent moves to the other subagent right away, so the original subagent never sends a prompt.
Hybrid reasoning is how Agentforce agents combine fixed, rule-based logic with the flexible thinking of a large language model (LLM). You decide which parts of an agent's behavior are deterministic rules and which parts the LLM figures out. You get predictability where the business needs it and natural conversation everywhere else. Agent Script, the language for building agents in Agentforce Builder, expresses this mix. Canvas view and Script view are two ways to edit the same Agent Script.
What hybrid reasoning combines
Hybrid reasoning blends two things that usually live in separate tools: the reliability of deterministic, programmatic logic and the flexibility of natural-language prompts. The result gives you the predictability and control that enterprises need, along with the flexibility and creativity that LLMs make possible.
Beginning in April 2026, agent topics are called subagents, with no change in functionality. You may see both terms during the transition.
In Agent Script, programmatic expressions handle business rules, such as if/else conditions, transitions, setting and comparing variables, and selecting subagents and actions. Natural language instructions handle conversational tasks.
The Atlas reasoning engine is graph-based, like a flowchart with nodes, variables, and transitions, so agents follow specific, predictable paths. Unlike strictly prompt-based reasoning engines, Atlas separates an agent's big-picture workflow from its conversational skills. Atlas uses Agent Script to combine the two.
With Agent Script, you can define these parts of an agent's behavior:
- Areas where the LLM is free to make reasoning decisions
- Areas where the agent must run deterministically
- Variables that reliably store the agent's current state, instead of relying on LLM context memory
- If/else conditions that pick the agent's execution path or what the LLM says
- Conditions under which the agent moves to a new subagent