AI EngineeringZero to ProductionHome·About·What’s new·Contact
Anthropic Skills · Chapter K8

AI Fluency: framework & foundations

The judgment layer over capability — Delegation, Description, Discernment, Diligence — with runnable decision aids, mapped across the course, and how a lead builds team-wide fluency.

⏱️ ~2 hours🧪 5 labs🎯 Beginner→Tech-lead

Learning objectives

  • Name the four components of AI Fluency and what each guards against.
  • Apply Delegation and Description in practice.
  • Apply Discernment: judge output critically.
  • Apply Diligence and lead fluent AI use on a team.
▶ Runnable companionCode saved under code/ak8-ai-fluency/. Python runs offline; configs are ready to use.

1 · Why a framework essential

Picture two engineers with the exact same Claude subscription. One pastes a vague request, gets a confident-looking answer, ships it, and spends the afternoon untangling a bug the model invented. The other hands off the right slice of the work, asks for it precisely, reads the result with a sceptical eye, and ships something that holds up. Same tool, same model, wildly different outcomes. The gap between them isn't capability — it's a set of learnable habits. That set has a name: AI Fluency, and a framework so you can practise it deliberately instead of picking it up by accident over months of scar tissue.

Here's the analogy that makes it click. Owning a powerful car doesn't make you a good driver — knowing when to accelerate, how to read the road, and who's responsible if you crash is what does. A frontier model is the engine; fluency is the driving. The engine keeps getting faster every few months, which means the raw capability is the least durable part of your skill set. What lasts is the judgment layer sitting on top of it: deciding what to hand over, asking well, checking the result, and owning what ships.

The common mistake — and it's the one that quietly wastes the most time — is treating AI skill as "knowing more prompts" or "using the newest model." Both are capability moves, and capability alone leaves you exactly where the first engineer was: fast to a plausible answer, slow to a correct one. Fluency reframes the whole thing as a collaboration problem, not a prompting problem. You're not operating a vending machine; you're working with a fast, fluent, occasionally-wrong partner, and the framework is how you keep that partnership honest.

Everything so far was capability — what Claude can do. AI Fluency is the judgment layer: collaborating with AI effectively, ethically, and safely. It's what separates using AI from using it well. Four parts — the "4 Ds."

Delegation what to hand off Description how to ask Discernment how to judge Diligence how to be responsible
🗺️ How to read this diagram

This is the whole lesson in one row: AI Fluency — working well with AI — is four skills, read left to right in the order you use them on any task.

  • Delegation — "what to hand off": first decide which parts of a task to give the AI and which to keep for a human.
  • Description — "how to ask": once you've delegated, communicate clearly what you want (goal, constraints, an example).
  • Discernment — "how to judge": critically check what came back — is it actually correct, not just well-written?
  • Diligence — "how to be responsible": own the outcome — transparency, privacy, and no "the AI wrote it" excuses.
  • The arrows show these build on each other: better delegation and description up front mean less to fix during discernment later.

In short: Remember them as four questions you ask on every task — What do I hand off? How do I ask? How do I judge the result? How do I stay responsible?

2 · Delegation — what to hand to AI essential

The most expensive AI mistakes happen before a single prompt is written. They happen at the moment you decide to hand a task over that you should have kept — or, just as costly, keep a task you should have handed over. Delegation is that decision, and it's the first D for a reason: get it wrong and no amount of clever prompting or careful checking saves you. You're routing the work to the right worker, and the AI is only one of the workers on your team.

Think of how a good manager delegates to a talented but junior colleague. You'd happily hand them a well-scoped, reversible task — "draft the release notes from these commits" — because if it's off, you'll spot it and it's cheap to fix. You would not hand them the call on whether to lay someone off, no matter how articulate they are, because that's a judgment you must own and its consequences don't undo. AI is that colleague dialled up: astonishingly fast, tireless on tedium, and completely willing to be confidently wrong. The four qualities that make a task safe to delegate are exactly the ones you'd weigh for that junior: is it well-specified (clear enough to do right), verifiable (you can tell if it's wrong), reversible (a mistake is cheap to undo), and tedious (dull work AI shines at)?

The common mistake here is the opposite of what people fear. Everyone worries about over-delegating — handing AI something dangerous. In practice the more frequent, quieter loss is under-delegating: doing boring, well-specified, verifiable work by hand out of habit while your genuine judgment calls get rushed because you spent your energy on the busywork. Delegation isn't an all-or-nothing switch, either; the sharpest move is often to split a task — let AI draft, generate options, or handle the mechanical 80%, and reserve the 20% that's actually a decision for yourself. This is the "should this be an agent?" test from Ch 4, generalized to every piece of work that crosses your desk.

