Agents Need Situational Awareness

The most useful agents are not the ones that simply complete more tasks. They are the ones that know what they are doing, why it matters, what could go wrong, and when not to act. That is the work I have been doing recently: turning agents from task executors into systems with situational awareness. A task agent asks, “What did the user ask me to do?” A situationally aware agent asks a better set of questions: ...

June 9, 2026 · 6 min · Patrick Selamy

Highly Effective Agents

The first useful version was not a general assistant. It was a specialist. Then another specialist. Then another. Then enough of them that the shape stopped looking like automation scripts and started looking like a small operating team. That distinction matters. A generic agent can be impressive in a demo. It can summarize, draft, search, write code, call tools, and answer questions in the same voice. But real work does not stay generic for very long. ...

May 27, 2026 · 7 min · Patrick Selamy

Immutable Agent Infrastructure

A trading agent changed its own risk limits. Not intentionally. Not maliciously. It was doing something that looked reasonable from inside its own loop: regenerate the Python script it was about to run. The problem was that the script also contained the safety limits. One version had a daily risk cap at -$50. A later regenerated version had it at -$5. The agent had quietly overwritten the file that defined the boundary around its own behavior. ...

May 27, 2026 · 6 min · Patrick Selamy

Agents Need Boring Infrastructure

Most agent demos start in the wrong place. They show the model doing something impressive. It reads a ticket. It writes code. It opens a pull request. It passes a test. For a few minutes, it feels like the future arrived early. Then you try to use the same idea in a real system. The task gets interrupted. The model loses context. The test suite flakes. The branch goes stale. A token expires. A tool returns partial data. A dependency changes. The agent keeps retrying the wrong thing. Nobody knows whether it is stuck, still working, or about to break something expensive. ...

May 13, 2026 · 4 min · Patrick Selamy

Why I Write Specs Before Prompts

If you want reliable work from AI systems, the spec matters more than the prompt. A prompt is a request. A spec is shared reality. That distinction changed how I build. Most AI coding advice obsesses over prompts. Wording. context size. model quirks. That matters a little. It matters less than having a clear unit of work. The bottleneck is usually not model intelligence. It is ambiguity. A weak prompt can still work on a small task with a strong reviewer. But once work spans multiple files, tools, sessions, or handoffs, prompts get lossy fast. The agent improvises. The human re-explains. Review slows down. Rework stacks up. ...

April 6, 2026 · 4 min · Patrick Selamy

The Dispatch Pattern: How I Shipped 25 PRs in One Night Without Touching the Code

I kept hitting the same ceiling. One repo was manageable. Two was annoying. Three or four active codebases meant my time disappeared into context switching. Open a branch. restate the task. wait for CI. switch repos. lose the thread. repeat. So I stopped trying to code faster and built a dispatch layer instead. The core idea is simple: one orchestrator assigns work, isolated coding agents execute it in parallel, and the system treats failures as normal operating conditions. ...

April 1, 2026 · 6 min · Patrick Selamy