<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: nooyix</title>
    <description>The latest articles on DEV Community by nooyix (@nooyix).</description>
    <link>https://dev.to/nooyix</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4080098%2Fce9984e9-5298-4188-91c2-e0c97b294ee0.png</url>
      <title>DEV Community: nooyix</title>
      <link>https://dev.to/nooyix</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nooyix"/>
    <language>en</language>
    <item>
      <title>The Model Is Frozen. The Harness Is the Battlefield — How Big Tech Is Productizing the Agent Layer</title>
      <dc:creator>nooyix</dc:creator>
      <pubDate>Sun, 16 Aug 2026 23:41:17 +0000</pubDate>
      <link>https://dev.to/nooyix/the-model-is-frozen-the-harness-is-the-battlefield-how-big-tech-is-productizing-the-agent-layer-2h02</link>
      <guid>https://dev.to/nooyix/the-model-is-frozen-the-harness-is-the-battlefield-how-big-tech-is-productizing-the-agent-layer-2h02</guid>
      <description>&lt;p&gt;If you think the AI race is still about who has the biggest model, you missed the real fight of the past year. As the top models converge in capability, the announcements from OpenAI, Anthropic, Google, and Microsoft have quietly stopped being about the model — and started being about the &lt;strong&gt;harness&lt;/strong&gt; wrapped around it.&lt;/p&gt;

&lt;p&gt;This post breaks down what a harness is, why it became the battleground, &lt;strong&gt;exactly how each company is turning it into a product&lt;/strong&gt;, and what to watch next.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a "harness"?
&lt;/h2&gt;

&lt;p&gt;An agent's capability splits in two. One part is the &lt;strong&gt;model weights&lt;/strong&gt; — the raw ability of the LLM. The other is the &lt;strong&gt;harness&lt;/strong&gt;: everything wrapped around the model — prompts, tools, skills, control flow, and agent-to-agent collaboration.&lt;/p&gt;

&lt;p&gt;The term comes from software's &lt;em&gt;test harness&lt;/em&gt; (the scaffolding that drives a system so it actually runs), later &lt;em&gt;evaluation harness&lt;/em&gt; (e.g. EleutherAI's &lt;code&gt;lm-evaluation-harness&lt;/code&gt;), and now &lt;em&gt;agent harness&lt;/em&gt;. Same model, different harness → wildly different results. In other words: &lt;strong&gt;agent = model + harness&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7fe1s0qsckzmd73wphyk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7fe1s0qsckzmd73wphyk.png" alt=" " width="799" height="317"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the harness became the battlefield
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;First, models leveled up.&lt;/strong&gt; The gap between frontier models narrowed, so differentiation now comes from &lt;em&gt;what you make the model do&lt;/em&gt;, not &lt;em&gt;whose model is smarter&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Second, the harness is cheap and fast to change.&lt;/strong&gt; Retraining a model costs a fortune; a harness is basically code — you can iterate on it instantly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Third, this is where lock-in happens.&lt;/strong&gt; Once you're fluent in one company's tool format and orchestration, switching hurts. So every vendor is racing to own &lt;em&gt;their&lt;/em&gt; harness ecosystem.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the global players are doing it
&lt;/h2&gt;

&lt;p&gt;Same harness, different pressure points: Anthropic bets on open protocols, OpenAI on tool execution, Google on agent-to-agent communication, Microsoft on consolidation.&lt;/p&gt;

&lt;h3&gt;
  
  
  🟣 Anthropic — splitting the harness into an open standard
&lt;/h3&gt;

&lt;p&gt;Anthropic's strategy is a clean three-layer split.&lt;/p&gt;

