AI Guides · Natthan.AI Lab

AI agent failure modes: five shapes from the lab

What you'll be able to do

After this page you can name the shape of a failure from Lab Notes and deliberately reproduce it on your own seat to prove that its check catches it.

Sort the lab's published agent failures into the five shapes below before fixing the symptom. Run a seeded failure, a fault you introduce deliberately, from the matching account and watch its check fire before trusting that check on your seat.

Last updated

1. False done

Name a completion report with no checkable result “false done,” using the lab's false status reports. Require a receipt, evidence from the actual result that supports the completion claim, before closing that work.

Seed the unwired-check failure on a test copy of your seat: leave a safety check disconnected and submit an “armed” report. Keep the action it guards in the test copy so the exercise can expose the missing check without releasing real work.

Demand an observed stop from the claimed safety check before accepting the report. Use confident wrongness for the report's certainty and hallucination for an invented claim; neither term supplies the missing receipt.

2. Green but empty

Name a passing check that misses the visitor's result “green but empty,” using the 463 passing tests over a blank site. Keep jagged intelligence, uneven capability across tasks, in mind when a good code result tempts you to skip the browser check.

Seed the blank-site failure on a staging copy: apply a content-security-policy rule that blocks the app from rendering, as that account describes. Load the affected URL in a browser with that rule active and fail the check when no page appears.

Save the rendered result with the policy enabled and again with it removed. Compare those observations before changing the test suite; the account's same-code comparison isolated the security setting.

3. Half the record

Name an audience tool that reads only the store “half the record,” following the 250-reachable audience account. Check which sources the tool actually read before calling it context loss, information unavailable or overlooked in the model's input.

Seed the missing-source failure in a dry run of your audience seat: withhold legacy email consent from the worker while keeping it available to a separate checker. Give that checker the required source list before the worker returns a count.

Name the ecommerce platform and legacy email platform in the reconciliation before accepting its audience. Apply the artifact's merged-consent rule once both are present: either may establish opt-in, but an explicit unsubscribe wins. Hold conflicting contacts out of the send.

4. Silence mistaken for refusal

Name a timeout with no evidence of delivery “silence mistaken for refusal,” using the twelve-hour notifier outage. Keep the bus, the shared message log, available to read without its notifier.

Seed that outage on a test seat by stopping only its notifier and posting a test request to the bus. Leave message storage running so you can check the same storage-and-notification split that preserved the lab's backlog.

Set a watchdog, a check for a missing expected check-in, against the notifier's schedule. Require it to flag the silent notifier before a waiting request is called refused. Read the stored request directly, following the account's recovery, before restarting notification.

5. The rule that was only a prompt

Name a written limit that cannot stop an action “the rule that was only a prompt,” using the constitution account. Wire a gate, a check that can block the action, where your seat closes work.

Seed the constitution's “done means proven” violation in a test task: ask the seat to close it with no live receipt. Attempt the same closure directly so you learn whether the action itself enforces the rule.

Reject the closure when the receipt is missing, even if the prompt permits an exception. Use instruction drift, the loss of earlier constraints during a conversation, to name the model risk; use the stopped action to prove enforcement. Keep written rules visibly unwired until this drill passes, following the constitution's distinction.

Worked example

Replay the missing consent source

· Ecommerce audience repair

Use the audience account and its dated reconciliation artifact, commit 7c5d66d, to build this dry run. The original failure was accidental; the seeded replay below is an exercise based on that record.

  1. Prepare the record. Put consent from both platforms in a test copy and keep sending disabled. The lab's customer-data flag already merged those sources; the audience tool then repeated the check against only the ecommerce platform.
  2. Seed the old defect. Restrict the worker's final consent check to the ecommerce platform. The historical agent reported 4 sendable contacts and supported that count with spot checks of the same source. Label your run “half the record” before trying to repair the count.
  3. Watch the source check fire. Compare the worker's declared sources with the complete record. A separate agent's cross-check found about 250 reachable people in the real case. Reject your dry run's incomplete reconciliation even if its spot checks pass.
  4. Keep the owner's decision. I chose merged consent as the rule. The repair made that rule permanent in the tool and added the conflict check: an opt-in from either source can qualify, but an explicit negative wins. Restore both sources in your dry run and verify that a conflicting contact stays excluded before accepting the repaired output.

Keep the artifact's reachable pool separate from its final sendable audience: deliverability and frequency filters also apply. Save your failing source check beside the repaired result so the next tool change has to survive the same seeded defect.

Mistakes to avoid

  • Rerunning the same incomplete check. Challenge the source list before repeating the audience tool; the 4-person result survived checks against the same incomplete record.
  • Counting skipped as passed. Keep skipped checks visible as untested, using the sibling failure in the 463-tests account. Require the rendered page result before clearing a blank-site failure.
  • Trusting a signature alone. Compare the signed claim with independently observed work, using the correctly signed false receipt as another false-done seed. Run an honest receipt through the same check so you can see that it accepts valid work too.
  • Resending an unseen request. Recover the stored request before creating another copy; the notifier outage needed a direct inbox read and no resend.
  • Trusting a checker that runs nowhere. Run your seeded failure through the real action path, using the quality checker active in zero apps as the warning. Keep the constitution's rule marked unwired when only a standalone test runs it.

Ten minutes, today

Pick the shape that matches a claim from your own seat, using the Lab Notes link in that step as your failing case. Write one line naming tomorrow's seeded failure and the check that should fire. Use this audience replay as the format:

Tomorrow, with sending disabled, hide legacy consent from the audience worker; expect the independent source check to reject its count before a send can proceed.

Replace the audience source with your seat's equivalent of the missing legacy record. Save the line beside that seat's next task and run it tomorrow. Keep its check unproven until you see it reject the seeded failure, then restore the source and confirm that valid work can pass.

Frequently asked questions

What are the main ways AI agents fail?

Sort the lab's published failures by the check they need. Use false done for an unsupported completion claim and green but empty for a check that misses the outcome. Use half the record for the audience tool's missing consent source. Check notification before calling silence refusal; check enforcement before trusting a prompt-only rule. Keep the model terms in Lab Notes separate from these operational shapes: the dead notifier did not need a better model.

Read the outage that left requests unseen

Is confident wrongness the same as hallucination?

Use the false-done account to separate them: confident wrongness describes the certainty of the report; hallucination describes an invented factual claim. The account records a blank page called complete and an unwired check called armed. I cannot establish intent from those reports. Test the claimed result as the account requires, even when the wording sounds certain.

Read the reports that made evidence a condition of done

Does a larger context window prevent context loss?

Use the terms page's distinction: information can disappear from the available input or be overlooked within it. Check the actual source coverage in the 4-versus-250 case before blaming window size. The audience tool read only the ecommerce platform; more room for that same source would still leave legacy consent out. Require both sources in the reconciliation before accepting its count.

Read the definition of context loss

How do I stop a small agent error becoming a bigger one?

Stop the audience count from authorizing a send until its source check passes, following the merged-consent repair. Give an out-of-family reviewer, a reviewer from a different model family, a disputed high-stakes claim to reproduce. Use the outside-review account's false build alarms to check that review too. I call for that review on demand for high-stakes changes; it does not block every change in the lab.

Read the review that held a release and needed checking itself

Browse AI Guides