Decide what to delegate and what to keep. Delegate: well-specified, verifiable, or tedious tasks. Keep: judgment calls, work you can't verify, and anything where being wrong is expensive and irreversible — the "should this be an agent?" test (Ch 4), generalized.

rate the task well-specified? verifiable? reversible? tedious? Delegationroute the work Hand to AIhigh on all four Keep humanjudgment / costly splitting a task is allowed: AI drafts the 80%, you own the 20% Delegation is a routing decision, not an on/off switch. Four qualities — well-specified, verifiable, reversible, tedious — push a task toward AI; a genuine judgment call or an expensive-if-wrong task stays human.
🗺️ How to read this diagram

Read it left to right: the task is rated on the left, flows through the Delegation decision in the middle, and comes out one of two doors on the right.

  • The four boxes on the left are the qualities you weigh: is the task well-specified, verifiable, reversible, and tedious? These are the same four the delegate.py aid below scores.
  • The centre Delegation box is the router — it takes those ratings and points the work somewhere.
  • The green "Hand to AI" arrow (solid) is taken when the task scores high on all four; the grey "Keep human" arrow is for genuine judgment calls or anything expensive and irreversible if wrong.
  • The note at the bottom is the key nuance: delegation isn't all-or-nothing — you can split a task, letting AI handle the mechanical 80% while you keep the 20% that is actually a decision.

In short: Score the four qualities, then route: high-on-all-four → AI; judgment or costly-if-wrong → you. Splitting the task is often the sharpest move.

Example code for learning — review, test, and adapt it before running against real or production systems. Commands can create, change, or delete resources. See the Terms & Disclaimer.
Python · a delegation decision aid (runs)
delegate.pydef delegate_score(specified, verifiable, reversible, tedious):
    """Higher = safer to delegate. Each input 1-5."""
    score = specified + verifiable + reversible + tedious
    if score >= 16: return score, "delegate freely"
    if score >= 11: return score, "delegate, but verify carefully"
    return score, "keep human — or make it more specified/verifiable first"

print(delegate_score(5, 5, 5, 4))    # boilerplate refactor
print(delegate_score(2, 2, 1, 3))    # a fuzzy, irreversible call
(19, 'delegate freely')
(8, 'keep human — or make it more specified/verifiable first')
▶ How this works

This little program turns the Delegation question — "is this task safe to hand to AI?" — into a number. You rate a task on four qualities, and it tells you whether to delegate freely, delegate with checking, or keep it human. It's a decision aid, not magic; the value is in forcing you to think about the four qualities.

  1. def delegate_score(specified, verifiable, reversible, tedious): defines a reusable recipe (a function). You pass in four scores, each rated 1 to 5: is the task well specified, can you verify the result, is it reversible if wrong, and is it tedious (boring work AI is great at).
  2. score = specified + verifiable + reversible + tedious simply adds the four ratings into a total from 4 (worst to delegate) to 20 (safest).
  3. The if score >= 16: return ... lines are thresholds: 16+ means "delegate freely"; 11+ means "delegate, but verify carefully"; anything lower falls through to "keep human". Only one branch runs. return hands back both the number and the verdict.
  4. The two print(...) lines call the function on two example tasks — a boilerplate refactor (high on every quality) and a fuzzy, irreversible call (low on every quality) — and print the results.

What the output means: You get two lines. (19, 'delegate freely') — the boilerplate scored 19, so hand it off. (8, 'keep human ...') — the fuzzy task scored only 8, so a person should own it.

Try this: Change the second call to delegate_score(4, 4, 2, 3) (score 13) and re-run — the verdict flips to "delegate, but verify carefully". That middle zone is where most real work lives.

3 · Description — how to ask essential

Most "the AI gave me garbage" complaints are, on inspection, "I asked for garbage." Not rudely — just vaguely. You typed "write about our product," the model had no way to know your audience, your length, or your red lines, so it guessed, and its guess wasn't yours. Description is the skill of leaving fewer things to guess. Once you've decided what to delegate, this is how you ask for it — and it's the cheapest lever you have, because every ambiguity you resolve up front is an error you don't have to catch later.

Here's a way to feel it. Imagine briefing a brilliant freelancer you'll never speak to again — they do exactly what your written brief says and nothing more, then vanish. A one-line brief ("write about our product") gets you a generic essay. A brief that names the audience, the format, the constraints, and how you'll judge success gets you something you can almost ship. The model is that freelancer: it can't read your mind, your calendar, or your company's unwritten norms. Everything it needs has to be in the message. Description is you thinking, on the model's behalf, "what does someone with zero context need to know to get this right the first time?"

The mistake beginners make is confusing description with length — piling on words and hoping volume equals clarity. It doesn't. A precise description narrows the space of acceptable answers down toward the one you actually want; a long, rambling one just adds noise the model has to guess its way through. Four levers do the real work: the goal (and who the output is for), the constraints and non-goals ("don't use marketing superlatives"), an example when format matters, and the success criteria so the model optimizes for the right target. This is the prompt- and context-engineering craft from PE1 and PE2, reframed as a fluency skill — and the payoff is direct: clearer description now means far less discernment needed later.