&lt;p&gt;At the bottom sits &lt;strong&gt;MCP (Model Context Protocol)&lt;/strong&gt;, a JSON-RPC standard it open-sourced in November 2024 to kill the &lt;strong&gt;M×N integration problem&lt;/strong&gt; — the combinatorial mess of writing a custom connector for every tool. The tell is that Anthropic didn't keep it proprietary: OpenAI (Mar 2025), Google (Apr 2025), and Microsoft adopted it, and in &lt;strong&gt;December 2025 Anthropic donated MCP to the Agentic AI Foundation&lt;/strong&gt;, a Linux Foundation directed fund — genuinely giving up sole control. The current spec (2026-07-28) is even a &lt;strong&gt;stateless redesign&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;On top sit &lt;strong&gt;Agent Skills&lt;/strong&gt; (Oct 2025): reusable capability modules defined by a single &lt;code&gt;SKILL.md&lt;/code&gt; file. The clever bit is &lt;strong&gt;progressive disclosure&lt;/strong&gt; — normally only the ~100-token name/description sits in the prompt; the full instructions load only on a match, and bundled scripts contribute only their &lt;em&gt;output&lt;/em&gt; to context. The same format runs on claude.ai, Claude Code, and the API. At the top, the &lt;strong&gt;Claude Agent SDK&lt;/strong&gt; (Sep 2025, formerly the Claude Code SDK) exposes "the same agent loop that powers Claude Code" as a library — context compaction, subagents, hooks, structured output, native MCP.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;In one line:&lt;/strong&gt; standardize the tool interface as a neutral public protocol (MCP), make expertise a portable file (Skills), ship the real runtime (Claude Code) as an SDK.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;📎 &lt;strong&gt;Official:&lt;/strong&gt; &lt;a href="https://www.anthropic.com/news/model-context-protocol" rel="noopener noreferrer"&gt;MCP intro&lt;/a&gt; · &lt;a href="https://modelcontextprotocol.io/" rel="noopener noreferrer"&gt;MCP spec&lt;/a&gt; · &lt;a href="https://www.anthropic.com/news/donating-the-model-context-protocol-and-establishing-of-the-agentic-ai-foundation" rel="noopener noreferrer"&gt;MCP donation (AAIF)&lt;/a&gt; · &lt;a href="https://claude.com/blog/skills" rel="noopener noreferrer"&gt;Agent Skills&lt;/a&gt; · &lt;a href="https://docs.claude.com/en/api/agent-sdk/overview" rel="noopener noreferrer"&gt;Agent SDK docs&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🟢 OpenAI — going all-in on tool execution
&lt;/h3&gt;

&lt;p&gt;OpenAI's harness is two layers. The base is the &lt;strong&gt;Responses API&lt;/strong&gt; (GA Mar 2025) — a built-in agentic loop where the model can call multiple tools in one request, plus first-party hosted tools (web search, file search, code interpreter, computer use) and native &lt;strong&gt;remote MCP&lt;/strong&gt; support. Above it is the &lt;strong&gt;Agents SDK&lt;/strong&gt; (Mar 2025, the production successor to the experimental Swarm), whose whole mental model is three ideas — &lt;strong&gt;agents, tools, handoffs&lt;/strong&gt; — rounded out by guardrails, sessions, and tracing. The dividing line: drive the loop yourself with the Responses API, or let the SDK run it for you.&lt;/p&gt;

&lt;p&gt;The headline 2026 move is &lt;strong&gt;Programmatic Tool Calling&lt;/strong&gt;: instead of one tool call per turn, GPT-5.6 (Jul 2026) &lt;strong&gt;writes a JavaScript program&lt;/strong&gt; that orchestrates your tools — in parallel, with loops and conditionals — which OpenAI runs in an isolated V8 sandbox (no network, no filesystem) and returns only the final result. By keeping bulky intermediate outputs out of the context window, OpenAI reports one customer cutting &lt;strong&gt;token usage by 63.5%&lt;/strong&gt;. (OpenAI also shipped &lt;strong&gt;AgentKit&lt;/strong&gt; in Oct 2025, but its Agent Builder and Evals are being wound down through late 2026 — the durable pieces are the Responses API + Agents SDK.)&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;In one line:&lt;/strong&gt; obsess over tool-execution efficiency — let the model orchestrate tools &lt;em&gt;as code&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;📎 &lt;strong&gt;Official:&lt;/strong&gt; &lt;a href="https://openai.github.io/openai-agents-python/" rel="noopener noreferrer"&gt;Agents SDK docs&lt;/a&gt; · &lt;a href="https://developers.openai.com/api/docs/guides/tools-programmatic-tool-calling" rel="noopener noreferrer"&gt;Programmatic Tool Calling guide&lt;/a&gt; · &lt;a href="https://openai.com/index/introducing-agentkit/" rel="noopener noreferrer"&gt;AgentKit announcement&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🔵 Google — a communication standard &lt;em&gt;between&lt;/em&gt; agents
&lt;/h3&gt;

