Archive
1290 posts · Page 66 of 108. ← Blog
Deterministic rules get first refusal at zero model cost. Only the unknown cases escalate to graduated AI agents. A human approves anything that mutates.
Deterministic rules get first refusal at zero cost and still fire when the model is down; only the novel long tail escalates to graduated agents; a human approves anything that mutates. Build a ladder, not a model call.
cross-cutting concerns registered once on the Runner instead of copied onto every agent
Plugins are cross-cutting hooks that apply globally across every agent, tool, and runner — logging, policy, metrics, caching — as opposed to per-agent callbacks. When a plugin beats a callback.
How a single `Command` object folds a state update and a routing decision together — and the tiny lowering that makes `goto` just another guarded edge.
Command lets a node return a state update and a goto in one object, moving the routing decision inside the node. It is the cleanest way to express supervisor handoffs and dynamic control flow.
Same AG-UI transport as the getting-started server, but now the hosted agent carries a tool the model can call server-side while it answers.
The server side of AG-UI backend tools: attach server-owned function tools to the Foundry agent so the tool round-trip stays entirely server-side.
Durable workflows in Go: checkpoint and rehydrate, pause on a RequestPort for a human, nest sub-workflows, and coordinate through scoped shared state.
Durable Microsoft Agent Framework workflows in Go: checkpoint and rehydrate a fresh graph, pause on a RequestPort for a human, nest sub-workflows, and coordinate via scoped shared state.
Feature attributions tell you which inputs mattered, but humans often understand decisions better through a different lens: "what would have to change for a different outcome?" and "what similar cases did the model see?" Counterfactual and example-based explanations answer exactly those questions — and they're often more actionable and more intuitive than attribution scores. This post covers the explanation styles that speak the way people actually reason.
Humans understand decisions by contrast ('what would change the outcome?') and example ('what similar cases?'). Counterfactual explanations give actionable recourse ('approved if income were $5k higher'); example-based explanations build trust by analogy. No single explanation is right — match the style to the question and audience.
"Profitable companies don't go bankrupt" is one of the most expensive misconceptions in business. They do — routinely — because profit and cash are different things, and it's cash that pays salaries, suppliers, and rent. A company can be profitable on paper and still die when the bank account hits zero. The cash flow statement is the document that tells the truth about the money actually moving, and understanding it — and the profit-versus-cash gap — is what separates real financial literacy from the illusion of it.
'Profitable companies don't go bankrupt' is one of the most expensive misconceptions in business. They do — routinely — because profit and cash are different things, and it's cash that pays salaries and suppliers. The cash flow statement tells the truth about the money actually moving, and understanding it separates real financial literacy from the illusion of it.
When channels are the wrong tool — a working guide to shared memory and locks in Go: Mutex, RWMutex, WaitGroup, Once, Cond, Map, Pool, and the race detector that keeps you honest.
When channels are the wrong tool — a working guide to shared memory and locks in Go: Mutex, RWMutex, WaitGroup, Once, Cond, Map, Pool, and the race detector that keeps you honest.
Treating fraud, credit, and risk models as governed assets with a lifecycle, an inventory, and an audit trail regulators can actually read.
Development, independent validation, approval, monitoring, and retirement of risk/fraud/credit models under SR 11-7-style governance.
How ADK's model abstraction lets you swap Gemini for Claude, GPT, or Ollama without touching a line of agent code
ADK is model-agnostic: use Gemini natively or plug in Claude, GPT, or Ollama via LiteLLM and a model registry, swapping the model without changing agent code.
The single most important pattern in LangGraph — a branch plus a back-edge, and the `recursion_limit` that keeps it from running forever.
Branching plus a back-edge is a cycle, and that cycle IS the agent loop: model proposes tool calls, tools run, control returns to the model, repeat until done. Plus recursion_limit, the guardrail that stops a runaway loop.
The client half streams events over SSE; this is the process on the other end of the wire — a Foundry agent wrapped in an HTTP handler that speaks AG-UI.
The AG-UI server half: wrap a Foundry agent in aguiprovider.NewJSONHTTPHandler and serve it over HTTP/SSE for any AG-UI client to drive.