Back to News
RSS feedgithub.com

agent-harness Offers a Composable Go Runtime for LLM Tool-Calling Agents

Summary

agent-harness is a minimal, composable Go library for building agentic tool-calling loops on top of LLM APIs. Its core Run function calls a provider, executes returned tool calls, feeds the results back to the model, and repeats until the run finishes or reaches its step limit. The library does not impose a provider, storage layer, prompt format, or multi-agent workflow; callers supply those pieces through a provider interface, messages, tools, and options. The project requires Go 1.26 or later and includes adapters for the OpenAI Responses API and Anthropic, with streaming support where implemented by the adapters. Hooks support approval gates before tool execution, streamed deltas, lifecycle events, observability, and per-step tool filtering. A thread state model supports pausing on pending tool calls, resolving approved calls later, and continuing the run. The repository also provides a runner for cancelling active runs, optional file-backed memory with recall and promotion tools, and recoverable tool transcripts. An examples/claw REPL demonstrates prompts, history, tool inspection, memory commands, and run control, while the repository includes architecture, runner, provider, memory, and research documentation. Unit tests, provider integration tests using local HTTP servers, race testing, and vet checks are part of the stated project milestones.