&lt;p&gt;Google bet one level up: on &lt;strong&gt;how independently built agents talk to each other&lt;/strong&gt;. The &lt;strong&gt;A2A (Agent-to-Agent) protocol&lt;/strong&gt; lets one agent delegate work to another regardless of framework. Its core primitive is the &lt;strong&gt;Agent Card&lt;/strong&gt; — a JSON document at a well-known URL advertising an agent's identity, skills, endpoint, and auth; work flows as Tasks carrying Messages and Artifacts. The pitch: &lt;em&gt;A2A is to agents what HTTP is to web services.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Google announced it in April 2025 and &lt;strong&gt;donated it to the Linux Foundation in June 2025&lt;/strong&gt;; the &lt;strong&gt;first stable spec, v1.0.0, landed in March 2026&lt;/strong&gt; (current v1.0.1). Per the Linux Foundation, &lt;strong&gt;150+ organizations&lt;/strong&gt; back the standard and its repo passed 22k stars. On the developer side, the open-source &lt;strong&gt;ADK (Agent Development Kit)&lt;/strong&gt; is Gemini-optimized but model-agnostic (works with Claude, OpenAI too), ships orchestration primitives (sequential/parallel/loop), moved Python to a &lt;strong&gt;graph-based v2.x engine&lt;/strong&gt;, and spans Python/Java/Go/TypeScript. Notably, Google &lt;em&gt;makes&lt;/em&gt; A2A but also &lt;em&gt;consumes&lt;/em&gt; MCP — embracing both standards.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;In one line:&lt;/strong&gt; capture the agent-to-agent layer with an open protocol — release A2A to grow the whole pie.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;📎 &lt;strong&gt;Official:&lt;/strong&gt; &lt;a href="https://a2a-protocol.org/latest/specification/" rel="noopener noreferrer"&gt;A2A spec&lt;/a&gt; · &lt;a href="https://developers.googleblog.com/en/google-cloud-donates-a2a-to-linux-foundation/" rel="noopener noreferrer"&gt;A2A donated to LF&lt;/a&gt; · &lt;a href="https://github.com/google/adk-python" rel="noopener noreferrer"&gt;ADK (GitHub)&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  🟠 Microsoft — consolidating the mess
&lt;/h3&gt;

&lt;p&gt;Microsoft spent 2025–2026 collapsing a fragmented story into one stack. Its two open-source projects — enterprise-grade &lt;strong&gt;Semantic Kernel&lt;/strong&gt; and research-driven &lt;strong&gt;AutoGen&lt;/strong&gt; — were merged into the &lt;strong&gt;Microsoft Agent Framework (MAF)&lt;/strong&gt; (public preview Oct 2025 → 1.0 GA early April 2026). AutoGen is now in maintenance mode; Semantic Kernel gets fixes for at least a year, then migrates. MAF combines SK's enterprise plumbing (typed sessions, middleware, telemetry) with AutoGen's agent abstractions, and adds a &lt;strong&gt;graph-based workflow engine&lt;/strong&gt; for deterministic control flow. It ships for .NET, Python, and Go.&lt;/p&gt;

