What Is a Harness? The LLM Execution Layer, Tool vs Data Planes, and ADE
This article explains Harness as the execution suite that lets LLMs act on code, detailing the five-layer architecture (LLM, Harness, Interface, MCP Data Plane, ADE), comparing tools like Claude Code, Codex, Pi, and T3 Code, and showing how MCP enables cross-harness orchestration for multi-model workflows.
Chef, Empty Kitchen, and Order Counter: The Harness Analogy
The article opens with Theo's analogy: an LLM is a Michelin-star chef who only outputs text. Without tools, the chef cannot cook. Humans need keyboards, terminals, and desktop software (Interface) to turn thoughts into machine actions. LLMs need an equivalent bridging system called Harness (智能体执行套件) to turn "text sign language" into real actions.
Five Required Components of a Harness
A qualified Harness must provide:
Executable toolset : e.g., read_file, edit_file, bash, search.
Agreed text invocation syntax : e.g., <read_file name="README.md">.
Syntax interception and execution engine : listens for tool syntax, pauses generation, runs code locally or in a sandbox.
Result backfill and loop mechanism : feeds command output or errors back into the context window for the next reasoning step.
Tool documentation manifest : lists each tool's purpose and parameter format in the system prompt.
Interface vs. Harness: Claude Code and Codex
Claude Code bundles both: the terminal UI is the Interface ; the underlying Anthropic Agent SDK and Claude Code Binary are the Harness . OpenAI's Codex follows the same pattern: ChatGPT/Codex desktop is the Interface; Codex App Server is the Harness. An Agent = LLM (chef's brain) + Harness (fully equipped kitchen).
Five-Layer Architecture and Tool Positioning
The author maps all concepts into five layers: LLM → Harness → Interface → MCP (Data Plane) → ADE (Agentic Development Environment). An architecture diagram shows where each tool sits.
Tool Plane vs. Data Plane: Why Not Hardcode Assets into the Kitchen
Tool Plane (工具平面) are capabilities baked into a specific Harness (like a custom wok). Examples: Pi Agent (minimal, only bash), Claude Agent SDK/Codex App Server (full-featured with file ops, sub-agents, skills, context compression). Third-party plugins (TypeScript, CUA) also live here.
Problem: Tools are bound to a specific Harness. Switching from Claude Code to Codex breaks custom tools.
Solution: Data Plane (数据平面) centered on MCP (Model Context Protocol). An MCP service is like a recipe book on the counter — the chef requests data via standard calls without modifying kitchen plumbing. T3 Code uses MCP to let one Harness command another: e.g., a Claude main thread spawns a Codex sub-thread for tests via T3 Code MCP acting as broker.
A cross-harness orchestration diagram illustrates the flow: Developer → Claude Kitchen → T3 Code MCP → Codex Kitchen → returns review diff.
Architecture Comparison: Six Mainstream Tools
A table compares:
Claude Code CLI/App : Interface + built-in Harness; high built-in tools; locked to Anthropic ecosystem; $20–200/mo; for heavy Claude users.
Claude Agent SDK : Pure Harness base; same rich tools; for embedding in custom Python/TS apps; API token billing; for enterprise vertical agents.
Codex CLI/App : Interface + Codex Server; high tools (file ops, sandbox); bound to OpenAI models; ChatGPT Plus/Pro or API; for OpenAI ecosystem developers.
Pi : Minimalist Harness; almost only bash; strong cross-model (used as OpenClaw base); free open-source, bring your own API key; for hackers wanting full control.
OpenCode / Cursor : Interface + multi-model Harness; high tools, multi-model switching, terminal/IDE integration; strong cross-model via APIs and local tools; free or per-seat; for developers switching models in one terminal/IDE.
T3 Code : Top-layer ADE (Food Court); reuses underlying kitchens + built-in cross-stack MCP; extreme cross-model (same thread mixes Claude/Codex/Cursor); free open-source, reuses existing subscriptions; for multi-subscription teams needing remote work.
Getting Started with T3 Code
Two steps:
Ensure at least one underlying CLI is installed and authenticated:
# If using Claude Code
claude auth login
# If using OpenAI Codex
codex login
# If using Cursor or OpenCode
agent login
opencode auth loginLaunch T3 Code:
# Option 1: Run instantly (recommended first try)
npx t3@latest
# Option 2: macOS Homebrew
brew install --cask t3-code
# Option 3: Windows Winget
winget install T3Tools.T3CodeExisting Skills, plugins, and quotas remain intact; a T3 Code MCP appears automatically for cross-harness child threads and mobile remote access.
Vercel Eve Framework: Decoupled Agent Structure
Theo mentioned Vercel's Eve framework, which follows the same layered philosophy. A directory structure derived from the video:
my-team-agent/
├── instruction.md # Top-level role definition & system prompt template
├── skills/ # Team-shared skill packs (cross-model reuse)
├── tools/ # TypeScript custom tool extensions
├── sandbox/ # Code execution isolation sandbox config
├── channels/ # Discord / Slack / Teams chat entry points
└── connections/ # Mount external MCP services (Supabase / PostHog / T3 Code)Agents built this way can be exposed to chat channels; @-mentioning the bot triggers branch creation, code changes, and PR submission.
Three Pitfalls and Hard Truths
Model-Harness coupling is irreversible; stop chasing 3–5% benchmark gaps. Model vendors now train new models on their own Harness-generated trajectory data. Claude is smartest inside Claude Code; switching to a "higher-scoring" wild Harness yields only 3–5% perceived gain, costs more in API fees, and delivers less work.
The "Panda Express ordering a burrito" disaster when switching kitchens. T3 Code's model switcher swaps the entire Harness. Skills installed in Claude's kitchen vanish when switching to Codex — like demanding a burrito at Panda Express.
Codex's system prompt is still weak; T3 Code remains early-stage. Theo criticizes OpenAI's Codex system prompt and ecosystem as rough, dragging down model performance. T3 Code has many small bugs and currently accepts few external feature PRs.
Action Checklist by Role
Solo developer (single-model primary): Stick with the vendor's native Harness — Claude Code for Claude, Codex for OpenAI. Don't waste time migrating to niche tools.
Multi-subscription full-stack player (Claude + Codex): Run npx t3@latest to adopt T3 Code. Use Claude as lead, Codex as reviewer/test sub-agent; squeeze value from both subscriptions in one ADE.
Enterprise AI leads & team architects: Enforce a rule: generic execution actions (file read/write, command run) reuse mature Agent SDKs; all internal assets (databases, docs, monitoring, cross-model coordination) must be wrapped as standard MCP services. Next year, any new model only requires a one-line config change.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Old Zhang's AI Learning
AI practitioner specializing in large-model evaluation and on-premise deployment, agents, AI programming, Vibe Coding, general AI, and broader tech trends, with daily original technical articles.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
