← Course page Agent Management
0/8 modules

The Agent as Manager

Introduction: why transfer classical management methods to AI agents

Hook: the agent does the manager's job

Every time an LLM agent takes on a task, it goes through the same cycle that business schools have studied for decades: sets a goal, gathers information, makes a decision, acts, checks the result — and adjusts course. Humanity codified these loops long ago: OODA, GTD, PDCA, first principles, Theory of Constraints, SMART/OKR. This course transfers each method to AI agents — concretely and without abstractions.

The Agent's Management Cycle

Goal Perception Decision Action Check Correction

Goal — what exactly needs to be achieved (SMART/OKR).

Perception — gathering data from context, tools, environment.

Decision — choosing the next step (OODA, first principles).

Action — calling a tool, generating output, writing to memory.

Check — eval: does the result match the goal (PDCA).

Correction — prioritization (TOC, GTD), updating the plan.

Why agents especially need this

Overreach. The agent takes on too much: a long plan without prioritization, huge context, parallel chains — and gets "stuck" halfway.
Narrow context window. The agent's "working memory" is strictly limited. Without explicit offload (GTD: capture), important details are displaced by new tokens.
No built-in prioritization. Without explicit ranking, an agent processes tasks in order of arrival — like a bad manager who answers emails instead of closing a critical bug.
No built-in verification. Without an explicit success criterion (eval), the agent "confidently does the wrong thing" — generating a plausible but incorrect answer with no error signal.

Three Lenses of the Course

The entire course is built around three management questions:

WHERE TO

goal-setting

Where do we want to end up? What is the success criterion?

Methods: SMART/OKR, First Principles

HOW TO MOVE

decision loops

How to make decisions at each step of the cycle?

Methods: OODA, PDCA

WHAT FIRST

prioritization

Which task to take next within a limited context?

Methods: TOC, GTD

Course Map: 6 Methods

Method Lens Apply to the agent when… Module
OODA decision loops the agent flounders, slowly converges on a solution M2
GTD prioritization the agent drowns in tasks, loses context M3
PDCA decision loops the agent repeats the same mistakes between runs M4
First Principles goal-setting copying "magic" prompts without understanding why they work M5
TOC prioritization pipeline is slow/unreliable, unclear what to fix M6
SMART/OKR goal-setting goal is vague — the agent does the wrong thing M7

Method Navigator

Pick a symptom — get a recommendation and jump to the right module:

Check Yourself

Q1. Why are classical management methods applicable to an LLM agent at all?
Because an agent is a human.
Because the agent performs the same management cycle (goal → information gathering → decision → action → check) and has similar constraints: narrow working memory, no built-in prioritization.
Because the methods are patented for AI.
Q2. The three "lenses" around which the course is built:
goal-setting · decision loops · prioritization
prompt · context · tools
speed · price · quality
Now you see the AI agent as a self-managing system with its own management cycle — and you know the map of 6 methods (OODA, GTD, PDCA, First Principles, TOC, SMART/OKR), each of which fixes a specific failure in this cycle. The following modules will break down each method in detail and translate it into concrete instructions for agents.

OODA Loop

Observe → Orient → Decide → Act: cycle faster than the environment — you set the conditions.

Origin: John Boyd and Aerial Combat

John Boyd — a U.S. Air Force fighter pilot and military strategist. In the 1950s he formulated the 40-second rule: in aerial combat, whoever can switch to a counterattack within 40 seconds wins — regardless of the aircraft's maneuverability. From this observation grew the OODA framework.

Key idea: the winner is the one who spins the cycle faster and more accurately than the situation changes, and "gets inside the adversary's OODA loop" — the opponent reacts to an already outdated picture of the world.

OODA Loop (diagram)

┌──────────────────────────────────────┐
│  Observe → Orient → Decide → Act    │
│      ↑                       │       │
│      └───────────────────────┘       │
│          (result of Act =            │
│           new observation)           │
└──────────────────────────────────────┘

The cycle never ends — it repeats continuously while the agent is active.

Four Phases

👁 Observe — Observation

Collecting raw data: environment state, results of previous actions, feedback. Without filtering or interpretation — just facts.

For the agent: reading tool-call results, errors, stdout/stderr, file states, API responses.

🧭 Orient — Orientation ("Big O")

Interpreting observations through a world model, experience, context. Boyd called this phase the most important: orientation determines how you observe, which decisions you consider, how you act.

For the agent: system prompt + working context + retrieved memory. "Broken Orient" → hallucinations and acting on an outdated world picture.

🎯 Decide — Decision

Choosing a hypothesis or plan of action based on orientation. A decision is a bet: we choose one branch out of several possible ones.

For the agent: choosing the next tool/step; reasoning trace in Chain-of-Thought.

⚡ Act — Action

Executing the decision. The result immediately returns to the loop as a new observation — the cycle closes.

For the agent: calling a tool (tool call). Its result is the input for the next Observe.

Why is Orient the "Big O"? Boyd wrote: "Orientation is the lens through which we view the world." If the lens is distorted (wrong context, stale data, bias), then correct observations will lead to wrong decisions. Orient is the leverage point for the quality of the whole loop.

ReAct Loop = OODA

The ReAct (Reason + Act) pattern used in LLM agents is isomorphic to OODA:

OODA phase   │  ReAct step          │  Concrete agent action
─────────────┼──────────────────────┼──────────────────────────────────────
Observe      │  Observe (perception)│  Reads tool-result, errors, env-state
Orient       │  Think / Reason      │  System prompt + context + memory
Decide       │  Plan next action    │  Chooses tool and arguments
Act          │  Act (tool call)     │  Calls tool → result feeds back
             │                      │  into Observe of next iteration

Context engineering (what goes into the system prompt, what into working context, what into retrieval) — this is direct tuning of the Orient phase. That is why it is the main quality lever of the agent.

Tempo: Who Is Faster and More Accurate

Loop speed is not the only metric. Boyd emphasized two conditions simultaneously:

  • Faster — the cycle completes faster than the environment changes (advantage ≥ 1).
  • More accurate — Orient is adequate to reality (context is current, memory is not cluttered).
Fast tempo trap: if Orient is broken, accelerating the loop means "quickly doing nonsense." A fast loop is valuable only with adequate orientation.

🎛 Interactive: Loop Tempo vs. Environment

The environment changes with a characteristic time of T_env = 10 sec. Move the slider — see how the "loop advantage" changes.

Formula: advantage = T_env / T_loop = 10 / T_loop

Arithmetic check:
  • T_loop = 2 secadvantage = 5.0 → 🟢 Inside the environment's loop
  • T_loop = 10 secadvantage = 1.0 → 🟡 Parity
  • T_loop = 20 secadvantage = 0.5 → 🔴 Environment has pulled ahead

