---
layout: blog
title: "Go Micro is an Agent Harness"
permalink: /blog/30
description: "The first wave of agent frameworks put a model in a loop. The harder problem is operating that loop — and that's what Go Micro is: the harness around the agent."
---

# Go Micro is an Agent Harness

*June 24, 2026 • By the Go Micro Team*

The first wave of agent frameworks solved one problem: put a model in a loop with some tools. That's the easy part now. The harder problem — the one that decides whether an agent makes it past a demo — is **operating** that loop.

Operating a loop means connecting it to real tools, scoping what it can touch, keeping state when the process restarts, routing work to specialists, recovering from provider failures, seeing what it did, and letting other agents call it. That's harness work, and it's most of the actual job.

## The harness is the stack you already deploy

Go Micro's answer is that the harness isn't a new product to bolt on — it's the distributed-systems runtime services already have. An agent is a service with a model inside. So:

- **Tools are services.** Every endpoint is an AI-callable tool from registry metadata; an RPC runs it. No catalog to hand-maintain.
- **Agents are services.** They register, discover each other, load-balance, expose `Agent.Chat`, and are reachable over A2A.
- **Workflows are code paths.** Use a durable flow when the path is known; hand off to an agent when it isn't.
- **Safety lives at execution** — `MaxSteps`, `LoopLimit`, and `ApproveTool` run on the one path every tool call takes.
- **Interop is built in** — MCP for tools, A2A for agents, x402 for paid tools.

The service layer isn't old positioning we're walking away from. It's the reason the harness is credible: an agent that does real work needs typed, discoverable, callable capabilities, and that's exactly what a service is.

## What's shipped, and what's next

We'd rather be precise than aspirational. Today the harness gives you tools-from-services, store-backed memory, guardrails, durable flows (including run-until-done loops), built-in plan/delegate, and MCP/A2A/x402 interop.

What we're building now is the part that turns "operates the loop" from a claim into a guarantee:

- **Resilience** — deadlines, timeouts, and retry/backoff propagated through the whole loop.
- **Durable agent runs** — checkpoint and resume a run after a restart, the way flows already do.
- **Observability** — every run as OpenTelemetry spans, inspectable from the CLI.
- **Streaming** — tokens end to end, through chat, the agent RPC, and A2A.

That list is the roadmap's [Now and Next](/docs/roadmap.html), tracked as open issues. The work is happening in public.

## Read more

- [The Agent Harness](/docs/guides/agent-harness.html) — what the harness is, piece by piece, with status
- [Roadmap](/docs/roadmap.html)

---

*Go Micro is an open source agent harness and service framework for Go. [Star us on GitHub](https://github.com/micro/go-micro).*

<div class="post-nav">
  <div><a href="/blog/29">&larr; OpenAI Codex for Open Source</a></div>
  <div><a href="/blog/">All Posts</a></div>
</div>