Description is communicating intent: context, constraints, examples, and the shape of a good answer — the craft from PE1/PE2, reframed as a fluency skill. Clearer description → less discernment needed later.

vague ask → wide space of answers ? ? ? ? "write about our product" four levers narrow it goal + who constraints example success test the answer precise, not just longer Description shrinks the space of acceptable answers. A one-line ask leaves the model guessing among many outputs; goal, constraints, an example, and a success test collapse that space toward the one you actually want.
🗺️ How to read this diagram

Read it left to right: the wide red box on the left is everything the model might reasonably produce from a vague ask; the levers in the middle funnel that down to the single green target on the right.

  • The red box full of "?" marks is the problem: "write about our product" is satisfied by countless different outputs, so the model guesses — and its guess probably isn't yours.
  • The four small boxes are the levers that do the real work: the goal (and who it's for), the constraints and non-goals, an example when format matters, and how you'll judge success.
  • The arrows converging on the green box show those levers narrowing the space down to the answer you actually want — the target.
  • The payoff note — precise, not just longer — is the trap to avoid: piling on words adds noise; precision is what collapses the space.

In short: Every lever you add rules out wrong-but-plausible answers. Description is narrowing the target, not writing more.

A good description includes

  1. The goal and who the output is for.
  2. Constraints and non-goals ("don't do X").
  3. An example of a good answer when format matters.
  4. How you'll judge success — so the model optimizes for the right thing.

4 · Discernment — how to judge intermediate

This is the D that will save your career, and the one people skip. A model's answer arrives clean, structured, and self-assured — no hedging, no visible seams — and that polish is precisely the trap. Human writing usually signals its own uncertainty: we hesitate, we mumble, we say "I think." A model doesn't. It states a hallucinated statistic with the same crisp confidence it states a true one. Discernment is the deliberate habit of judging the content — is it correct? complete? appropriate? — instead of being lulled by the form.

The analogy to hold onto: fluency is a con artist's best tool. A polished forger and a genuine certificate look identical until you check the paper, the signature, the provenance. A well-written wrong answer and a well-written right answer are indistinguishable on the surface — the only way to tell them apart is to do the checks. That's why discernment is active, never passive. You don't "get a feel" for whether an answer is right; you verify facts against a real source, you run the code, you probe the edge cases, you follow the citations to see if they actually say what the model claims. Reading it over and nodding is not discernment. It's the absence of it.

The common failure has a shape worth naming: the better the model gets, the more discernment matters, not less — which is the opposite of most people's instinct. As outputs grow more fluent, more of the wrong ones slip past a casual read, so the cost of skipping the checks rises exactly as the temptation to skip them does. "It reads well" is not evidence of correctness; it's the thing you have to consciously set aside. This is why the whole course insists you verify, and why the checklist scorer below turns "did I actually check?" into a number instead of a vibe.

Discernment is critically evaluating output: correct? complete? appropriate? Models are fluent and confident even when wrong, so discernment is active — check facts, test code, notice when a polished answer is subtly off. This is why the course insists you verify.

on the surface: identical polish fluent answer A fluent answer B active checksfacts · run codeedges · sources correct confidentlywrong reading it over ≠ discernment the checks are what separate them Fluency is not correctness. Two answers can be equally polished; only deliberate checks — verify facts, run the code, probe edges, follow sources — tell the correct one from the confidently-wrong one.
🗺️ How to read this diagram

Read it left to right: two answers that look the same enter the checks in the middle and come out sorted into "correct" and "confidently wrong."

  • The two blue boxes on the left are answers A and B — deliberately identical in polish, because a model states a hallucination with the same crisp confidence as a fact.
  • The centre amber box is the active work of discernment: check the facts against a real source, run the code, probe the edge cases, follow the citations.
  • The arrows fan out to the green "correct" box and the red "confidently wrong" box — the checks are the only thing that separates them, which is why they cross rather than run straight.
  • The payoff note — reading it over ≠ discernment — is the trap: nodding at a polished answer is the absence of discernment, not the practice of it.

In short: Polish tells you nothing. Do the checks, or you can't tell the right answer from the wrong one.

Python · a discernment checklist scorer (runs)
discernment.pydef discernment_pass(output):
    checks = {
        "facts_checked":   output.get("facts_checked", False),
        "code_ran":        output.get("code_ran", False),
        "edge_cases":      output.get("edge_cases_considered", False),
        "sources_valid":   output.get("sources_valid", False),
    }
    passed = sum(checks.values())
    return passed >= 3, [k for k, v in checks.items() if not v]

ok, gaps = discernment_pass({"facts_checked": True, "code_ran": True, "sources_valid": True})
print("trust it?", ok, "| still verify:", gaps)
trust it? True | still verify: ['edge_cases']
▶ How this works

This aid supports Discernment — judging whether an AI's answer is trustworthy. It takes a record of which verification steps you actually did and reports whether you've done enough, plus exactly which checks are still missing. The point of the lesson: a fluent answer feels true, so you check it deliberately instead of trusting the polish.

  1. output is a dictionary — a set of labelled yes/no facts about what you verified. output.get("facts_checked", False) reads one fact and safely defaults to False ("not done") if that fact was never recorded, so a missing key never crashes.
  2. checks collects the four verification questions: were facts checked, did the code actually run, were edge cases considered, and are the sources valid.
  3. passed = sum(checks.values()) counts how many are True (Python treats True as 1). return passed >= 3, [k for k, v in checks.items() if not v] returns two things: whether at least 3 checks passed, and a list of the checks that failed (that [... if not v] is a list comprehension — "keep each name k whose value v is False").
  4. The call passes a record with three checks done (facts, code, sources) but leaves out edge cases, then prints the verdict and the remaining gap.

What the output means: trust it? True | still verify: ['edge_cases'] — 3 of 4 checks passed so it clears the bar, but it honestly flags that edge cases were never considered. "Good enough" and "still has a gap" can both be true at once.

Try this: Flip "code_ran" to False (remove it from the call) so only 2 checks pass, and watch trust it? become False — below the 3-of-4 threshold.

Fluency is not correctnessA well-written answer feels true. Discernment is the deliberate habit of separating "sounds right" from "is right" — the most valuable skill as outputs get more polished.

5 · Diligence — how to be responsible advanced

Somewhere, right now, someone is pasting a customer's private data into a prompt to "just quickly summarize it." That single reflex — the one that feels harmless because the tool is so easy — is what Diligence exists to stop. The first three Ds are about getting a good output; Diligence is about the responsibility that rides along with using AI at all: what you feed it, what you disclose about it, and who answers for what it produces. It's the last D because it wraps the other three — you can delegate, describe, and discern perfectly and still cause real harm if you were careless with privacy, attribution, or accountability.

The analogy is a licensed professional signing off on work. When an engineer stamps a drawing or a doctor signs a chart, they take personal responsibility for it regardless of who or what drafted it — an intern, a template, a piece of software. Their signature is the accountability. Using AI is the same: the moment you ship AI-assisted work under your name, you've signed it. That reframes the whole activity. Diligence is transparency about what was AI-assisted where context requires it, privacy (no secrets or PII in prompts — the model's provider may log them), IP and attribution so you're not passing off or misusing someone else's work, and above all owning the outcome, because the AI never will.