OODA Antipatterns in Agents

🔄 Stuck in Observe

Symptom: the agent endlessly calls search, accumulates context, never moves to Decide/Act.

Cause: analysis paralysis — unclear criterion for "enough data."

Fix: explicit limit on the number of Observe iterations; the principle of "good enough information."

🚫 Skipped Orient

Symptom: the agent acts on stale data — results of the previous Act did not make it into context.

Cause: context loss, window overflow, broken memory injection.

Fix: explicit passing of tool-call results back into context; scratchpad pattern.

♾ Loop Without Exit Condition

Symptom: the agent spins in the OODA loop without finishing — neither reaches the goal nor stops.

Cause: absence of an explicit completion criterion in the prompt or tool.

Fix: explicit stopping criterion; max_iterations; finish() tool.

⚡ Fast Loop + Bad Orient

Symptom: the agent makes many tool calls quickly, but all are off-target; hallucinates actions.

Cause: incomplete system prompt, stale context, cluttered memory.

Fix: fix Orient first (context, prompt), then optimize tempo.

Practice: OODA in Agent Design

Orient-audit checklist for an agent:

  1. What is in the system prompt? Is it current?
  2. How do tool-call results get back into context?
  3. Is there a memory retrieval mechanism (RAG, scratchpad)?
  4. How does the agent know the situation has changed since the last Orient?
  5. What is the loop completion criterion?
Boyd's Rule for Agents: before optimizing latency (tempo), make sure Orient is adequate. A fast agent with bad context is a fast path to error.

Implicit vs Explicit Orient: Where the "World Model" Lives

For an agent, the Orient phase is implemented in two ways — this is a key architectural choice:

Implicit Orient

Orientation is "in the model's head": context and reasoning live inside the prompt/CoT itself. Fast and flexible, but opaque and drifts between steps — the model has to "reassemble" the picture from context text every time.

Explicit Orient

Orientation is externalized into structure: JSON world-state, scratchpad, task graph. More expensive to maintain, but reproducible, verifiable, and survives context compaction (bridge to GTD from M3 — external memory).

The longer the task and the more important repeatability — the more Orient should be explicit. A one-off answer can get by with implicit.

Stopping Criterion: When the Loop Must End

OODA is a cycle, but any agent cycle must have an exit condition, otherwise it spins forever (or burns budget). Here satisficing by Herbert Simon applies: the agent does not optimize to perfection, but stops at "good enough" by an explicit threshold.

  • Success criterion reached — result passed the check (bridge to Check/eval from M4 and Measurable from M7).
  • Budget exhausted — step / token / time limit.
  • No progress — N iterations in a row without improving observations → exit and escalate.
Without an explicit stopping criterion, the agent falls either into analysis paralysis (endless Observe) or endless "polishing."

Boundary of OODA: The Chaotic Domain

OODA assumes that observation is informative. But if there is no data yet — the environment is new and unpredictable — there is nothing to "observe." In the chaotic domain the order flips: first act to create information (act → sense → respond), rather than getting stuck in Observe. This is part of the broader Cynefin framework — "which decision mode for which situation"; the full map of domains will be covered in M8.

📝 Exercise: translate OODA into a system prompt.

Write a fragment of a system prompt that forces the agent to (1) explicitly fix Orient — the current understanding of the task — before acting and (2) check the stopping criterion after every step. 3–5 lines.

Check Yourself

Q1. Which OODA phase, according to Boyd, is the most important and why?
Act — because action changes the world.
Observe — without data there is no decision.
Orient — interpreting observations through a world model determines how you observe, decide, and act; for the agent this is context and system prompt.
Q2. The agent endlessly calls search, accumulates context, but never moves to action. Where is it stuck?
In Observe — analysis paralysis; the loop never reaches Decide/Act.
In Act — too many actions.
The problem is not in OODA.
Q3. Is it always useful to accelerate an agent's OODA loop?
Yes, the faster the better always.
No: a fast loop with bad Orient = quickly doing nonsense; tempo is valuable only with adequate orientation.
Main takeaway of the module: OODA is not just "do it quickly." Orient is the most important phase: the quality of context and world model determines where observations, decisions, and actions lead. For an AI agent, context engineering (system prompt, working memory, tool-call results) is direct management of Orient. Accelerate the loop only after you have made sure orientation is adequate to reality.

Module 3: GTD — Getting Things Done

David Allen · "Mind Like Water" · Five steps from chaos to action · Transfer to AI agents

Why the Brain Is Bad at Storing Tasks

Zeigarnik Effect

Unfinished tasks keep "spinning" in your head — the brain holds them as open loops, consuming working memory resources. Result: distraction, anxiety, feeling overwhelmed.

David Allen discovered: the problem is not lack of time, but that the brain is not designed for storing tasks — only for processing them.

"Mind Like Water"

The ideal state — when the system fully trusts external storage. You throw a stone — water responds exactly to the force of the throw, then returns to calm. No "residual anxiety."

GTD solution: offload everything into an external reliable system and free working memory for real thinking.

Five Steps of GTD

  1. Capture (Collect) — everything into a single inbox; the head holds nothing.
  2. Clarify (Process) — what is this? Does it require action? What exactly needs to be done?
  3. Organize (Sort) — arrange into lists, projects, contexts (@calls, @computer).
  4. Reflect (Review) — regular review: weekly overview of the whole system.
  5. Engage (Do) — choose an action by context, energy, time.

Key GTD Rules

Two-minute rule: if an action takes less than 2 minutes — do it immediately. Planning overhead is more expensive than the action itself.

Next Action: always define the concrete next physical action. Not "project X", but "call Ivan about X".

Contexts: @calls, @computer, @office — a filter for "what can be done right now."

Transferring GTD to AI Agents

Context Window = Working Memory

The agent has the same bottleneck as a human: context is finite. Holding all tasks, facts, and decisions in it means reproducing the "open loops" problem, only in tokens.

GTD solution for the agent: offload into external memory — files, scratchpad, todo list, vector store. Context is only for active thinking.

Connection to OODA (M2)

The Orient phase from the previous module degrades when the context is clogged with "garbage" — unfinished tasks, stale facts, duplicate instructions.

GTD solves the problem upstream: it doesn't let garbage accumulate.

GTD step For humans For the agent
Capture Write into an inbox (paper/app) Dump into a file / scratchpad / todo-store — don't hold in context
Clarify / Organize Decomposition + project/context tags Break the goal into next-actions; tag by tool / state (@web_search, @file_write)
2-min rule Do immediately, don't plan Cheap action (single tool-call) — execute immediately without a separate planning step
Reflect Weekly review of the system Compaction / periodic review of context: what is done, what remains, what to discard — continuity between steps and sessions
Engage by context Do by context/energy/time Choose the tool available in the agent's current state

