Archive

1290 posts · Page 66 of 108. ← Blog

Pratik Dhanave · ·7 min read

The Cheapest Reliable Executor Wins

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.

Pratik Dhanave · ·7 min read

Command: Update State and Pick the Next Node in One Return

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.

Pratik Dhanave · ·4 min read

Advanced Workflows — Microsoft Agent Framework in Go

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.

Pratik Dhanave · ·6 min read

Counterfactual and Example-Based Explanations

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.

Pratik Dhanave · ·8 min read

Cash Flow, and Why Cash Is King

"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.

Pratik Dhanave · ·12 min read

The sync Package

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.

Pratik Dhanave · ·7 min read

Cycles and the Agent Loop: Branch, Act, Loop Back

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.