The mistake — and it's a seductive one — is treating AI as a place to launder responsibility: "the model said so," "the AI wrote it," as if that transfers the blame somewhere. It doesn't, and it can't. There is no one on the other end to hold accountable; a wrong number, a leaked secret, or a biased decision is yours the instant you act on it. That's not a burden the framework adds — it's the reality it makes you face on purpose, before it faces you. This is where AI Fluency connects directly to security and governance: the personal habit of diligence is the seed of every org-level policy that keeps AI use safe at scale.

Diligence is using AI responsibly: transparency about what was AI-assisted, privacy (no secrets/PII in prompts), IP/attribution, and owning the outcome — the AI doesn't. Connects to security and governance.

AI-assisteddraft four diligence gates transparency privacy · no PII IP / attribution own the outcome Human signsaccountable, every time "the AI wrote it" ✗ Signing off means owning it. AI-assisted work only ships after it clears four gates — transparency, privacy, IP/attribution, and accountability — and the human who signs owns the result regardless of what drafted it.
🗺️ How to read this diagram

Read it left to right: an AI-assisted draft passes through four gates before a human puts their name on it.

  • The blue box on the left is the raw AI-assisted draft — good output from the first three Ds, but not yet ready to ship.
  • The four middle boxes are the diligence gates: was AI use disclosed where context requires (transparency), were secrets and PII kept out of prompts (privacy), is attribution honest (IP), and is someone owning it (accountability).
  • The green "Human signs" box is the payoff: like a professional stamping a drawing, signing off is taking responsibility — regardless of who or what drafted the work.
  • The red note — "the AI wrote it" ✗ — is the mistake the whole D exists to block: there is no one on the other end to absorb the blame.

In short: Clear the four gates, then a named human signs. Accountability can't be delegated to the model.

You own the output"The AI wrote it" is never a defense for a wrong number, a leaked secret, or a biased decision. Diligence means the human takes responsibility for what ships — every time.

6 · Professional — the 4 Ds across the course professional