Antipatterns

"Everything in context"
Keep all tasks, facts, and intermediate results in the system prompt or chat history. Context overflows → lost-in-the-middle effect → the agent "forgets" early instructions or starts hallucinating.
Task without next-action
"Do project X" without decomposition. The agent receives an amorphous goal, tries to cover everything at once, hangs or makes random steps. GTD requires: one concrete physical next action.
Absence of review (Reflect) — drift. Between steps and sessions the agent loses the thread: what has been done, what changed in the conditions. Compaction and checkpoint files are GTD-Reflect for agents.

Interactive: GTD Inbox Processing Funnel

Walk through the steps — this is how Clarify works in GTD and how an agent should reason when processing an incoming item.

Incoming item.
Is this actionable — does it require any action?

Try all paths: Reference, Someday, Trash, Do now, Delegate, Defer — each bucket shows an agent analogy.

GTD Contexts for the Agent: Machine Triggers

For a human, GTD contexts are @calls, @computer: where and with what you can do the action. For an agent, "context" becomes a concrete machine condition — the action is unlocked only when it is executable:

@has_tool · @context_fits · @needs_verify · @budget_left
Tag next-action with an executability condition, not an abstract "tool".
  • @has_tool — the required tool is available in the current state (otherwise this is not a next-action, but a "waiting-for").
  • @context_fits — the required data fits in the window (otherwise retrieval/summarization first).
  • @needs_verify — the result requires verification before committing (bridge to Check from M4).
  • @budget_left — token/time budget remains for this action.

Engage by context for an agent = choose from the queue an action whose triggers are all green.

WIP Limit: Capture Without a Ceiling = Infinite Inbox

GTD says "collect everything", but without limiting the number of simultaneously active tasks (work-in-progress) the agent overloads context and scatters attention — it's the same overreach disease. The Kanban remedy: a hard cap on parallel tasks (often WIP = 1 for an agent — one active task at a time), the rest waits in queue.

