Agentic engineering: when engineers direct agents but still own the outcome
Agents take over implementation work while humans keep the spec, evals, permissions, and the outcome. Two scopes of the term, OpenAI case studies, and a maturity ladder you can measure.
Agentic engineering describes work in which agents perform a growing share of implementation while engineers remain responsible for the result. The engineer defines intent, gives the agent an environment, chooses evidence, reviews risk, and owns what reaches users. That is a different discipline from generating a large patch and hoping it works.
The term emerged partly because "vibe coding" had become too broad. It could mean playful prototyping, accepting code without reading it, or any use of an AI assistant. Agentic engineering is useful only when it names the practices that make delegated execution accountable.
Two definitions need to stay separate
In the narrow definition, the engineer writes little implementation code and spends more time specifying, directing, and reviewing agents. The broader definition covers the full engineering discipline around agent systems: harnesses, orchestration, permissions, evaluation, observability, and operations. Both definitions appear in current writing, but they answer different questions.
| Scope | Main concern | Engineer output |
|---|---|---|
| Narrow workflow | Delegating implementation while retaining ownership | Specs, feedback, tests, reviews, release decisions |
| Broader discipline | Building and operating reliable agent systems | Harnesses, policies, evals, traces, orchestration |
The role moves from implementation to outcome ownership
Traditional software work often treats code as the main visible output. In an agentic workflow, the engineer may spend more time turning intent into an executable contract. That contract includes constraints, non-goals, interfaces, examples, test commands, permissions, and the conditions that require escalation.
Ownership does not disappear when a model writes the code. Someone still decides whether the requirement is correct, whether a migration is reversible, whether an API remains compatible, and whether the result is safe enough to release. "The agent did it" is not a useful postmortem.
The loop is an execution primitive
Loop engineering explains how an agent repeats work until a condition is met. Agentic engineering places that loop inside a larger lifecycle. It adds decisions about who creates the goal, which tools are available, how parallel work is integrated, where evidence is stored, and who owns the final outcome.
| Layer | Responsibility |
|---|---|
| Specification | Define intent, constraints, interfaces, and non-goals |
| Execution loop | Plan, use tools, observe, and revise |
| Verification | Produce deterministic evidence and calibrated review |
| Control plane | Assign work, isolate state, track ownership, and stop runs |
| Operations | Monitor cost, behavior, incidents, and permission use |
Case studies show potential and limits
OpenAI described a greenfield repository built almost entirely through Codex, with about one million lines and roughly 1,500 pull requests over five months. Another case study introduced Symphony after engineers struggled to track several interactive agent sessions. OpenAI reported more landed pull requests on some teams after moving work into an issue-driven control plane.
Those figures are first-party case studies, not neutral benchmarks. The repositories, models, internal tools, and policies differ from ordinary teams. The useful lesson is that model quality alone did not produce the result. Repository structure, tests, permissions, and human attention mattered just as much.
One agent or a swarm is a task-shape decision
Several agents help when work can be separated through stable interfaces. An explorer can locate a root cause, an implementer can make the change, and a reviewer can inspect security. Parallel work reduces elapsed time only when agents do not keep waiting on one another or editing the same source.
A single agent often preserves coherence better for a causal debugging problem, a complex migration, or a wide architectural refactor. Coordination, duplicated context, and integration errors can cost more than concurrency saves. Start with one executor and an independent verifier; add specialists when traces show a real bottleneck.
Specifications become an executable management surface
A spec is no longer a document read once before implementation. Models, planners, reviewers, and verifiers may read it repeatedly. A small ambiguity can therefore become many consistent but incorrect decisions.
An agent-friendly spec names the outcome, constraints, non-goals, source of truth, interfaces, examples, tests, and escalation rules. It also says what must not change. "Fix the tests" is unsafe if the agent can weaken an assertion or delete the failing scenario.
Tests and evals are the language of trust
Tests separate plausible output from evidence. Unit and integration tests remain necessary, but agent systems need additional evaluation for tool selection, permission compliance, recovery, citation quality, cost, latency, and escalation. Incidents and rejected outputs should become regression cases.
Model judges can help with subjective quality, but they need calibration and human sampling. Mechanical properties should be checked mechanically. A system is not trustworthy merely because one model reviewer approves another model's patch.
Autonomy must be measured
Longer sessions do not automatically mean better work. An agent may run longer because a task is difficult, an environment is slow, or the agent is lost. Duration needs to be paired with completion quality, interventions, rollbacks, cost, and the severity of attempted actions.
Autonomy is not one switch. A team can allow unrestricted repository reading and test execution while requiring approval for dependencies, migrations, deployments, or production data. A safe progression moves from read-only analysis to draft changes, automated pull requests, and finally narrow production actions after monitoring and rollback have proved reliable.
Security starts at the tool boundary
An agent that can run a shell, read email, edit a database, or deploy code has a larger blast radius than a chat assistant. Every tool is a permission. Content read from an issue, document, web page, or log may contain instructions that try to redirect the agent.
Least privilege should be applied per task. Documentation work does not need production credentials. Temporary tokens, sandboxes, network allowlists, secret isolation, immutable logs, and approval for sensitive actions provide independent layers of defense.
Observability must capture decisions
Traditional logs show requests, latency, and errors. Agent traces also need prompt version, context sources, model, tool calls, permissions, state transitions, verifier results, retries, cost, and human intervention. Without that record, a team knows an agent failed but cannot explain why it chose the action.
Trace data can contain code, user content, and secrets. Redaction, retention limits, access control, and privacy review still apply. Observability should support investigation without becoming an uncontrolled archive of every context window.
Human expertise changes shape
Agents make initial code cheaper, which makes judgment more valuable. Senior engineers often gain leverage because they can recognize violations of architecture, security boundaries, and data invariants. Junior engineers can generate more code before learning how to debug or review it.
The answer is not to ban agents. Engineers still need to read code, explain behavior, design tests, investigate incidents, and understand systems. New skills appear around task decomposition, context design, tool contracts, evaluation, traces, permission architecture, and orchestration. Debugging and distributed-systems knowledge become more important because automation multiplies both sound and poor decisions.
A maturity ladder is more useful than a label
| Level | Work pattern | Quality control |
|---|---|---|
| 0. Suggestion | The model supplies an answer or snippet | A person copies and checks it |
| 1. Interactive agent | The agent edits files and uses tools in one session | A person directs the task and reviews the diff |
| 2. Verified loop | The agent repeats until deterministic gates pass | Budget, state, tests, and terminal states |
| 3. Orchestrated workflow | Issues or events start several tasks | Control plane, isolation, ownership, audit trail |
| 4. Operational system | Agents act inside production workflows | Continuous evals, permission tiers, monitoring, rollback |
| 5. Learning system | Traces improve prompts, tools, memory, or models | Held-out evals, versioning, approval, governance |
Higher is not always better. Many teams will get the most value from interactive agents or verified loops. More autonomy adds coordination cost, security surface, and operational work. Maturity means choosing autonomy that matches available evidence and risk.
What agentic engineering is not
Generating a large patch from one prompt without review is not professional agentic engineering. Neither is adding the word "agent" to a deterministic script. Five agents repeating one another are not more mature than one agent with strong tests.
Agentic engineering also does not replace version control, modularity, testability, observability, secure design, or incident response. Agents accelerate execution on top of those foundations. Engineers still define what correct, safe, and releasable mean.
Sources
- Andrej Karpathy on agentic engineering
- Addy Osmani: Agentic Engineering
- Simon Willison: Agentic Engineering Patterns
- OpenAI: Harness engineering
- OpenAI: Symphony
- LangChain: Agentic Engineering
- ICSE 2026 AGENT workshop
- Anthropic: Measuring agent autonomy
- Anthropic: Trustworthy agents
- Karpathy: autoresearch
- Taibi et al.: Research agenda on agents and software engineering