Here's the reassuring secret about this chapter: you've been practising the 4 Ds for the entire course without the labels. Every time you asked "should this be an agent or a workflow?", that was Delegation. Every prompt you tightened was Description. Every eval you wrote was Discernment. Every guardrail was Diligence. This section is the map that shows the framework isn't a new topic bolted on at the end — it's the spine that was running through everything, finally named.

Why bother mapping it? Because a framework you can't locate in your real work stays a poster on the wall. Naming which D each part of the course was training turns four abstract words into a diagnostic you can actually run: when a project goes sideways, you can ask "which D broke?" A shipped feature that hallucinated a number is a Discernment failure; a prompt everyone rewrites from scratch is a missing Description asset; a leaked key is Diligence. The table below is that lookup — each D pointed at the concrete sections where you already built the muscle, so you can go back and deepen the weak one instead of vaguely resolving to "use AI better." Read it as a self-audit, not a summary.

symptom in a project agent where a workflow fit prompt rewritten every time shipped a hallucinated number a key leaked into a prompt which D broke? Delegation · Ch4 / AK5 Description · PE1–2 / AK1 Discernment · Ch5 / TQ Diligence · xt1 / O4 The 4 Ds are a diagnostic, not a poster. When a project goes sideways, the symptom points at exactly one D — and the D points at the course sections where you already built that muscle.
🗺️ How to read this diagram

Read it left to right: a real failure you'd see in a project (left) maps by arrow to the one D that broke and where to go fix it (right).

  • The red boxes on the left are symptoms — the observable thing that went wrong, like a hallucinated number reaching production or a prompt everyone rewrites from scratch.
  • Each arrow connects a symptom to the single D that explains it: an agent built where a workflow fit is a Delegation miss; a leaked key is a Diligence miss.
  • The coloured boxes on the right name the D and the course sections that trained it — the same mapping as the table below, so you go deepen the weak muscle instead of vaguely resolving to "use AI better."

In short: When something breaks, ask "which D?" — the answer tells you both the cause and the chapter to revisit.

DMaps toCourse sections
Delegationagent-vs-workflow decisionCh 4, AK5
Descriptionprompt & context engineeringPE1–PE2, AK1
Discernmentevaluation + verifyCh 5, TQ, AK1
Diligencesecurity, guardrails, governancext1, W6/W14, O4

7 · Tech-lead — build fluency on the team tech-lead

One fluent engineer is a nice story; a fluent team is a competitive advantage — and it doesn't happen by hoping. The trap every lead falls into is assuming fluency spreads on its own: "my best people do this, surely it'll rub off." It won't. Skills that live only in one person's head are tribal knowledge, and tribal knowledge leaves when that person does and never reaches the new hire at all. A lead's real job here is to turn four personal habits into four shared artifacts the whole team inherits by default.

Think of it like safety culture in a good engineering shop. Nobody's competence keeps the factory safe day to day — the checklists, the guardrails, the "stop the line" norm, and the shared training do. Individual skill is fragile and uneven; a well-designed system makes the safe thing the default thing, for everyone, including the tired and the junior. AI fluency scales the same way, and each D has a natural artifact. Delegation becomes written guidelines — a shared "AI-appropriate vs human-only" task list, reviewed as capability changes. Description becomes a prompt and Skill library so good context, format, and constraints are the default rather than rediscovered every time. Discernment becomes a verification gate — a review rubric applied before merge. Diligence becomes a responsible-use policy baked into the definition of "done."

The mistake to avoid is thinking the artifacts alone are enough. A rubric no one internalizes is theatre. The other half is coaching: pairing on real tasks, and making "why did you accept this output?" a normal, non-accusatory review question — so discernment becomes a habit the team can see itself practising, not a form to fill in. That's how fluency travels from an individual habit to a team culture: shared assets set the floor, and coaching raises the ceiling. The maturity scorer below turns this into something a lead can actually track quarter over quarter.

