2026-08-23
A Pattern Is Not a Factory Control
A written pattern can teach an engineer what good agentic work looks like. It cannot make the next agent follow the rule.
The discipline needs a language
Software teams learn new disciplines by naming the moves that work. A useful pattern explains the situation, the recurring problem, the mechanism that addresses it, and the tradeoffs that follow. That gives engineers something better than a bag of prompts. It gives them a shared way to reason about work performed by agents that can write code, execute it, inspect the result, and try again.
That distinction matters. Vibe coding asks the model for an outcome and treats the implementation as somebody else's concern. Agentic engineering keeps professional judgment in the loop. The engineer shapes the task, supplies context, evaluates evidence, and changes the approach when the result is wrong. The agent expands what one person can attempt, but expertise still determines whether the attempt deserves to ship.
A growing catalog of patterns is useful because this work is young and the same failures keep appearing under different tool names. Test-first loops, bounded tasks, independent verification, and durable context are not product features. They are operating ideas. Naming them helps teams recognize the shape of a problem before they repeat it.
Advice stops at the reader
The limit is execution. A person can read a pattern, agree with it, and forget it on the next deadline. Another engineer can interpret it differently. A new agent session does not inherit the lesson unless the system supplies it again. The pattern may be correct while the delivery line behaves as if nobody wrote it.
This is the gap between a practice and a control. A practice depends on someone remembering what good looks like and choosing to perform it. A control changes what the system permits. It can require a failing test before implementation, reject a change that crosses a forbidden boundary, or withhold release authority until independent evidence exists. The rule survives because the machinery owns it.
Documentation still matters. It explains why the control exists, when it applies, and what it costs. But prose should not carry a repeatable decision that software can enforce. If every agent must be reminded to use the same pattern, the reminder is a manual build step hiding in the workflow.
Turn the pattern into a route
Start by making the trigger explicit. Test-first development is not an aspiration the agent should recall when convenient. The route can require an acceptance test derived from the specification, record that it fails before the implementation begins, and refuse to advance until the changed behavior passes. Now the pattern has an observable state and a gate.
Then separate the authorities. The builder can propose code and tests, but it should not get the final word on whether its own interpretation was correct. Verification should trace back to the original requirement and run under conditions the builder did not choose. Release should consume that evidence, not the builder's confidence. Each boundary turns a sensible technique into an operating property of the factory.
Finally, preserve the result. When a route fails, keep the reason. When a reviewer finds a recurring defect, turn the correction into a check, a constraint, or better context. The lesson should reach the next run automatically. A pattern library helps people learn. Factory memory makes the whole line stop paying tuition for the same mistake.
Cheap code raises the price of selection
Agents have pushed the cost of an initial implementation down. That does not make every implementation worth keeping. It makes selection more important because the factory can now produce plausible alternatives faster than people can examine them. The expensive question moves from can we make something to which result has earned the right to continue.
Patterns help answer that question only when they create evidence. A test-first loop can show that the required behavior changed. A bounded task can show that the agent stayed inside its authority. An independent verifier can show that success survived outside the builder's chosen conditions. Without those outputs, the pattern is vocabulary attached to another ungoverned generation step.
This is also where jobs change. Repeatable implementation and routine checking will move into the factory because agents can perform them at machine scale and controls can hold the standard every time. Human judgment moves upstream to choosing the destination and downstream to deciding which consequences are acceptable. That is more leverage for the people who adapt, not a promise that every role between those decisions survives.
Build the book into the machine
The emerging literature around agentic engineering is worth building. Teams need clear names for reliable techniques, honest accounts of where they fail, and examples that can be challenged. A discipline gets stronger when its knowledge is organized well enough to teach and revise.
Our position is that the winning organizations will go one step further. They will translate those patterns into routes, gates, permissions, evidence, and feedback. They will measure whether the mechanism improved durable delivery, then update the machinery when it did not. The model can change underneath that system without erasing what the organization learned.
Read the pattern. Debate it. Improve it. Then ask the question that separates agent-assisted work from an agent-run factory: what makes this happen when nobody remembers to ask? If the answer is another careful person watching every run, you have learned a technique. You have not built the control yet.
In response to Writing about Agentic Engineering Patterns by Simon Willison's Weblog.