BEAM

Seedlight BEAM: our framework for launching, automating and growing eCommerce platforms →

← All articles
AI EngineeringSzymon Żynda8 min read

Agentic engineering: how we build ecommerce platforms with AI agents

An AI agent writes code fast, but the bottleneck is verification, not writing. We show the process where gates, an adversarial review and a human on irreversible actions deliver speed and safety at once.

Agentic engineering is software engineering in which an AI agent does most of the actual coding, but makes no decisions and touches nothing irreversible without a human sign-off. The counterintuitive core: once an agent writes many times faster, writing is no longer the bottleneck, verification is. So we build the whole process around checking rather than around generating: automated gates (typecheck, build, tests, lint), an adversarial review by a second model, and a human who holds the architecture, the risk and the hand on irreversible actions such as deploys, database migrations and operations on customer data. For a client that means one thing: faster and safer at once, because the speed comes from the agent and the safety from the discipline around it. This is not "AI writes code, we watch". It is engineering in which AI is the fastest tool, not the party that is accountable.

Key takeaways

  • The agent writes fast, but the bottleneck is verification, not writing. So the whole process is built around checking code, not around generating it.
  • Four automated gates (typecheck, build, tests, lint) plus an adversarial review by a second model catch most defects before a human ever sees them.
  • The human stays on the decisions you must not delegate: architecture, risk and irreversible actions (deploys, migrations, customer data) happen only with explicit approval.
  • A reusable core means the next project starts from a higher floor. That is part of how we deliver a platform at a fixed price and on a fixed date.

What agentic engineering is, and what it is not

Agentic engineering differs from simply "using AI for code" in one thing: the agent works in a loop, reaching for files, running tests, reading errors and fixing them, but it does so inside a frame someone set for it. The opposite is vibe coding: prompting away without a spec, without tests and without understanding what came out. Vibe coding looks impressive until the first real problem, and then nobody knows why the system does what it does. What separates us from it is not a better prompt, but what the agent gets as input and what happens to its output.

Spec before code: the agent builds on a plan, not on guesses

Before the agent writes a single line, a plan exists. For us that is the Blueprint stage: described system behaviour, a data model, repository conventions and scope boundaries. The agent builds from that specification rather than from guesses, because a model that guesses intent also guesses architecture, and that is the most expensive kind of mistake. A good spec is in fact what makes the agent fast in the first place: the less it has to guess, the fewer rounds of correction it needs.

Why verification, not writing, is the bottleneck now

When generating code gets several times cheaper and faster, attention shifts to what did not speed up: confirming that the code is correct, secure and does exactly what it was meant to. That is the new bottleneck. A team that misses this simply produces more unchecked code, which is more debt, only faster. So in agentic engineering most of the engineering effort moves from writing to verification, and most of that verification can be automated.

Four gates the code passes before a human sees it

Every change from the agent passes through the same set of gates as a change from a human, only faster, because the agent runs them itself in a loop:

  • Typecheck in strict mode catches a whole class of errors the model cannot see, because it writes locally while types guard the consistency of the whole system.
  • Build confirms the project actually compiles and runs, not just that it looks right in the editor.
  • Tests check behaviour, especially where a mistake is costly: payments, stock levels, migrations.
  • Lint keeps one style and one set of conventions, so code from the agent looks like the same team wrote it.

The agent does not finish a task until all four are green. This is the first line of defence and the cheapest, because it runs without a human in the loop. But green gates say the code works, not that it is good.

Adversarial review: a second model hunts for holes, not praise

So we add a second layer: an adversarial review in which a separate model is told to find holes in the change rather than praise it. It looks for edge cases, assumptions that will not hold, security gaps and places where the code does something subtly different from the spec. The model that wrote it and the model that critiques it see differently, and that tension catches things a single pass misses. Only then does the code reach a human, already filtered.

The human stays on decisions and risk