&lt;p&gt;Standards are all native — &lt;strong&gt;MCP&lt;/strong&gt; for tools, &lt;strong&gt;A2A&lt;/strong&gt; for cross-runtime coordination (a Python agent driving a .NET agent), OpenAPI for arbitrary APIs. At Build 2026 it added &lt;strong&gt;CodeAct&lt;/strong&gt; (the model writes Python that calls tools, executed in a sandboxed micro-VM — the same idea as OpenAI's PTC). Around the SDK sit the low-code &lt;strong&gt;Copilot Studio&lt;/strong&gt;, the &lt;strong&gt;Azure AI Foundry&lt;/strong&gt; runtime, and &lt;strong&gt;Agent 365&lt;/strong&gt; for governance.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;In one line:&lt;/strong&gt; consolidate and govern — one stack from code to low-code to runtime to management, embracing every standard.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;📎 &lt;strong&gt;Official:&lt;/strong&gt; &lt;a href="https://azure.microsoft.com/en-us/blog/introducing-microsoft-agent-framework/" rel="noopener noreferrer"&gt;Agent Framework intro&lt;/a&gt; · &lt;a href="https://learn.microsoft.com/en-us/agent-framework/overview/" rel="noopener noreferrer"&gt;Overview docs&lt;/a&gt; · &lt;a href="https://github.com/microsoft/agent-framework" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  At a glance
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Bet&lt;/th&gt;
&lt;th&gt;Signature tools&lt;/th&gt;
&lt;th&gt;Standards&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Anthropic&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Open standard + portability&lt;/td&gt;
&lt;td&gt;MCP, Skills, Agent SDK&lt;/td&gt;
&lt;td&gt;Created MCP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;OpenAI&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tool-execution efficiency&lt;/td&gt;
&lt;td&gt;Responses API, Agents SDK, PTC&lt;/td&gt;
&lt;td&gt;Adopted MCP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Google&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Agent-to-agent comms&lt;/td&gt;
&lt;td&gt;A2A, ADK&lt;/td&gt;
&lt;td&gt;Created A2A + consumes MCP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Microsoft&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Consolidation + governance&lt;/td&gt;
&lt;td&gt;Agent Framework, Foundry, Agent 365&lt;/td&gt;
&lt;td&gt;MCP + A2A native&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Two threads running through all of it
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. The harness is converging onto two standards
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Tools speak MCP, agents speak A2A&lt;/strong&gt; — and both now live under the Linux Foundation umbrella (MCP via the AAIF, A2A directly). All four companies support both. The harness is turning from each vendor's secret sauce into &lt;strong&gt;infrastructure built on shared protocols&lt;/strong&gt; — much like the internet standardized on HTTP.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpxeg896jkgfi2on4d0gv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpxeg896jkgfi2on4d0gv.png" alt=" " width="800" height="292"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. "The model writes code to drive the tools"
&lt;/h3&gt;

&lt;p&gt;The more interesting convergence: OpenAI's &lt;strong&gt;Programmatic Tool Calling&lt;/strong&gt;, Microsoft's &lt;strong&gt;CodeAct&lt;/strong&gt;, and Anthropic's &lt;strong&gt;advanced tool use&lt;/strong&gt; all landed on the same idea almost simultaneously — &lt;strong&gt;the model orchestrates tools by writing code, executed in a sandbox.&lt;/strong&gt; We're moving from one-tool-call-per-turn to the model writing a &lt;em&gt;program&lt;/em&gt; with parallelism, loops, and branches. This pattern — cheaper on tokens, lower latency — looks likely to become the default for the next generation of harnesses.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to watch
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Standards settled; the layer above didn't.&lt;/strong&gt; MCP and A2A standardized the bottom, but &lt;strong&gt;orchestration SDKs, runtimes, and clouds&lt;/strong&gt; are still each vendor's turf. The competition just moved &lt;em&gt;up a level&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Open standards, quiet lock-in.&lt;/strong&gt; "The standard is open, but the substance (deploy, govern) runs on our cloud" is the shared playbook. How far do you trust MCP/A2A openness when Foundry/Vertex/etc. still capture the deployment?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Security — a widening attack surface.&lt;/strong&gt; The more a harness connects to external tools, data, and unknown agents, the bigger the permission/trust/audit problem. It's why production guides push "hooks that block dangerous commands" and governance layers like Agent 365 — and why, in an era of &lt;em&gt;the model running code it wrote&lt;/em&gt;, sandbox isolation &lt;em&gt;is&lt;/em&gt; the safety story.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. The complexity paradox.&lt;/strong&gt; The more SDKs make assembly easy, the harder it gets to know what's running where. Every layer of convenience adds a layer of debugging and cost-tracking difficulty.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;Big Tech's real competition moved from model size to &lt;strong&gt;the harness and its standards.&lt;/strong&gt; The model becomes a shared component; the fight is over &lt;em&gt;what you connect it to (MCP), how you run it (SDKs), and how agents collaborate (A2A).&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Building a good agent is less and less about picking a bigger model, and more about &lt;strong&gt;which harness ecosystem you stand on.&lt;/strong&gt; So — which camp's harness would you bet on today? Or would you hold onto the standards (MCP, A2A) and keep your SDK swappable? 👇&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Standards reference — &lt;a href="https://modelcontextprotocol.io/" rel="noopener noreferrer"&gt;MCP spec&lt;/a&gt; · &lt;a href="https://a2a-protocol.org/latest/specification/" rel="noopener noreferrer"&gt;A2A spec&lt;/a&gt;. Per-company official links are marked 📎 above.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>llm</category>
      <category>agents</category>
    </item>
  </channel>
</rss>