A lead makes fluent AI use the norm: delegation guidelines (what the team should/shouldn't hand to AI), shared prompt/Skill libraries (Description), verification gates (Discernment), and responsible-use policy (Diligence). Fluency scales from individual habit to team culture.

one person's habit Delegation habit Description habit Discernment habit Diligence habit shared team artifact task guidelines prompt / Skill library review rubric / gate responsible-use policy + coaching raises the ceiling: pair, and ask "why did you accept this?" Fluency scales through artifacts, not hope. A lead turns each personal D-habit into a shared asset the whole team inherits by default; coaching then turns the asset into a practised habit.
🗺️ How to read this diagram

Read it left to right: each D that lived in one person's head (left) becomes a durable team asset everyone inherits (right).

  • The boxes on the left are the four Ds as individual habits — fragile, uneven, and gone when that person leaves.
  • Each arrow converts a habit into its natural artifact on the right: Delegation → a shared "AI-appropriate vs human-only" task list; Description → a prompt/Skill library; Discernment → a review rubric applied before merge; Diligence → a responsible-use policy in the definition of "done."
  • The green boxes on the right are what makes the safe thing the default thing for everyone, including the tired and the junior — the same four the fluency.py aid below scores.
  • The bottom note is the other half: artifacts set the floor, but coaching — pairing and asking "why did you accept this output?" — raises the ceiling.

In short: Turn each D into a list, a library, a rubric, and a policy — then coach against them. Shared assets set the floor; coaching raises the ceiling.

Python · assess a team's AI fluency (runs)
fluency.pydef fluency_maturity(team):
    dims = {
        "delegation_guidelines": team.get("delegation_guidelines", False),
        "shared_prompt_library":  team.get("shared_prompt_library", False),
        "verification_required":  team.get("verification_required", False),
        "responsible_use_policy": team.get("responsible_use_policy", False),
    }
    score = sum(dims.values())
    level = ["ad-hoc","emerging","practicing","fluent"][score] if score < 4 else "fluent"
    return level, [k for k, v in dims.items() if not v]

lvl, gaps = fluency_maturity({"delegation_guidelines": True, "verification_required": True})
print("team fluency:", lvl, "| build next:", gaps)
team fluency: practicing | build next: ['shared_prompt_library', 'responsible_use_policy']
▶ How this works

The final aid scales fluency from one person to a whole team — the tech-lead view. It checks whether the team has the four practices that make AI use dependable, then names a maturity level and what to build next. Same shape as the other two aids: read some yes/no facts, score them, return a verdict plus the gaps.

  1. team is again a dictionary of yes/no facts. dims gathers the four team practices: written delegation guidelines, a shared prompt library (Description), a verification requirement (Discernment), and a responsible-use policy (Diligence) — the four Ds turned into team habits.
  2. score = sum(dims.values()) counts how many of the four practices exist (0 to 4).
  3. level = ["ad-hoc","emerging","practicing","fluent"][score] if score < 4 else "fluent" uses the score as an index into a list of level names — score 0 gives "ad-hoc", score 2 gives "practicing". The if score < 4 else "fluent" guard avoids reading past the end of the list when the score is a full 4.
  4. The call passes a team that has guidelines and verification but is missing the other two, then prints the level and the list of practices still to build.

What the output means: team fluency: practicing | build next: ['shared_prompt_library', 'responsible_use_policy'] — 2 of 4 practices in place puts the team at "practicing", and it names the two missing pieces to work on next.

Try this: Set all four practices to True in the call and re-run — the level becomes "fluent" and build next is an empty list []. That empty list is the goal: nothing left to add.

Why the tech-lead tiers matteredEvery section's tech-lead rung gave you real leadership material — standards, verification gates, shared libraries. Those are the practices that make a team AI-fluent. The course didn't just teach skills; it gave you the framework to lead their use.

Exercise AK8.1 — Score a task and a team

Context: Running the full 4-D loop on one real task — and then on a team — is what turns the framework from vocabulary into practice: delegate deliberately, describe precisely, discern honestly, and own the outcome.

Your task: Take a task you'd give an AI: run delegate.py on it, write a description with all four elements, list your discernment checks, name the diligence obligations, then score a team with fluency.py and pick the dimension to build next.

Requirements:

  • Run delegate.py on a real candidate task and record the verdict
  • Write a description with all four elements (context, format, constraints — plus the task itself)
  • List the discernment checks you'd apply to the output
  • Name the diligence obligations for shipping it
  • Score a real or hypothetical team with fluency.py and pick the weakest dimension to build next

💡 Hint: Carry one concrete task through all four Ds before zooming out to the team score — the team gap is easier to name once you've felt the individual loop.

🪜 Practice ladder beginner → industry

Six graded exercises, easy to real-world. Try each before opening its solution.

Exercise 1 · Name the 4 DsBeginner

Context: AI fluency rests on four practices — Delegation, Description, Discernment, Diligence — that together cover the full arc of working with AI: decide what to hand over, ask well, judge the result, and own the outcome.

Your task: Map each of the 4 Ds to the question it answers.

Requirements:

  • Delegation answers WHAT to hand to AI (and what to keep)
  • Description answers HOW to ask — context, format, constraints
  • Discernment answers HOW to judge the output — is it correct and good
  • Diligence answers HOW to stay responsible — sourcing, ethics, review
  • Frame them as an ongoing checklist, not a one-time setup

💡 Hint: Each D is a question, not a step — pair the practice with the question it forces you to ask.

Show solution

Four practices, four questions (pure recall + framing):

def the_4ds(d):
    return {
        "Delegation":  "WHAT should I hand to AI (and what should I keep)?",
        "Description": "HOW do I ask — what context, format, constraints?",
        "Discernment": "HOW do I judge the output — is it correct and good?",
        "Diligence":   "HOW do I stay responsible — sourcing, ethics, review?",
    }[d]

for d in ("Delegation", "Description", "Discernment", "Diligence"):
    print(d, "->", the_4ds(d))

The 4 Ds cover the full arc of working with AI: decide what to hand over, ask well, judge the result, and own the outcome. They're a checklist for using AI well, not a one-time setup.

Exercise 2 · Delegation — what to hand overIntermediate

Context: Delegation is a judgement call on capability, recoverability, and stakes — hand over work AI does well where a mistake is catchable, and keep the decisions you must own.

Your task: Write the rule for what to hand to AI versus keep, and apply it to three tasks.

Requirements:

  • The rule takes: AI-capable, error-recoverable, and high-stakes-judgement
  • High-stakes judgement → keep (the decision is yours to own)
  • AI-capable + errors recoverable → delegate
  • Otherwise keep (poor AI fit or errors too costly)
  • Apply it to three concrete example tasks with differing answers

💡 Hint: Stakes gate everything: even a capable, recoverable task is kept when the judgement is yours to own.

Show solution

Delegate where AI is capable and errors are catchable; keep the high-stakes judgement:

def delegate(ai_capable, error_recoverable, high_stakes_judgement):
    if high_stakes_judgement:
        return "KEEP — the decision is yours to own"
    if ai_capable and error_recoverable:
        return "DELEGATE — capable task, mistakes are catchable"
    return "KEEP — either not a good AI fit or errors too costly"

print(delegate(True, True, False))    # draft the first version of a doc -> DELEGATE
print(delegate(True, True, True))     # decide whether to fire someone   -> KEEP
print(delegate(False, True, False))   # task AI is bad at                -> KEEP

Delegation is a judgement call on capability, recoverability, and stakes — hand over work AI does well where a mistake is catchable, and keep the decisions you must own. Delegating well is a skill, not an all-or-nothing switch.

Exercise 3 · Description — ask wellAdvanced

Context: Most "bad AI output" is really an under-described request — adding context, format, and constraints collapses the space of acceptable answers down to the one you actually want.

Your task: Turn a weak request into a strong one by adding context, format, and constraints, and name the three levers.

Requirements:

  • Start from a vague request and rewrite it
  • Add context: who the audience is and why
  • Add format: length and structure
  • Add constraint: what to avoid and what to use
  • Name the three levers explicitly and show the strong version

💡 Hint: Layer the three levers onto the weak ask one at a time — context, then format, then constraints.

Show solution

Three levers turn a vague ask into a precise one:

Weak:   "Write about our product."

Strong: [Context]   "For a technical audience evaluating our API..."
        [Format]    "...write a 150-word overview with a 3-bullet feature list..."
        [Constraint]"...no marketing superlatives; use our real endpoint names."

def describe(context, fmt, constraint):
    return f"{context} {fmt} {constraint}"

Adding context (who/why), format (length, structure), and constraints (what to avoid, what to use) collapses the space of acceptable answers to the one you actually want. Most "bad AI output" is really an under-described request.

Exercise 4 · Discernment — judge the outputExpert

Context: Fluent output can be confidently wrong, so discernment checks accuracy and grounding, not just fluency — "it reads well" is the trap a real rubric is built to catch.

Your task: Write a rubric that scores an AI output on the dimensions that matter, not just "looks fine".

Requirements:

  • Score accuracy — were the claims actually verified
  • Score grounding — can the claims be traced to sources
  • Score completeness — is anything important missing from the ask
  • Score appropriateness — right tone and format for the audience
  • Produce a verdict (accept vs revise) and name which dimensions failed
  • Make clear fluency alone is not one of the passing criteria

💡 Hint: Score the axes that separate plausible from correct — verified, traceable, complete, fit — and treat "reads well" as no signal.

Show solution

Score the axes that separate plausible from correct:

def discern(o):
    checks = {
        "accurate":   o.get("claims_verified"),      # did you check the facts?
        "grounded":   o.get("sources_cited"),         # can claims be traced?
        "complete":   o.get("covers_the_ask"),        # nothing important missing?
        "appropriate":o.get("right_tone_and_format"), # fits the audience/format?
    }
    failed = [k for k, ok in checks.items() if not ok]
    return "ACCEPT" if not failed else "REVISE -> " + ", ".join(failed)

print(discern({"claims_verified":True,"sources_cited":True,
               "covers_the_ask":True,"right_tone_and_format":True}))   # ACCEPT
print(discern({"claims_verified":False,"sources_cited":False,
               "covers_the_ask":True,"right_tone_and_format":True}))   # REVISE -> ...

Fluent output can be confidently wrong, so discernment checks accuracy and grounding, not just fluency — verify the claims, trace the sources, confirm completeness and fit. "It reads well" is the trap; the rubric forces the checks that catch a plausible-but-wrong answer.

Exercise 5 · Diligence — be responsibleProfessional

Context: Diligence is where accountability lives: the person shipping AI-assisted work owns it regardless of how it was produced, so verification, data-handling, fairness, disclosure, and human review are the practices that keep it responsible.

Your task: Write the pre-ship checklist for shipping AI-assisted work.

Requirements:

  • Facts verified against a real source, not the model's assertion
  • No secrets or private data placed in prompts or outputs
  • A bias / fairness sanity-check for anything affecting people
  • Disclosure where context or policy requires it
  • A human reviewed and takes responsibility for the result
  • Provenance noted so the work can be re-checked later

💡 Hint: Each item is an accountability practice — verify, protect data, check fairness, disclose, and keep a named human owner.

Show solution

Own the outcome: verify, disclose where required, and keep a human in the loop:

Diligence checklist (before shipping AI-assisted work):
  [ ] Facts verified against a real source, not the model's assertion.
  [ ] No secrets or private data placed in prompts or outputs.
  [ ] Bias / fairness sanity-check for anything affecting people.
  [ ] Disclosure where your context/policy requires it.
  [ ] A human reviewed and takes responsibility for the result.
  [ ] Provenance noted so the work can be re-checked later.

Diligence is where accountability lives: the person shipping the work owns it regardless of how it was produced. Verification, data-handling, fairness, disclosure, and human review are the practices that keep AI assistance responsible rather than a way to launder unchecked output.

Exercise 6 · Build fluency on the team (tech-lead)Industry scenario

Context: The 4 Ds scale on a team only when each becomes a concrete guardrail — a delegation list, a prompt library, a review rubric, diligence baked into "done" — so fluency travels through shared assets and coaching, not tribal knowledge.

Your task: As tech lead, turn the 4 Ds into team practice: write a one-page policy that says which D each guardrail enforces and how you'd coach it.

Requirements:

  • Delegation → a shared "AI-appropriate vs human-only" task list, reviewed as capability changes
  • Description → a prompt/template library so good context+format+constraints are the default
  • Discernment → a review rubric (accuracy, grounding, completeness, fit) applied before merge
  • Diligence → verification + disclosure + human-owner in the definition of done; secrets never enter prompts
  • Coaching: pair on real tasks and make "why did you accept this output?" a normal review question

💡 Hint: Turn each D into an artifact a teammate can pick up — a list, a library, a rubric, a definition-of-done rule.

Show solution

Map each team guardrail to the D it operationalizes:

Team AI-fluency policy
  Delegation:  a shared list of "AI-appropriate" vs "human-only" task classes;
               review it quarterly as capability changes.
  Description: prompt/template library so good context+format+constraints
               are the default, not rediscovered each time.
  Discernment: a review rubric (accuracy, grounding, completeness, fit)
               applied to AI-assisted deliverables before merge.
  Diligence:   verification + disclosure + human-owner requirements in the
               definition of done; secrets never enter prompts.

  Coaching: pair on real tasks, review against the rubric, and treat
            "why did you accept this output?" as a normal review question.

The 4 Ds scale on a team when each becomes a concrete guardrail: a delegation list, a prompt library, a review rubric, and diligence baked into "done." Fluency then travels through shared assets and coaching, not tribal knowledge — everyone inherits the same good defaults.

✓ Checkpoint — you can move on when you can…

  • Name the four Ds and what each guards against.
  • Apply delegation + description in practice.
  • Judge output with active discernment.
  • Uphold diligence and lead team fluency.

Knowledge check check yourself

✓ Knowledge check

In the Delegation dimension of AI fluency, which four properties of a task make it safe to hand to AI, and what kind of task should stay human?

Show answer
A task is safer to delegate when it is well-specified, verifiable, reversible, and tedious. Work that is a genuine judgment call, unverifiable, or has irreversible/expensive consequences if wrong should stay with a human, even if AI could produce a fluent-sounding answer.
✓ Knowledge check

Why is Discernment described as deliberate rather than passive, and why can't "the AI wrote it" excuse a bad output under Diligence?

Show answer
Models are fluent and confident even when wrong, so you must actively check facts, run code, consider edge cases, and verify sources rather than trust polish. Under Diligence the human owns the outcome, so a wrong number, leaked secret, or biased decision is your responsibility regardless of which tool produced it.
© 2026 studybydoing.in · AI Engineering: Zero to Production · All rights reserved. · About · Privacy Policy · Terms · Contact
Educational content, provided as-is and without warranty. Code samples are examples — review, test, and adapt them before using in production. See the Terms of Use & Disclaimer. Use at your own risk.
© studybydoing.in