What is an agent harness?
An agent harness is the scaffolding that turns a language model into an agent. A model on its own can only generate text. To have it call tools, work through multi-step tasks, remember what it has done, and keep going until the job is finished, you need a runtime wrapped around the model – and that runtime is the harness.
Agent Framework ships a ready-made one so you don’t have to build that scaffolding yourself. It’s an opinionated, fully customizable, batteries-included agent that wraps a chat client with a complete agentic pipeline, tuned for long-running, autonomous work such as research, data analysis, and general task automation. Internally it’s just a chat-client agent (Agent in Python,ChatClientAgent in .NET) with a curated set of Agent Framework features added – each enabled by default and individually customizable or removable:
- Function invocation – the automatic tool-calling loop, with a configurable iteration limit.
- Per-service-call history persistence – chat history saved after every model call for crash
recovery and mid-run inspection.
- Compaction – context-window management so long tool-calling loops don’t overflow.
- Todo & agent-mode providers – a persistent todo list plus plan/e