micro--go-micro
57e83ca9a0
Add a 'Where we fit' section: 'harness' has two layers — the intra-agent harness (single-model runtime: prompts, tools, context, sandbox, the Ralph loop) that LangChain/LangGraph/deepagents/Claude Code own and we do NOT compete with, and the operational harness (the distributed substrate agents operate inside: services-as-tools, discovery, durable runs, observability, interop, the services->agents->workflows lifecycle) which is our focus. They stack and interoperate via MCP/A2A; we make those agents better neighbours, not obsolete. Co-authored-by: Claude <noreply@anthropic.com>
98 行
5.0 KiB
Markdown
98 行
5.0 KiB
Markdown
# Go Micro — Thesis & North Star
|
|
|
|
This is the North Star for the project and for the autonomous improvement loop
|
|
(see `CONTINUOUS_IMPROVEMENT.md`). Every change should move toward it; work that
|
|
doesn't isn't an improvement, however clean.
|
|
|
|
## Thesis
|
|
|
|
Go Micro is an **agent harness and service framework** — one runtime that, holistically,
|
|
encapsulates the **lifecycle of services, agents, and workflows**. Not three
|
|
products stitched together: one set of primitives, because an agent is a
|
|
distributed system and building one is building a service.
|
|
|
|
## The progression: services → agents → workflows
|
|
|
|
Value is unlocked in order, and each layer needs the one beneath it:
|
|
|
|
1. **Services** — typed, discoverable, callable capabilities. The substrate; every
|
|
endpoint is automatically an AI-callable tool.
|
|
2. **Agents** — a model with memory and tools that *uses* those services, plans,
|
|
delegates, and is bounded by guardrails. Intelligence on top of capability.
|
|
3. **Workflows** — the part that **pieces it all together**: composing agents and
|
|
services over time, deterministically where the path is known and dynamically
|
|
where it isn't, on schedules and in loops. The workloads come *after* the
|
|
agents, because the value is in stitching it into systems that do real work.
|
|
|
|
A harness that stops at "a model in a loop" is incomplete. The point is the whole
|
|
lifecycle — capability, intelligence, and orchestration as one runtime.
|
|
|
|
## Where we fit — complementary, not competing
|
|
|
|
"Agent = Model + Harness" ([LangChain](https://www.langchain.com/blog/the-anatomy-of-an-agent-harness))
|
|
is the right frame, but *harness* has two layers, and we own the second:
|
|
|
|
- **The intra-agent harness** — the runtime around a *single model*: system prompt,
|
|
tools, context compaction, sandbox, self-verification, and the continuation
|
|
("Ralph") loop. LangChain / LangGraph, deepagents, and Claude Code do this well.
|
|
**We do not compete here.**
|
|
- **The operational harness** — the distributed substrate agents *operate inside*:
|
|
services as typed tools, discovery and RPC, durable and resumable runs,
|
|
observability, scheduling, and the protocols agents use to reach each other. The
|
|
place a single agent becomes part of a system, and many agents, services, and
|
|
workflows compose. **This is Go Micro's focus.**
|
|
|
|
They stack. An intra-agent harness produces an agent; Go Micro is where that agent
|
|
runs as a first-class service and gets composed into workflows with other services
|
|
and agents. They plug together through open protocols — a LangGraph or deepagents
|
|
agent is reachable over A2A and consumes Go Micro tools over MCP, and the reverse.
|
|
We make those agents better neighbours, not obsolete.
|
|
|
|
So the focus is deliberately narrow: **the operational harness for Go, and the
|
|
services → agents → workflows lifecycle** — not a model-orchestration framework, not
|
|
a graph DSL, not a prompt layer. Lead with interop and the distributed substrate;
|
|
treat LangChain-class tools as complements to build alongside, never as targets to
|
|
replace.
|
|
|
|
## Why now
|
|
|
|
The frontier is moving from chat to **scheduled, looping, work-performing agents**:
|
|
Anthropic itself is building toward agents that do work on a cadence (Claude for
|
|
Work, schedulers), and running coding agents *continuously in loops* is becoming
|
|
standard practice among the people who build them. That shift is exactly the
|
|
"workflows after agents" layer — and the harness is what makes it safe, durable,
|
|
observable, and composable instead of a fragile script.
|
|
|
|
The bet: whoever gives Go a holistic harness for the **whole lifecycle** — not just
|
|
an agent SDK, not just a service framework — owns where agentic software gets built.
|
|
|
|
## What every improvement should serve
|
|
|
|
Judge each loop increment against the North Star:
|
|
|
|
1. **Make the harness real** — operate the loop in production: durability,
|
|
observability, resilience, streaming, human-in-the-loop.
|
|
2. **Tighten the lifecycle** — services ↔ agents ↔ workflows as one runtime, not
|
|
three silos.
|
|
3. **Advance orchestration** — durable, resumable, scheduled, looping workflows
|
|
that compose agents and services over time.
|
|
4. **Sharpen DX** — the 0→1 and 0→hero paths stay effortless.
|
|
5. **Strengthen interop** — MCP (tools), A2A (agents), x402 (paid tools).
|
|
6. **Harden trust** — cross-provider conformance, failure semantics, tests.
|
|
|
|
Prefer changes that advance these; avoid scope that doesn't. Brand/positioning
|
|
copy and breaking public-API changes stay with the human.
|
|
|
|
## The loop is the proof
|
|
|
|
Go Micro is built by an autonomous agentic loop — Claude Code and Codex
|
|
continuously improving the repo against this North Star. That isn't a gimmick; it's
|
|
the thesis applied to itself: an agent harness, built by agents running in a loop.
|
|
If the harness is good enough to build itself, it's good enough to build your
|
|
agentic software.
|
|
|
|
## What this is not
|
|
|
|
The framework is the product — no hosted platform, no enterprise tier, no VC, no
|
|
graph DSL. Sustained by sponsorship from those who run it. See `ROADMAP.md`.
|