Harness
The harness is a standard function-calling (agentic) harness around the LLM. It gives the model what it needs to act each turn: the conversation history, the current variables, and the tools it is allowed to call.
The agentic loop
Each turn, the harness runs a simple loop around the LLM:
- Assemble context: conversation history, variables, and available tools.
- The LLM reasons, and either responds or calls a tool.
- If it calls a tool, the harness runs it and feeds the result back.
- Repeat until the LLM produces a response.
Variables
The harness carries variables through the conversation. Values can also be injected into context (for example from an on-start hook or your backend), so the model always reasons over the right state.
Tools
The model acts through tools. Some are built-in core tools, and you can author your own to extend what the agent can do.