Ep 744 Tool 8:20 w/ Justy & Cody

The Microsoft Agent Framework Harness is now released | Microsoft Agent Framework

Microsoft Agent Framework has released a stable, batteries-included agent harness for Python and .NET, packaging planning, memory, tool loops, approvals, context compaction, and telemetry behind a configurable agent wrapper.

Embed this episode

Paste this on any site — the player is a self-contained iframe with no cookies or trackers.

<iframe src="https://sandrise.io/exploring-next/embed/744"
  width="100%" height="180" style="max-width:640px;border:0;border-radius:12px;overflow:hidden"
  title="Exploring Next — Episode 744 audio player"
  loading="lazy" allow="autoplay" referrerpolicy="strict-origin-when-cross-origin"></iframe>
Embed & API docs →
Script GPT-5.6 terra Voice ElevenLabs v3

Transcript

Justy The annoying part of building an agent was never getting it to say something clever. It was all the stuff after that.

Cody Yeah. The model call is the easy demo. Then it needs tools, state, retries, a context budget, and some evidence it did not quietly wander into nonsense.

Justy And Microsoft is basically saying: stop assembling that whole loop from loose parts. Their Agent Framework Harness is out now for both Python and .NET, with the runtime already wrapped around a chat client.

Cody Which lands at a useful moment. Lots of teams have a model plus a tool or two, then discover their “agent” is a fragile while loop with no recovery story. This is a real attempt to make the harness the default product surface.

Justy Also, tiny mood check, this week has felt like every framework suddenly wants to own the word harness. We have been doing this show since November and somehow the naming situation got worse.

Cody It is a category where everyone agrees the plumbing matters, and nobody agrees where the plumbing starts.

Justy But this one does have a pretty concrete definition. The harness turns a language model into something that can call tools, work through a multi-step job, remember prior work, and keep moving until it finishes or hits a boundary.

Cody Right, right.

Justy Underneath, it is still an Agent in Python or a ChatClientAgent in .NET. Microsoft has added a curated pipeline around it, then made each piece individually removable instead of forcing one giant black box.

Cody The core includes automatic function invocation with an iteration limit, plus chat history persisted after every service call. That persistence bit is genuinely useful. If a run crashes halfway through a tool sequence, there is something to inspect and resume from instead of a vague trace and a bad feeling.

Justy Exactly.

Cody Then there is compaction for long contexts, a durable todo list, and plan-versus-execute tracking. File memory keeps notes and artifacts across turns. Skills can be discovered and loaded progressively. It also wires in OpenTelemetry, web search when the backing inference service supports it, and tool approval with standing “do not ask again” rules plus heuristic approval for safer calls.

Justy I did the reading, not a full fact-check rabbit hole on every edge case here, so if one of those defaults sounds surprising, we should verify it before treating it as scripture. This field changes its labels and behavior absurdly fast.

Cody The approval piece is where I slow down a little. Heuristic auto-approval can be perfectly sensible for narrow, read-only tools, but “safe” is a property of the tool, its arguments, the current state, and the surrounding workflow. A default cannot know all of that.

Justy Sure, but I like that it puts approval in the starter kit rather than making it the thing a team remembers after the first embarrassing incident. This is very much our old judgment-layer argument, Cody. The agent acting is cheap now. Knowing when it may act is the work.

Cody Mm-hm.

Justy For the target user, I can see the path. A team building a research helper starts with instructions and a few scoped tools. A data-processing agent gets file tools behind approval gates. Then, if it proves useful, they add memory, skills, or a hosted Foundry deployment instead of rewriting the entire runtime.

Cody And the customization matters because sensible defaults are only sensible until they are not. I would want to set the iteration cap deliberately, define which calls require a human decision, and watch the telemetry before I trusted the plan-and-execute behavior on anything expensive.

Justy That is not doom, by the way. That is a good upgrade path. You are asking people to graduate from “it ran once” to “we can operate this,” which is refreshingly unglamorous.

Cody I will accept “refreshingly unglamorous” as a compliment. The clever architectural choice is that they have not made the chat client proprietary. Bring an IChatClient on .NET, or a FoundryChatClient in Python, and the harness composes around it.

Justy The funny part is their personal-finance example calls the assistant a claw. We have apparently reached the era where a budget tool needs a tiny mechanical hand.

Cody Fine, but a claw with shell access is how someone accidentally creates a very expensive little pet.

Justy And Microsoft is at least holding some of that back. Background agents, working-directory file access, automatic looping until a completion condition, and shell tooling are usable as opt-ins, but they are not part of the fully released set yet.

Cody Okay okay.

Justy That restraint earns points from me. Concurrent sub-agents and shell commands are exactly where a pleasant harness becomes a systems project again. Shipping the core loop first gives teams a place to learn what their actual constraints are.

Cody If I were trying it, I would start with AsHarnessAgent on .NET or create_harness_agent on Python. Keep the tools narrow, leave the more aggressive opt-ins alone, and use the Agent Harnesses documentation plus the Harness samples Microsoft linked.

Justy Yeah. Do not build the claw’s entire robot body on day one. Give it one job, let it earn a second job, and see what the traces say.

Cody That may be the first responsible sentence ever spoken about a claw.

Justy Episode seven forty-four, and we have finally established a governance policy for tiny budget robots. I am calling that a productive Wednesday, Cody.