Loading repository dataβ¦
Loading repository dataβ¦
Anandesh-Sharma / repository
π€ The definitive curated map of agent harnesses β concepts, design patterns, architectures, frameworks, coding agents, papers & benchmarks.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
The definitive, curated map of agent harnesses β the runtime scaffolding that turns an LLM into an agent. Concepts, design patterns, architectures, frameworks, coding agents, papers, and benchmarks.
A raw LLM predicts tokens. A harness gives it a loop, tools, memory, control flow, and a sandbox β and turns it into something that acts. This is everything worth understanding, building on, and benchmarking.
What's a harness? The model is the engine; the harness is the car built around it β the runtime scaffolding that processes inputs, orchestrates tool calls, manages the context window, enforces safety, handles errors, and returns results in a loop. Anthropic describes the Claude Agent SDK as exactly this: "a general-purpose agent harness adept at coding... that requires the model to use tools to gather context, plan, and execute." This list maps the concepts behind harnesses and the open-source harnesses themselves.
The shortest path to understanding how agents are actually built:
π‘ The most important design lesson (Anthropic): start with the simplest thing that works. Use predictable workflows for well-defined tasks; reserve autonomous agents for when you genuinely need model-driven flexibility. Frameworks add abstraction that can obscure your prompts β consider going without one first.
The terminology is genuinely contested. The distinctions practitioners actually draw:
| Term | What it is | Source |
|---|---|---|
| Agent | A system where the LLM dynamically directs its own process and tool usage β the model decides the next step in a loop | Anthropic |
| Workflow | LLMs + tools orchestrated through predefined code paths β control flow fixed by the developer, not the model | Anthropic |
| Harness | The runtime scaffolding wrapping the LLM: orchestrates tool calls, manages context, enforces safety, returns results | Anthropic |
| Scaffolding | The static setup phase that assembles the harness (system prompt, tool schemas, subagent registry) before the first prompt; in the SWE-bench community, all non-model code wrapping the LLM | community |
| Framework | A reusable library for building harnesses (LangGraph, AutoGen). The toolkit, not the assembled runtime | Anthropic |
One-liner: Agent = the autonomous decision-maker Β· Harness = the runtime wrapping it Β· Scaffolding = the static setup that assembles the harness Β· Framework = the library you build harnesses with Β· Workflow = orchestration where code, not the model, holds control.
mindmap
root((Agent Harness))
Loop patterns
ReAct
Plan-and-Execute
ReWOO
Reflexion
Tree of Thoughts
Topologies
Single agent
Supervisor / workers
Group chat / debate
Handoffs / swarm
Network / graph
Components
Tool calling
Context management
Memory
Planning
Sandboxing
Human-in-loop
Observability
Philosophies
Simple first
Context engineering
Code-as-action
MCP standard
The core control loop is perceive β reason β act β observe, repeated until a stop condition. Patterns differ in how reasoning, acting, and observation interleave.
flowchart LR
G[Goal] --> R[Reason / Plan]
R --> A[Act: call tool]
A --> E[(Environment / tools)]
E --> O[Observe result]
O -->|not done| R
O -->|reflect| RF[Self-reflection]
RF --> R
O -->|done| F[Final answer]
flowchart TB
subgraph single[Single agent]
S1((Agent))
end
subgraph sup[Supervisor / workers]
O((Orchestrator)) --> W1((Worker)) & W2((Worker)) & W3((Worker))
end
subgraph swarm[Handoffs / swarm]
H1((Agent A)) <-->|handoff| H2((Agent B))
H2 <-->|handoff| H3((Agent C))
end
| Component | What it does |
|---|---|
| Tool / function calling | Dispatch tool calls, run them, feed results back β the augmented-LLM building block |
| System prompt / instructions | Standing role, constraints, tool-use policy β competes for the context budget |
| Context management & compaction | Summarize a near-full window and reinitialize β core for long-horizon agents |
| Memory integration | Episodic/long-term stores + structured note-taking so state survives context resets |
| Planning | Explicit plan generation/decomposition before execution |
| Error handling / retries | Recovery via git history, progress files, re-orientation at session start |
| Human-in-the-loop | Approval gates, interrupts, MCP elicitation |
| Guardrails | Safety/validation; MCP requires explicit user consent for data access & tool calls |
| Structured output | Constrain output to a schema (JSON / typed objects) for reliable parsing |
| State / checkpointing | Save state per step; resume after failure (LangGraph checkpointers, Sqlite/Postgres) |
| Observability / tracing | Capture every prompt, tool call, decision for debugging & eval |
| Sandboxing & code execution | Isolated envs for model-generated code β Docker (shared kernel) vs microVMs (own kernel, ~150ms) |
| Agent-Computer Interface (ACI) | Purpose-built file/repo/exec commands for LM agents β took SWE-bench 3.8% β 12.5% |
| Computer / browser use | Control a screen via virtual mouse/keyboard when no direct connector exists |