Page 2 of 13 · The big idea

Agentic engineering, gently

An agent is a model running in a loop, choosing tools until a goal is met. Agentic engineering is the work of making that loop reliable, affordable and safe. You already do most of it; this page gives you the words.

1 runnable sample1 prediction4 questions

Chapter 1: the shift

From prompting to engineering

Where the name comes from (2025 to 2026)

In February 2025 Andrej Karpathy named "vibe coding": accept what the model writes and stop reading the code. A year later he proposed agentic engineering for the professional version: "agentic" because you are mostly orchestrating agents and acting as oversight rather than typing code, and "engineering" because doing that well is a learnable expertise. The difference is not how much the agent writes. It is whether you design, constrain and verify what it does.

Vibe coding

great for prototypes

  • Accept output, rarely read it
  • Success means "it seems to work"
  • No budget, no gates, no evals
  • Breaks down at production scale

Agentic engineering

built for production

  • Agents write most code; you design the system
  • Success is defined by checks: tests, types, evals
  • Rules are enforced in the harness
  • Cost, time and quality are measured
One sentence to own

Agentic engineering is software engineering where one component is non-deterministic, so the design work moves to context, tools and verification.

Chapter 2: the words

Fourteen terms in plain language

Agent
A model that decides its own next step and calls tools in a loop until it is done.

Used: a coding agent fixing a failing test on its own.

Workflow
Fixed steps you wrote in code; the model fills in each step but does not choose the path.

Used: summarize, then classify, then store.

Tool
A function the model can ask your code to run, described by a name, a description and an input schema.

Used: read_file, run_tests, search_docs.

Context window
Everything the model can see in one call, measured in tokens.

Used: the context meter in your agent's status bar.

Harness
Everything around the model: prompt, tools, permissions, memory, hooks, context management, orchestration.

Used: Claude Code, Codex and Cursor are harnesses.

Context engineering
Curating the smallest set of high-signal tokens the model sees at each step, and when they arrive.

Used: a skill that loads only when the task matches.

Harness engineering
Designing the guides and sensors around an agent: instructions, tools, permissions, hooks, tests.

Used: a hook that blocks edits to generated files.

Loop engineering
Designing the goal, checks, stop condition and budget so an agent keeps working toward a result without a human prompting every step. A young term.

Used: "fix until all tests pass, max 10 rounds, max $3".

Hook
Code that runs at a fixed point in the agent's lifecycle and can block, inject or log.

Used: a PreToolUse hook that stops migration edits.

Subagent
A separate agent with its own clean context, started by a parent agent with a written brief.

Used: exploring a codebase without filling the main window.

MCP
An open protocol that exposes tools and data to any compatible agent.

Used: a Linear or Slack server your agent can call.

Eval
A repeatable test that scores agent output, so you can compare before and after a change.

Used: 30 real support questions with known good answers.

Model tiering
Sending each task to the cheapest model that does it well.

Used: strong model plans, cheaper model executes.

Human in the loop
A person approves at defined checkpoints where mistakes are expensive.

Used: review gate before a merge or deploy.

Chapter 3: bridge from what you know

You already know the shapes

Every agentic concept has an ancestor in ordinary backend engineering. Use the left column to remember, the right column to speak.

Concept you already knowAgentic equivalentWhat changes
API endpoint with a DTOTool with an input schemaThe caller is a model, so names and descriptions are the documentation it reads.
Middleware (guards, interceptors)HooksThey wrap tool calls instead of HTTP requests, and can block or inject context.
Environment config and feature flagsSystem prompt, AGENTS.md or CLAUDE.md, settingsConfig is read by a model that may ignore it, so critical config moves into code.
RBAC and least privilegePermission modes and tool allowlistsThe actor is non-deterministic, so defaults must be tighter.
Unit and integration testsEvalsOutputs vary, so you score a set of cases instead of asserting one exact value.
CI pipelineRegression evals plus headless agents in CIEvery prompt or harness change reruns the eval suite.
Logs, APM, tracingAgent traces: steps, tokens, cost, latencyYou trace reasoning steps and tool calls, not just requests.
Queue workersSubagents and fan-outEach worker needs a written brief, and the brief can lose information.
Caching layerPrompt cachingStable prompt prefixes are cached by the provider; order your prompt for it.

Chapter 4: the first decision

Workflow or agent?

The first senior move is to not build an agent when a workflow will do. Autonomy costs predictability, money and debuggability.

"The steps are always the same: extract, classify, store."

Workflow

Fixed path, easy to test, cheapest.

"I can't know in advance which files need to change."

Agent

The path depends on what it finds.

"Mostly fixed, one step needs judgment."

Workflow with one agentic step

Autonomy only where it pays.

python[ RUNS ]

A workflow: the code chooses the path, the model only fills steps

def model_step(task, text):    return {"summarize": text[:20] + "...", "classify": "billing"}[task]def workflow(ticket):    summary = model_step("summarize", ticket)    label = model_step("classify", ticket)    return {"summary": summary, "label": label}print(workflow("My invoice for October shows the wrong amount."))

[ OUTPUT ]recorded · Python 3.14.8

Press Run to see the output this code printed when the course was built.

Predict the output

Level 2 answer before you look

Check your understanding

Level 1 open a question to see the answer

What is the difference between an agent and a workflow?

In a workflow your code decides the sequence of steps. In an agent the model decides the next step at runtime, in a loop, based on tool results.

Why does "the harness beats the model" matter in practice?

Because most failures come from missing context, vague tools, or unenforced rules. Fixing those is cheaper and more reliable than switching models. Hence the shorthand: agent = model + harness.

What separates agentic engineering from vibe coding?

Not the share of code the agent writes. In agentic engineering you design the system, define success with checks such as tests and evals, enforce rules in the harness, and measure cost and quality.

What is the backend ancestor of a hook?

Middleware: guards and interceptors that run before and after a request. Hooks run before and after tool calls and session events.