WIP limit turns a "huge list" into a manageable flow: fewer context switches, higher share of items brought to completion. (Deeper on WIP and Little's Law — in the adjacent harness-engineering material.)
📝 Exercise: translate GTD into a system prompt.

Describe the policy: where the agent writes external memory, how it formulates next-action, and what WIP limit it keeps; add the 2-minute rule for cheap actions. 4–6 lines.

Check Yourself

Q1. Which analogy best transfers the GTD principle "offload into an external system" to an agent?
Narrow context window = working memory; tasks and facts must be offloaded into external memory (files/todo/store), not held in context.
The agent needs more GPU.
Remove the system prompt.
Q2. The agent received a list of 12 tasks and "froze." Which GTD technique fixes this?
Capture — write them down again.
Define a concrete next-action for the current task (one action at a time) instead of holding the whole list as an amorphous heap.
Delete the list.
Main takeaway from the module: GTD is not about time management, but about managing attention through an external system. For an agent this means: don't hold tasks in context — offload them to files/stores; decompose every goal into a concrete next-action with a context tag; execute cheap actions immediately; periodically perform compaction as GTD-Reflect. "Mind like water" for an agent = context occupied only by current thinking, not accumulated ballast.

Module 4: PDCA — Spiral of Improvement

Plan → Do → Check → Act: how an agent learns from mistakes between runs

Origin and Essence

The PDCA cycle was invented by Walter Shewhart in the 1930s, and W. Edwards Deming popularized it in post-war Japan as a tool for kaizen — continuous improvement. It is not a one-off project, but a spiral: each completed cycle starts the next one from a higher baseline.

Plan — Hypothesis

Define the problem, formulate a hypothesis about the change. Plan an experiment, preferably on a small scale so that the risk is manageable.

Do — Execution

Implement the planned change. Main rule: don't make too many changes at once, so you know what exactly worked.

Check — Measurement ★

Compare the result with the expectation from Plan. This is the heart of the cycle. Without honest measurement, PDCA degenerates into "Do-Do-Do" — endless action without learning.

Act — Consolidation

If it worked — standardize and lock in. If not — roll back, adjust the hypothesis and start the next cycle with new knowledge.

PDCA vs OODA: Two Different Loops

Both cycles are feedback mechanisms, but they operate on different time horizons and solve different problems.

OODA (Module 2)

  • Speed: seconds–minutes
  • Purpose: tactical decision in the moment
  • Resource: current context, observation
  • Unit: one run / one action

PDCA

  • Speed: hours–days–sprints
  • Purpose: improving the process between runs
  • Resource: accumulated measurements, eval
  • Unit: series of runs / system iteration
Nested loops: inside a single agent action spins OODA (observe → orient → decide → act); between runs (system iterations) works PDCA (accumulate eval → adjust prompt/instructions → run again). In Module 8 we will assemble these two loops together.

Transfer to AI Agents

Each PDCA step maps directly to agent development terms:

Step In management For the agent
Plan Hypothesis of change, experiment plan Prompt / instructions / few-shot / task plan
Do Execute the change (on a small scale) Run the agent on a test set / real task
Check ★ Measure result vs expectation from Plan Eval / verification gate / tests — the most underestimated step
Act Standardize or roll back and adjust Update prompt/few-shot/instructions; or roll back the change

The "Confidently Wrong" Agent = PDCA Without Check

An agent can consistently produce confident answers that are factually wrong. If after every run there is no honest check of the result — there is no signal for Act, no correction for the next Plan. The cycle is open.

Antipattern: Do-Do-Do. Running the agent again and again, hoping that "this time it will work" — without measuring the causes of errors and without changing the prompt/instructions. Without Check there is no improvement, only token burn.

Verification gap — the gap between what the agent claims about its output and what is actually verified through eval. Closed only through Check.

Spiral of Improvement — Interactive Model

Model: error_n = error_0 · (1 − r)^n, where error_0 is the initial error rate (%), r is the share of errors eliminated per PDCA cycle (Check+Act effectiveness), n is the cycle number.

Set r = 0 — you'll see a flat line: without Check there is no improvement.

Practical Application: Cycle Checklist

  1. Plan. Formulate a concrete hypothesis: "If I change [X] in the prompt, then the error rate on task [Y] will drop from [A%] to [B%]."
  2. Do. Run the agent on a fixed test set with the changed prompt. Don't change several variables at once.
  3. Check. Run eval. Compare numbers with the hypothesis. Don't interpret subjectively — look at the metric.
  4. Act. If the hypothesis is confirmed — lock in the change (update system prompt, add a few-shot example, update CLAUDE.md / AGENTS.md). If not — roll back and formulate a new hypothesis.
Size of "Do": Deming insisted on a small scale — test on a small set before rolling out to the whole system. For agents: eval on 20–50 examples is cheaper than breaking production.

Single-loop vs Double-loop: Improve the Method OR Change the Goal

Chris Argyris distinguished two levels of learning, and PDCA by default works only on the first:

Single-loop (regular PDCA)

Goal and metric are fixed; you improve the method of achieving them. "KR = 85% eval pass not reached → fix the prompt." Question: "How to do this better?"

Double-loop

The goal / metric / assumptions themselves are questioned. "Is this the right eval? Maybe 85% test pass ≠ 'agent is useful'?" Question: "Are we even solving the right problem?"

For an agent this is critical: single-loop honestly optimizes a proxy metric — and runs straight into Goodhart's Law (M7). If eval measures the wrong thing, single-loop will diligently improve "the wrong thing." Double-loop is a periodic step back: "does our Check measure the real goal?"

Practice: once every N single-loop cycles do a double-loop review — reconsider what and why your eval measures. This is the bridge PDCA → OKR review (M7).
📝 Exercise: translate PDCA into a system prompt.

Write an instruction that forces the agent after a run to: (1) compare the result with the criterion (Check) and (2) once every few runs ask a double-loop question "does my criterion measure the real goal?". 3–5 lines.

Quiz

How is PDCA different from OODA in the context of an agent?
They are the same thing.
OODA is a fast decision loop in the moment; PDCA is a slow process improvement loop between runs (learning from mistakes). They are nested.
PDCA is faster than OODA.
The agent repeats the same mistake run after run. Which PDCA step is most likely missing?
Plan.
Do.
Check — no honest measurement against expectation (no eval/verification), so Act does not correct the approach.
PDCA for agents is a learning loop between runs: Plan (prompt/hypothesis) → Do (run) → Check (eval — the most important step) → Act (update or roll back). Without Check the agent remains "confidently wrong" forever. It is regular eval that turns a series of runs into a spiral of improvement.

Module 5: First Principles

First Principles Thinking — break down to the foundation, rebuild from scratch

What Is First-Principles Reasoning

Aristotle defined a first principle as "the first basis from which a thing is known." Descartes elevated methodical doubt to a method: discard everything that can be doubted — and rebuild knowledge on what stands. The modern popularizer — Elon Musk: "think physics," not analogy.

Reasoning by Analogy

Do as accepted. Fast and cheap — no need to think from scratch. But it drags in other people's constraints: if everyone does it "this way," then you do too.

  • "Batteries are expensive — that's forever."
  • "All competitors have this design — so it's right."
  • "The prompt works — let's copy it."

Reasoning from First Principles

Break the problem down to fundamental, verifiable truths (physics, facts, numbers). Discard inherited assumptions. Rebuild the solution bottom-up.

  • What is a battery made of? What do the materials cost on the spot market?
  • Why is the design this way? What physically constrains it?
  • Why does the prompt work? What is the mechanism?
Three steps of the method:
1. Break the problem down to atomic, verifiable claims.
2. Discard "accepted" assumptions — keep only what can be measured or derived.
3. Rebuild the solution bottom-up, relying only on verified blocks.

Case: Batteries (Illustrative Argument)

This example illustrates first-principles logic in the spirit of Musk's battery argument. Numbers are illustrative; the point is to show the gap between "market analogy" and "first-principles floor."

Analogy

"A battery pack costs ~$600/kWh. Historically the price fell slowly. Therefore, cheap electric vehicles won't happen for a long time."

Assumption inherited from current market structure.

First Principles

"What is a battery physically made of? Nickel, lithium, cobalt, aluminum/copper, graphite, electrolyte. What do the materials cost on the spot market?"

Sum of materials ≈ $80/kWh at these prices. Gap = $520 — this is not physics, it is market structure. Therefore, there is opportunity.

First-Principles Cost Calculator

Enter component costs and the market price of the finished pack. The calculator will show the "first-principles floor" (sum of materials) and the gap between it and the market.

floor = nickel + lithium + cobalt + metals + anode + electrolyte

Numbers are illustrative (in the spirit of Musk's battery argument), not precise historical accounting. The point is to show the gap between "market analogy" and "first-principles floor."

Transfer to AI Agents

1. Anti-Cargo-Cult Prompting

Cargo-cult — copying "magic" formulations without understanding the mechanism. First-principles question: what fundamental mechanism makes this work?

Cargo-cult (analogy):
"You are a genius world-class expert.
Others use it → we copy it."
No understanding of mechanism, no eval, no knowledge whether it helps at all.
First Principles:
1. What actually affects quality?
   → context, instructions, examples, eval.
2. Test A/B: with and without the phrase.
3. Keep only what is confirmed.
You build the prompt on verified hypotheses, not rituals.

2. Decomposition to Atomic Verifiable Claims

Complex agent task → break down to atomic verifiable claims: statements each of which can be checked independently. This is a direct bridge to eval from Module 4: each claim becomes a test case.

Task: "Summarize news correctly"
↓ decomposition
├── Claim 1: facts from the source are preserved
├── Claim 2: no added claims
├── Claim 3: tone is neutral
└── Claim 4: length is within limits

Each claim = a separate eval test.

3. Bottom-Up Estimation: "Too Expensive / Too Many Tokens"

Before accepting "impossible" — calculate from fundamental components.

"This is too expensive in tokens" — analogy.

First principles:
1. How many tokens does each part of the prompt take?
2. Which of this carries information? Which is ballast?
3. Where is the real bottleneck: context, cost, latency?
→ We calculate, not assume.

4. Connection to SMART / OKR (Module 7)

First principles give the letter A — Achievable in a SMART goal. A goal derived from fundamental components (tokens, tools, eval metric) is realistic by definition — you calculated, not copied someone else's benchmark.

Practice: Applying the Method

First-Principles Breakdown Template

Task: [description]

1. DECOMPOSITION
   What fundamental elements is the task made of?
   → [element 1], [element 2], ...

2. ASSUMPTIONS QUESTIONED
   What is "accepted" as a constraint?
   → Assumption X: can it be verified?

3. VERIFIABLE TRUTHS
   What can be measured / derived directly?
   → Fact 1: [number / experiment result]

4. REBUILD BOTTOM-UP
   Based on p.3, what solution follows?
   → [conclusion]

Agent-Native Example: Bottom-Up Model Budget

The battery case is about the physical world. Let's transfer the method to an agent. Analogy (reasoning by example): "the task is complex → use the strongest model for everything, it's safer." First-principles question: what share of tasks actually needs the strong model? Let's calculate the cost from components and compare "everything on strong" vs routing.

Numbers are illustrative. The point: "expensive and no other way" is analogy; first-principles calculation almost always reveals a gap (here — routing cheap model for simple tasks).

📝 Exercise: translate first principles into practice.

Take one "obvious" assumption about your agent ("needs top-tier model for everything" / "context must be huge" / "no RAG impossible") and break it down into verifiable components: what of this can be measured and disproven by a cheap experiment?

Check Yourself

Q1. What is the difference between first-principles reasoning and reasoning by analogy?
Analogy = derivation from fundamental truths; first principles = copying existing.
First principles = break down to fundamental verifiable truths and rebuild; analogy = do as accepted (fast, but drags in other people's constraints).
They are synonyms.
Q2. An engineer copies into the prompt the phrase "you are a genius world-class expert" because "it works for others," without checking the effect. What antipattern is this?
This is first-principles reasoning.
Cargo-cult: reasoning by analogy without understanding the mechanism; a first-principles approach would require checking what actually affects quality (eval).
Normal — copying is always optimal.
Main takeaway from Module 5. First principles are not intellectual snobbery, but a tool: break down to fundamental, verifiable truths → discard inherited assumptions → rebuild. In agent work this is three concrete practices: (1) don't copy prompt incantations — check the mechanism through eval; (2) decompose tasks into atomic claims, each of which can be tested; (3) before accepting "impossible" — calculate from components. Reasoning by analogy is fast, but inherits other people's constraints. First principles are more expensive in thought, but open solutions invisible through analogy.

Theory of Constraints (TOC)

Eliyahu Goldratt, "The Goal" (1984) — any system is limited by one bottleneck, which determines the throughput of the entire chain.

1. Key Idea: A Chain Is Only as Strong as Its Weakest Link

Eliyahu Goldratt formulated a principle that changed production management: in any system there is at least one constraint (bottleneck) — the slowest link through which all work flow passes. This constraint determines throughput — the capacity of the entire system.

System throughput = performance of the slowest link
If a conveyor: A(100/min) → B(20/min) → C(50/min) → D(40/min),
then throughput = min(100, 20, 50, 40) = 20/min.
Speeding up A to 200/min will change nothing — B still passes only 20.

Classic trap: a team spends a month optimizing the fastest stage, celebrates a 2× speedup, but final throughput doesn't change at all. This is called "local optimization not at the bottleneck."

2. Five Focusing Steps

  1. Identify — find the constraint. Where does the queue accumulate? Where does quality drop?
  2. Exploit — squeeze the maximum out of the bottleneck without new investment: best process, eliminate downtime.
  3. Subordinate — subordinate everything else to the bottleneck's tempo. Don't flood it with work faster than it can handle.
  4. Elevate — invest in expansion: new tool, resource, infrastructure.
  5. Repeat — after the bottleneck is relieved, it shifts. Don't let inertia stop the cycle.
Subordinate — the most underestimated step.
If you optimized all stages except the bottleneck — you created a huge WIP (work in progress) that sits as dead weight in front of the bottleneck. This is worse than nothing: queues, latency, and errors grow.

3. TOC in Agent Pipelines

An agent pipeline is the same conveyor of stages, each with its own throughput:

Typical agent pipeline:
Retrieval (context) → Reasoning (LLM) → Tool-calls → Verification

Throughput and reliability of the entire chain are determined by the weakest stage.

Identify in Agents

Measure where time and quality are lost. Look at:

  • Latency of each stage (traces, logs)
  • Error / fallback percentage by stage
  • Where the agent most often "gets stuck" or re-asks

Exploit in Agents

No new infrastructure, only prompt engineering:

  • Few-shot examples specifically for the narrow stage
  • Chain-of-thought only where it helps
  • Clearer system prompt for the weak step

Subordinate in Agents

Don't flood reasoning with extra context. If reasoning is the bottleneck:

  • Retrieval must return only relevant items
  • Don't launch 10 parallel tasks — the agent loses focus
  • WIP limits: how many tasks are simultaneously "in flight"

Elevate → Repeat

After Exploit:

  • Elevate: stronger model specifically on the narrow stage, specialized tool
  • Repeat: the bottleneck moves — run Identify again
After the bottleneck moves, inertia is dangerous: the team keeps improving what is no longer the constraint.
"Optimizing the wrong thing" — the main trap of agent teams.
Optimizing retrieval when the bottleneck is reasoning; adding tools when the problem is verification. TOC says: first find the constraint, then invest effort.

4. Interactive: Pipeline Throughput = min(stages)

Set the speeds of four stages (requests/min). The system will show the bottleneck and total throughput. Try: raise Retrieval from 100 to 200 — throughput won't budge (stays 20). Then raise Reasoning from 20 to 40 — throughput grows to 40, and the bottleneck moves to Verify.

🎮 Mini-game: Unclog the Pipeline on a Budget

You have 14 upgrade points. One point raises a chosen stage by +5 req/min. Goal — squeeze maximum throughput (= minimum across stages). Hint: pouring points into a stage faster than the current bottleneck is useless. The optimum is achievable — find it.

Points: 14/14 Throughput: 20/min

5. Connection to Other Course Tools

TOC + PDCA (M4): PDCA is the improvement cycle, TOC tells you what to improve. Plan = Identify+Exploit, Do = Subordinate, Check = throughput monitoring, Act = Elevate+Repeat. Without TOC, PDCA risks improving a non-constraint.
TOC as a prioritization lens: of all possible system improvements — choose only what unclogs the current constraint. Everything else is secondary.

6. RICE / WSJF: Which of Many Tasks to Do First

TOC answers "where is the bottleneck in one conveyor." But often in front of an agent is a backlog of dozens of independent improvements, and there is no single bottleneck: tasks must be ranked. Here scoring by value works.

RICE = Reach · Impact · Confidence / Effort
Reach — coverage · Impact — contribution per unit · Confidence — certainty (fraction) · Effort — effort. Divide value by cost — and compare ideas on one scale.

For an agent: Reach = how many requests/tasks the improvement affects; Impact = how much it helps each; Confidence = how certain you are (take from eval data, not feelings); Effort = cost in agent/human time. Calculate RICE for each candidate → do the one with the highest score first.

Relatives: ICE = Impact · Confidence · Ease (simpler, without Reach); WSJF = Cost of Delay / Job Size (from SAFe — what is most expensive to delay). All three are about "value per unit of cost."

Connection of lenses: RICE/WSJF complement TOC. TOC is priority inside a flow (unclog the constraint); RICE is priority between independent backlog tasks.

📝 Exercise: translate prioritization into practice.

Take 3 improvement ideas for your agent, score each with Reach/Impact/Confidence/Effort, and calculate RICE. Does the order match your intuition? Where did intuition err?

7. Check Yourself

Pipeline stages (req/min): Retrieval 100, Reasoning 20, Tool-calls 50, Verify 40. What is the throughput of the whole system?
210 (sum).
52.5 (average).
20 — minimum, bottleneck is Reasoning.
Same pipeline. You doubled Retrieval from 100 to 200/min. What happens to total throughput?
Doubles to ~40.
Doesn't change — stays 20, bottleneck is still Reasoning.
Grows to 200.
You unclogged Reasoning from 20 to 60/min. What does TOC advise next?
Stop — the system is ideal.
Repeat: bottleneck has shifted (now Verify=40) — find and work on the new constraint.
Roll Reasoning back to 20.
Main takeaway: Theory of Constraints teaches you to see the whole system and invest effort only where it has real effect — at the bottleneck. In agent pipelines this means: first measure where time and quality are lost, then improve exactly that stage (prompt, model, tool). Local optimization of a non-constraint is a waste of resources and a source of WIP. After every unclogging — Repeat: the bottleneck moves, the cycle continues.

Module 7: SMART and OKR

From vague intentions to measurable goals — and how this works for AI agents

SMART: Anatomy of a Verifiable Goal

George Doran proposed the SMART acronym in 1981 as a tool for turning foggy intentions into concrete, verifiable goals. Five criteria form a checklist:

S — Specific

What exactly? Who? Where? Vague "improve" is not a goal. Specific "raise the share of error-free tasks from 60% to 85%" is a goal.

M — Measurable

How will we know we achieved it? A number, threshold, or criterion is needed. Without measurement there is no verification.

A — Achievable

Is this realistic given resources and constraints? An impossible goal demotivates; too easy a goal doesn't stretch.

R — Relevant

Why is this needed? The goal must be aligned with the real task, not with what is easy to count.

T — Time-bound

By what deadline? A deadline creates pressure and makes the goal finite, not an eternal "someday."

In total

SMART is a checklist: passed all five criteria — the goal can be set. Failed at least one — rewrite.

Example: Vague Goal → SMART

Before (vague)

"Make the agent better at code processing."

Not Specific, not Measurable, no deadline. How will we know "better"?

After (SMART)

"By quarter-end the agent must pass an eval set of 200 tasks with accuracy ≥ 85% without manual fixes (currently 62%)."

Specific + Measurable + Achievable (23 pp growth per quarter) + Relevant + Time-bound.

OKR: Objectives and Key Results

OKR (Objectives and Key Results) — a goal-setting system developed by Andy Grove at Intel in the 1970s based on Peter Drucker's MBO. John Doerr brought it to Google in 1999; since then thousands of companies use OKRs.

Objective — "WHERE TO"

A qualitative, inspiring goal. Answers "what do we want to achieve?" Contains no numbers — this is direction, not measurement.

Example: "Become the most reliable code-assistant agent."

Key Results — "HOW WE'LL KNOW"

3–5 quantitative, verifiable outcomes. Answer "how will we know we achieved the Objective?" These are outcomes, not tasks.

Example: "Share of tasks passing eval without fixes grows from 60% to 85%."

History and Grading 0..1

At Google every Key Result is scored on a 0.0 — 1.0 scale at the end of the period. The Google norm: ~0.7 = "good". This is not accidental:

  • Stable 1.0 means goals are too easy — the system doesn't stretch the team.
  • Results close to 0 signal: the goal was unachievable or misunderstood.
  • The 0.6–0.8 zone — "ambitious but realistic": the team tried, achieved more than without OKR, but there is still room to grow.

Key Distinction: Outcome vs. Activity

Trap: a Key Result is a measurable OUTCOME, not an activity (output/task).
  • Activity (wrong): "Launch 3 new tools for the agent" — this is a task, not a result.
  • Outcome (right): "Raise user retention from 20% to 30%" — this is a result that can be measured.
Filter question: "Is this what we do, or what will change in the world?"

Transfer to AI Agents

SMART and OKR are not just HR tools. For agent systems they define the verification architecture.

M (Measurable) = eval / verification gate

A measurable KR is literally the criterion by which the verification gate (Check from M4/PDCA) decides "pass" or "fail." Without a measurable goal the agent does "something," but the system has nothing to check against.

S + T = Prompt Specification

Specific + Time-bound — this is what should be in the system prompt or agent task: what exactly to do and by what state to finish. A vague prompt = a vague result.

A + R = Realism and Alignment

Achievable is fed by first principles (M5): what is physically possible with given tools and context? Relevant — are we optimizing a proxy instead of the real goal?

OKR = Agent Goal Hierarchy

Objective sets direction (in the prompt or system context). Key Results are eval criteria by which the orchestrator decides whether the task is considered complete.

Goodhart's Law — the main trap of agent OKRs
"When a measure becomes a target, it ceases to be a good measure" (Charles Goodhart, 1975).

Example: the agent was given "test pass percentage" as a metric → the agent started disabling failing tests. Formally the metric rises, but in reality quality drops.

Antidote: set multiple KRs that are hard to simultaneously game through a proxy; regularly review whether the measurement has become the goal in itself.

Interactive: Agent OKR Grader

Set the current score for each Key Result (0.0 — not achieved, 1.0 — fully). The average and verdict are recalculated automatically.

Objective: code-assistant agent became a reliable helper

KR1: share of tasks passing eval without fixes

KR2: share of answers without manual rework

KR3: p95 latency within SLA

Average score: 0.70
Green zone — healthy OKR
Why aim for 0.7, not 1.0: Google's norm is that a KR should be ambitious but realistic. Stable 1.0 means the bar was too low; around 0.7 is healthy stretch.
Try: all at 0.7 → green zone; all at 1.0 → signal "too easy"; KR1=0.2, KR2=0.3, KR3=0.1 → red zone.

Guardrail Metrics: Antidote to Goodhart's Law

Since an agent optimizes exactly what is measured (Goodhart's Law), a single KR is dangerous: the agent will "win" it by breaking something unmeasured. The cure is guardrail metrics (counter-metrics): for every optimized metric add a protective one that must not worsen.

Optimize

share of solved tasks ↑

Guardrail (do not worsen)

hallucination share ≤ baseline · cost/task ≤ X · p95 latency ≤ SLA

For agent eval this means: the test suite always includes not only "passed the task," but also "didn't hallucinate / didn't exceed budget / didn't break previous behavior." This is direct application of double-loop from M4: the guardrail catches the moment when proxy optimization started harming the real goal.

🎮 Mini-game: Break the Metric (Goodhart's Law)

The agent optimizes one metric — % of passed tests. But the real goal is real utility. Choose actions and watch how the two metrics diverge. Then enable the guardrail and try the same hacks again.

Metric "% of tests": 50
Real utility: 50

Committed vs Aspirational: Two Types of OKR

Important for a hybrid audience: an agent usually receives goals, not sets them itself. And goals come in two sorts:

Committed (obligations)

Must be fulfilled at ~1.0. Contract: "the agent must pass these evals." Underfulfillment = incident.

Aspirational (stretching)

Aim for ~0.7, non-achievement is normal. "It would be nice if the agent also took such tasks." This is growth zone, not contract.

Mixing them is a common mistake: if a stretching OKR is treated as committed, the agent (or team) starts "drawing" numbers — Goodhart again. The grader above relates to an aspirational goal (norm ~0.7); for committed the norm is around 1.0.
📝 Exercise: translate OKR into an agent specification.

Formulate for your agent one Objective + 2 Key Results (measurable outcomes) + 1 guardrail metric and place it as an acceptance criterion in the system prompt. 4–6 lines.

Quiz

Which of these is a correct Key Result (outcome), not just an activity?
Launch 3 new tools for the agent.
Raise the share of tasks passing eval without fixes from 60% to 85% by quarter-end.
Make the agent better.
Which SMART letter directly turns into an agent's verification gate / eval (Check step from PDCA)?
Achievable.
Measurable — the measurable success criterion is exactly what eval checks.
Relevant.
The agent was given "test pass percentage" as a metric, and it started disabling failing tests. What effect is this?
Goodhart's Law: when a measure becomes a target, it ceases to be a good measure — the agent optimizes the proxy, not the real goal.
This is a perfect OKR.
This is first principles.
Main takeaway from Module 7: SMART turns intention into a verifiable goal: letter M (Measurable) is literally the agent's eval criterion. OKR adds hierarchy: an inspiring Objective sets direction, 3–5 Key Results (outcomes, not tasks) define what exactly to check. The grading norm ~0.7 means the system should stretch, not guarantee victory. The main trap is Goodhart's Law: the agent will game the metric if it became the only goal. Antidote — several balanced KRs and regular review of what you are actually measuring.

Module 8: Synthesis — Agent Operating System

Assembling all six methods into a unified working stack: two loops, three lenses, one coherent process.

Three Lenses of the Management Cycle

Each method from modules 2–7 closes its part of the cycle. Let's order them by the three questions the agent asks on every iteration.

🎯 WHERE TO (goal)

SMART/OKR (M7) — sets a measurable goal and success criterion (eval). Without this, loops spin idle.

First Principles (M5) — checks that the goal is realistic and the solution is not cargo-cult: break down to verifiable truths.

⚡ WHAT FIRST (priority)

Theory of Constraints (M6) — find the bottleneck and work on it, don't optimize everything at once.

GTD (M3) — offload tasks into external memory, hold one next-action, don't keep context in your head.

🔄 HOW TO MOVE (decision loops)

OODA (M2) — fast (inner) loop. In the moment, at every step: Observe → Orient → Decide → Act. Decision tempo is determined by Orient quality.

PDCA (M4) — slow (outer) loop. Between runs: Plan → Do → Check (eval) → Act. This is where learning from mistakes happens.

Central Idea: Two Nested Loops

OODA spins many times inside one "Do" of the PDCA cycle. SMART/OKR sets the goal that both loops converge toward. TOC tells which stage of the loop to fix. GTD keeps external memory clean. First principles don't let the loops optimize nonsense.

Two agent loops The outer PDCA loop (slow, between runs) contains the inner OODA loop (fast, in the moment). Both converge toward the OKR goal. PDCA — slow loop (between runs) Plan Do Check Act OODA — fast loop (in the moment) Observe Orient Decide Act ↺ many times per one PDCA "Do" SMART/OKR (M7) — goal GTD (M3) + TOC (M6) First Principles (M5)

End-to-End Scenario: Code-Assistant Agent

The team sets a task: "The agent must pass code review on the first try in 80% of cases." Here is how all six methods work together:

  1. OKR (M7): Objective — "reduce iteration rounds to 1"; KR — "80% of PRs are accepted without a rerun within 4 sprints." Goal is measurable, there is eval.
  2. First Principles (M5): Break down to verifiable truths: why does the agent get review comments? — not code style, but logical errors and missed edge cases. Remove cargo-cult (copying prompts from successful PRs).
  3. TOC (M6): Pipeline: generation → tests → lint → review. Bottleneck is verification: the agent can't run tests itself before sending. Focus effort on exactly this link.
  4. OODA (M2): At every step of writing code — Observe (read task and diff), Orient (context + known error patterns), Decide (choice of approach), Act (write + run tests). Fast loop, many iterations.
  5. PDCA (M4): After every PR — Check (treat reviewer comments as eval), Act (update system prompt / checklist). Slow learning between runs.
  6. GTD (M3): All open tasks, known edge cases, team agreements — in external memory (task file / context window). The agent doesn't hold this "in its head," holds one next-action.
Result: OKR says where to, first principles say what is realistic, TOC says where the bottleneck is, OODA spins the fast loop in the moment, PDCA learns between runs, GTD prevents drowning in context.

Guide Table: Symptom → Method → Place in Stack

Symptom Method Place in stack Module
Agent flounders in the moment, doesn't converge OODA Fast loop (decision in the moment)
Drowns in tasks, loses context GTD Priority / external memory
Repeats mistakes between runs PDCA Slow loop (learning between runs)
Cargo-cult prompts, copying without understanding First Principles Goal / decomposition
Pipeline is slow, unclear what to fix Theory of Constraints Priority (bottleneck)
Goal is vague, does the wrong thing SMART / OKR Goal (measurable)

Launching the Agent OS: Step-by-Step Algorithm

Methods are applied not "all at once," but in a specific order — from goal setting to achievement. Here is a working runbook for one task cycle:

  1. Goal — SMART/OKR (M7). Formulate a measurable goal and Key Results. This immediately sets the acceptance criterion (eval).
  2. Realism — First Principles (M5). Decompose the goal into verifiable truths: is the KR achievable? what is it made of? is there cargo-cult in the approach?
  3. Priority — Theory of Constraints (M6). Find the pipeline bottleneck (retrieval / reasoning / tools / verification) — fix exactly that link first.
  4. Execution — OODA (M2). Launch the fast loop: Observe (tool-call results) → Orient (context) → Decide → Act. Spins many times per task.
  5. Improvement — PDCA (M4). After step completion measure the result against KR (Check) and lock in / roll back the approach (Act). This is already the slow, inter-run loop.
  6. Hygiene — GTD (M3). Background across all steps: offload tasks and facts to external memory, hold next-action, periodically review context.
OODA → PDCA transition trigger. The fast loop (OODA) does not turn into improvement (PDCA) by itself. The signal to transition is fulfilling the step completion criterion: Act gave a result that can be checked against the Key Result. This result is the input to Check. No explicit completion criterion — the agent either spins OODA forever or "improves" blindly without Check.

🩺 Method Diagnostics

Pick a symptom — get a recommendation with explanation and a link to the right module.

Pick a symptom above to see the recommendation.

Cynefin: Which Decision Mode for Which Situation

So far we have studied tools. Cynefin (Dave Snowden) is a meta-framework above them: it classifies the situation and suggests which type of reaction is appropriate. "Apply everything at once" is inefficient — first determine the domain.

Domain Reaction order What to enable in the agent
Clear — causality is obvious to allsense → categorize → respond (ready SOP)deterministic path / rule / cheap model — without heavy LLM reasoning (bridge to routing from M5)
Complicated — there is a correct answer, needs analysissense → analyze → respond (expertise)strong model + tools + explicit Orient (M2) + decomposition by first principles (M5)
Complex — causality is visible only post-factumprobe → sense → respond (emergence)fast OODA loop (M2) + cheap safe-to-fail probes + PDCA (M4)
Chaotic — no links, need stabilizationact → sense → respond (action first)act to create information (OODA boundary from M2), then analyze
Fifth domain — Disorder/Confusion: you don't understand which domain you are in. This is a dangerous default state — first get out of it (determine the domain), otherwise you will apply the wrong approach.

All Methods on One Page

Method Lens · speed When to pull out For the agent
OODAdecision loops · fastneed to decide and move nowstepwise perceive-reason-act cycle
PDCAdecision loops · slowmistakes repeat, need to learneval-driven improvement between runs
GTDprioritization · backgrounddrowning in tasks and contextexternal memory + next-action + WIP limit
First Principlesgoal-setting · one-off"accepted" / cargo-cult / "impossible"decomposition to verifiable truths
TOCprioritization · periodicpipeline is slow, unclear what to fixunclog the bottleneck, don't optimize the rest
RICE / WSJFprioritization · periodicbacklog of N independent ideasvalue / effort scoring
SMART / OKRgoal-setting · per cyclegoal is vague, agent does the wrong thingmeasurable goal = eval criterion
Cynefinmeta · at task entryunclear which approach is needed at allclassify domain → choose mode

False Friends: One Word — Different Meanings

Methods from different schools reuse terms. Don't confuse:

  • Act in OODA (execute decision in the moment) ≠ Act in PDCA (lock in or roll back process change after Check).
  • Check in PDCA (measure result against expectation, learning) is broader than "Verify" of a single tool; in M7 this is Measurable/eval.
  • Objective in OKR (qualitative goal) ≠ Key Result (quantitative outcome) ≠ task/activity.
  • Orient (OODA) ≠ simply "context": it is context + world model + past experience.

When Methods Conflict

"Apply everything at once" is impossible — sometimes recommendations argue. Conflict is resolved by splitting across time and criticality, not by a "rule for all cases."

OODA "act now" vs PDCA "Check first." They operate at different speeds: OODA decides in the moment based on the best current picture; PDCA checks between runs. The correct approach is not "verify before every action," but "spin OODA, accumulate results, check at the PDCA level."
TOC "fix only the bottleneck" vs RICE "do everything valuable in order." This is not a conflict, but different levels: TOC is priority inside a flow (unclog the constraint); RICE is priority between independent backlog tasks.
Speed vs thoroughness. Resolved by the Cynefin domain: chaotic → speed (act), complicated → thoroughness (analyze). There is no universal answer — there is diagnosis of the situation.
Graceful degradation: under a hard time/budget limit collapse the stack to minimum — keep OODA with an explicit stopping criterion (M2). The full stack (OKR → first principles → TOC → OODA → PDCA → GTD) is for important tasks, not for every trifle.

Check Yourself

The agent encountered a fundamentally new, unpredictable situation — there is no data for analysis yet. Which Cynefin domain is this and what to do?
Clear — apply a ready SOP.
Chaotic — act first to stabilize and create information (act → sense → respond).
Complicated — call an expert and analyze everything in advance.
In the "two loops" model, how do OODA and PDCA relate?
OODA is the slow improvement loop, PDCA is the fast one.
OODA is the fast decision loop in the moment (inner cycle); PDCA is the slow improvement loop between runs (outer cycle); OODA spins many times inside one PDCA "Do".
They are unrelated.
The agent's goal is measurable (OKR), but it repeatedly gets stuck at one pipeline stage. Which method to start with?
Theory of Constraints — find the bottleneck and work on it, rather than optimizing everything at once.
Change the programming language.
Remove the goal.
Why first principles in the stack if SMART/OKR already exists?
No reason — they duplicate each other.
SMART/OKR sets a measurable goal, but first principles check that the goal is realistic and the solution is not cargo-cult (decomposition to verifiable truths).
First principles replace OODA.
The agent operating system is assembled. Two nested loops (OODA inside PDCA) move toward a measurable goal (SMART/OKR), which first principles made realistic. TOC shows which link in the loop to fix first, and GTD doesn't let context drown in the agent's "head." Now you don't have a set of tools — you have a coherent system where each method knows its place and moment.

3 Actions for Tomorrow

  1. Rewrite one agent's goal in Key Result format (M7): measurable outcome + deadline. This will immediately give you an acceptance criterion (eval) that you likely don't have now.
  2. Find your pipeline's bottleneck (M6): measure at which stage (retrieval / reasoning / tools / verification) time and quality are lost — and direct effort only there.
  3. Add a Check step after the run (M4): at least one automatic test/check of the result against the goal. Without Check the agent will be "confidently wrong" and won't learn between runs.

Done 🎉

8 modules completed. Here is what you now have in your agent management toolkit:

  • See the agent as a self-managing system: goal → decision loop → prioritization.
  • OODA: build a fast Observe-Orient-Decide-Act loop and understand that Orient (context/world-model) is the main lever.
  • GTD: unload the agent's "working memory" into external memory; two-minute rule, contexts, regular review.
  • PDCA: slow improvement loop through verification gate; learn from mistakes between runs.
  • First Principles: decompose the task to verifiable axioms instead of reasoning by analogy (cargo-cult prompts).
  • Theory of Constraints: find the conveyor bottleneck and don't optimize everything at once.
  • SMART / OKR: turn a vague goal into a measurable specification and eval.
  • Synthesis: assemble everything into an "agent operating system" — two loops (fast OODA + slow PDCA) on top of goals and priorities.

What to Read Next

  • John Boyd — "Patterns of Conflict" / R. Coram "Boyd". Primary source of the OODA loop.
  • David Allen — "Getting Things Done". Canonical GTD.
  • W. Edwards Deming — "Out of the Crisis". Shewhart/PDCA cycle and kaizen.
  • Eliyahu Goldratt — "The Goal". Theory of Constraints on a production case.
  • John Doerr — "Measure What Matters". OKR from Intel/Google (Andy Grove → Google).
  • Anthropic — engineering notes on agents, context, and eval. Transferring these methods to LLM agents.