Automation filters out defects, but it does not make decisions. The human stays where the stake is judgement: the choice of architecture, the trade-off between simplicity and flexibility, the call on whether a change is worth its risk. These are the things we do not delegate to the agent, because responsibility for a client platform sits with us, not with a model. The whole split of roles is clearest stage by stage:

StageWhat the agent doesWhat the human guards
Plan (Blueprint)Proposes solutions within the specArchitecture decisions, scope and boundaries
ImplementationWrites code in a loop, runs the gates itselfRepo conventions and fidelity to the spec
VerificationPasses typecheck, build, tests, lintTest coverage where a mistake actually hurts
ReviewAn adversarial model hunts for holesFinal risk call and engineering judgement
Irreversible actionsPrepares the deploy, migration, scriptManually approves deploys, migrations and data ops

The agent speeds up every stage; the human keeps the decisions and everything that cannot be undone.

The rule: the agent may propose anything, but it executes nothing irreversible without a human sign-off. A production deploy, a database migration and any operation on customer data require manual approval, because you do not undo these with a single click.

Irreversible actions are the hardest boundary in the process

Code can be rewritten, a test added, a badly named function fixed. You cannot undo a deploy that broke orders in the middle of the day, or a migration that overwrote data, or a script that deleted something in production. So everything in that category goes through a human, always, no matter how confident the agent is. A green gate is a necessary condition, not permission to ship.

Security: least privilege and customer data on copies

Security in this way of working starts with access. The agent runs on least privilege: it gets the minimum permissions the task needs and nothing beyond, so even a mistake has a limited blast radius. We do not work on customer data where it lives: the agent and the tests get copies, not the production database. Secrets and keys stay out of the model reach. This is not distrust of the tool, it is the same principle you apply to any automated process: you assume something will eventually go wrong and design so the consequence is small.

A reusable core: the next project starts from a higher floor

There is one more reason this way of working is fast, and it is missing from the AI slogans. The next project does not start from zero. Proven foundations, integration patterns, an automation layer and conventions carry over between builds, so the agent starts from a higher floor and the gates and review are already set. This is part of how a platform can be delivered at a fixed price and on a fixed date at all: we take the estimation risk onto ourselves, because much of the core is already built and tested. We describe the build stage itself on the Engineering page, and the automation layer that goes inside the platform on the AI Automation page.

Why this is faster and safer at once for a client: the pace comes from an agent that writes in hours what used to take days; the safety from the gates, the review and the human on irreversible actions. One does not come at the expense of the other, because the discipline around the agent is exactly what lets it move fast without tipping over production.

Agentic engineering is neither a promise that AI will build the store on its own nor a warning that AI will break everything. It is the sober middle: the fastest available tool for writing code, enclosed in a process that controls that tool. What that process looks like on a concrete task, we show step by step in the piece on cleaning a catalog with Claude Code. The difference between a platform that still works in two years and one someone will be rescuing does not lie in whether AI was used. It lies in what the AI got as input and who checked its output.

FAQ

How is agentic engineering different from vibe coding?

Vibe coding is work without a spec, tests or understanding of the code. Agentic engineering runs the agent work through gates (typecheck, build, tests, lint), an adversarial review and a human decision; architecture and irreversible actions stay with the engineer.

Does the AI agent deploy to production on its own?

No. Deploys, database migrations and operations on customer data require manual human approval. The agent can prepare them but not execute them.

If AI writes the code, what does the human do?

The decisions you must not delegate: architecture, risk assessment and everything irreversible. Verification shifts from writing to checking, and most of it can be automated.

Does this make the build cheaper?

Faster and more predictable, because the agent speeds up execution and a reusable core starts the next project from a higher floor. That is why we deliver at a fixed price and date and take the estimation risk onto ourselves.

Journal

Szymon Żynda

Co-founder of Seedlight · eCommerce platforms, AI, SEO and GEO

More by this author

Newsletter

The Journal, straight to your inbox

New articles and lessons from real builds, every now and then. No spam, unsubscribe with one click.