[{"data":1,"prerenderedAt":1239},["ShallowReactive",2],{"blog-post-why-ai-agents-fail":3,"related-posts-why-ai-agents-fail":1213},{"id":4,"title":5,"author":6,"body":10,"category":1186,"date":1187,"description":1188,"extension":1189,"featured":1190,"hideToc":1190,"image":1191,"imageAlt":1192,"imageHeight":1193,"imageWidth":1194,"itemList":1195,"lang":1195,"meta":1196,"navigation":1197,"noindex":1190,"path":1198,"readingTime":1199,"redirected":1190,"relatedSlugs":1195,"seo":1200,"seoTitle":1201,"stem":1202,"subtitle":1203,"tags":1204,"updatedDate":1195,"__hash__":1212},"blog/blog/why-ai-agents-fail.md","Why AI Agents Fail on Multi-Step Tasks, and the Setup That Actually Works",{"name":7,"role":8,"avatar":9},"Shabnam Katoch","Growth Head","/img/avatars/shabnam-profile.jpeg",{"type":11,"value":12,"toc":1154},"minimark",[13,17,20,40,45,56,59,66,69,176,182,185,194,198,207,446,453,460,465,468,539,543,552,555,558,574,577,581,584,587,595,608,612,615,618,622,625,639,642,699,703,710,714,723,726,780,785,791,795,804,807,818,822,825,829,835,838,870,874,913,916,920,923,985,998,1002,1005,1008,1040,1043,1046,1050,1058,1102,1109,1113,1116,1119,1123,1126,1130,1133,1137,1140,1144,1147,1151],[14,15,16],"p",{},"AI agents usually fail for boring reasons. They repeat steps, lose track of the goal across handoffs, and check their own work badly. When UC Berkeley researchers studied 1,642 runs of multi-agent systems, almost a quarter of the failures came down to verification alone. And the arithmetic of long tasks is brutal: an agent that gets each step right 95% of the time finishes a 20-step task only about 36% of the time.",[14,18,19],{},"The setup that works is just as unglamorous: fixed steps for the parts that should never change, the agent only where judgment is needed, a definition of \"done\" a machine can check, and a separate checker.",[21,22,25],"callout",{"label":23,"type":24},"Why do AI agents fail?","quick-answer",[14,26,27,31,32,35,36,39],{},[28,29,30],"strong",{},"1) Design:"," unclear tasks, repeated steps, no idea when they're done. ",[28,33,34],{},"2) Handoffs:"," agents lose context or ignore each other. ",[28,37,38],{},"3) Verification:"," no check, or a check that only confirms the code runs.",[41,42,44],"h2",{"id":43},"how-often-do-ai-agents-actually-fail","How often do AI agents actually fail?",[14,46,47,48,55],{},"The clearest recent test is UC Berkeley RDI's ",[49,50,54],"a",{"href":51,"rel":52},"https://arxiv.org/abs/2606.05405",[53],"nofollow","Agents' Last Exam",", built with more than 250 industry experts from 55 sub-fields across 13 industry clusters. It turns real work assignments into 1,490 task instances and grades them pass or fail, with no partial credit for getting most of the way.",[14,57,58],{},"In the current version of the paper (October 2026, checked 25 Oct 2026), the best system, Codex running GPT-5.5, fully passed 24.0% of the tasks. On the hardest tier, the average full pass rate across all systems was below 1%. In the first version of the paper (June 2026), the figures were 26.2% and 2.6%; the harder test set in later versions pushed them down.",[14,60,61,62,65],{},"Why does that feel worse than the demos? Because ",[28,63,64],{},"a demo is the best run, and your workload is every run."," It's also because benchmarks don't cover most real work. Mercor's Benchmark Map estimates that 90% of American working hours go to tasks with little or no coverage from existing benchmarks. Mercor calls those results provisional, but the point stands: a high benchmark score says little about your inbox.",[14,67,68],{},"Here's why long tasks are so much harder than short ones. This is arithmetic, not data from any study: if every step must succeed and each one works a fixed share of the time, the whole task succeeds that share to the power of the number of steps.",[70,71,72,94],"table",{},[73,74,75],"thead",{},[76,77,78,82,85,88,91],"tr",{},[79,80,81],"th",{},"Each step works",[79,83,84],{},"5 steps",[79,86,87],{},"10 steps",[79,89,90],{},"20 steps",[79,92,93],{},"50 steps",[95,96,97,115,132,148,162],"tbody",{},[76,98,99,103,106,109,112],{},[100,101,102],"td",{},"90% of the time",[100,104,105],{},"59%",[100,107,108],{},"35%",[100,110,111],{},"12%",[100,113,114],{},"1%",[76,116,117,120,123,126,129],{},[100,118,119],{},"95%",[100,121,122],{},"77%",[100,124,125],{},"60%",[100,127,128],{},"36%",[100,130,131],{},"8%",[76,133,134,137,140,143,146],{},[100,135,136],{},"98%",[100,138,139],{},"90%",[100,141,142],{},"82%",[100,144,145],{},"67%",[100,147,128],{},[76,149,150,153,155,157,159],{},[100,151,152],{},"99%",[100,154,119],{},[100,156,139],{},[100,158,142],{},[100,160,161],{},"61%",[76,163,164,167,169,171,173],{},[100,165,166],{},"99.5%",[100,168,136],{},[100,170,119],{},[100,172,139],{},[100,174,175],{},"78%",[14,177,178,181],{},[28,179,180],{},"Small per-step errors compound."," Read the table two ways. Going from 95% to 99% per step more than doubles the success rate of a 20-step task, from 36% to 82%. But cutting a 20-step task down to 5 steps does almost as much, taking a 95%-per-step agent from 36% to 77%. Shorter tasks are the cheapest reliability upgrade there is.",[14,183,184],{},"Real steps aren't independent, and agents can sometimes recover from a bad step, so treat these as a direction, not a forecast.",[14,186,187,188,193],{},"In June 2025, ",[49,189,192],{"href":190,"rel":191},"https://www.gartner.com/en/newsroom/press-releases/2025-06-25-gartner-predicts-over-40-percent-of-agentic-ai-projects-will-be-canceled-by-end-of-2027",[53],"Gartner predicted"," that \"over 40% of agentic AI projects will be canceled by the end of 2027, due to escalating costs, unclear business value or inadequate risk controls.\"",[41,195,197],{"id":196},"the-14-ways-multi-agent-systems-break-in-plain-english","The 14 ways multi-agent systems break (in plain English)",[14,199,200,201,206],{},"The most useful map of agent failure comes from Berkeley's MAST study (",[49,202,205],{"href":203,"rel":204},"https://arxiv.org/abs/2503.13657",[53],"Cemri et al., NeurIPS 2025","). The team annotated 1,642 traces from seven popular multi-agent frameworks and sorted what went wrong into 14 failure modes in three groups.",[70,208,209,228],{},[73,210,211],{},[76,212,213,216,219,222,225],{},[79,214,215],{},"Group",[79,217,218],{},"Share of failures",[79,220,221],{},"Failure mode",[79,223,224],{},"Share",[79,226,227],{},"What it looks like day to day",[95,229,230,247,262,277,292,307,324,339,354,369,384,399,416,431],{},[76,231,232,235,238,241,244],{},[100,233,234],{},"System design",[100,236,237],{},"44.2%",[100,239,240],{},"Step repetition",[100,242,243],{},"15.7%",[100,245,246],{},"The agent re-sends the same email draft four times",[76,248,249,251,253,256,259],{},[100,250],{},[100,252],{},[100,254,255],{},"Unaware of termination conditions",[100,257,258],{},"12.4%",[100,260,261],{},"It keeps working after the job is done",[76,263,264,266,268,271,274],{},[100,265],{},[100,267],{},[100,269,270],{},"Disobey task specification",[100,272,273],{},"11.8%",[100,275,276],{},"Asked for a summary, it writes a report",[76,278,279,281,283,286,289],{},[100,280],{},[100,282],{},[100,284,285],{},"Loss of conversation history",[100,287,288],{},"2.8%",[100,290,291],{},"It forgets what you said ten messages ago",[76,293,294,296,298,301,304],{},[100,295],{},[100,297],{},[100,299,300],{},"Disobey role specification",[100,302,303],{},"1.5%",[100,305,306],{},"The reviewer starts rewriting the work",[76,308,309,312,315,318,321],{},[100,310,311],{},"Agents misaligned with each other",[100,313,314],{},"32.3%",[100,316,317],{},"Reasoning-action mismatch",[100,319,320],{},"13.2%",[100,322,323],{},"It says it will check the date, then doesn't",[76,325,326,328,330,333,336],{},[100,327],{},[100,329],{},[100,331,332],{},"Task derailment",[100,334,335],{},"7.4%",[100,337,338],{},"It drifts into a side quest",[76,340,341,343,345,348,351],{},[100,342],{},[100,344],{},[100,346,347],{},"Fail to ask for clarification",[100,349,350],{},"6.8%",[100,352,353],{},"It guesses instead of asking",[76,355,356,358,360,363,366],{},[100,357],{},[100,359],{},[100,361,362],{},"Conversation reset",[100,364,365],{},"2.2%",[100,367,368],{},"A handoff starts from scratch",[76,370,371,373,375,378,381],{},[100,372],{},[100,374],{},[100,376,377],{},"Ignored other agent's input",[100,379,380],{},"1.9%",[100,382,383],{},"It overrules a teammate's correct finding",[76,385,386,388,390,393,396],{},[100,387],{},[100,389],{},[100,391,392],{},"Information withholding",[100,394,395],{},"0.8%",[100,397,398],{},"It knows the answer but doesn't pass it on",[76,400,401,404,407,410,413],{},[100,402,403],{},"Verification",[100,405,406],{},"23.5%",[100,408,409],{},"Incorrect verification",[100,411,412],{},"9.1%",[100,414,415],{},"The checker approves broken work",[76,417,418,420,422,425,428],{},[100,419],{},[100,421],{},[100,423,424],{},"No or incomplete verification",[100,426,427],{},"8.2%",[100,429,430],{},"Nothing checks the output at all",[76,432,433,435,437,440,443],{},[100,434],{},[100,436],{},[100,438,439],{},"Premature termination",[100,441,442],{},"6.2%",[100,444,445],{},"It stops before the task is finished",[14,447,448,449,452],{},"The takeaway: ",[28,450,451],{},"most failures are design and handoff problems, not \"the model isn't smart enough\"."," A smarter model still repeats steps if nothing tells it the task is done.",[14,454,455],{},[456,457],"img",{"alt":458,"src":459},"Three groups of failure from 1,642 traces across 7 multi-agent frameworks (MAST, NeurIPS 2025): system design 44.2%, agents misaligned 32.3%, verification 23.5%.","/img/blog/why-ai-agents-fail-three-groups.jpg",[461,462,464],"h3",{"id":463},"what-each-failure-looks-like-in-your-logs","What each failure looks like in your logs",[14,466,467],{},"Knowing the names helps less than recognising them in a real run. Here are the most common ones, and what to change:",[70,469,470,482],{},[73,471,472],{},[76,473,474,476,479],{},[79,475,221],{},[79,477,478],{},"What you see in the run log",[79,480,481],{},"The fix",[95,483,484,495,506,517,528],{},[76,485,486,489,492],{},[100,487,488],{},"Step repetition (15.7%)",[100,490,491],{},"The same tool call with the same arguments, three or more times in a row",[100,493,494],{},"Cap retries per step, and record what's done in a progress file the agent reads first",[76,496,497,500,503],{},[100,498,499],{},"Reasoning-action mismatch (13.2%)",[100,501,502],{},"The agent writes \"I'll check X\", then the next tool call does something else",[100,504,505],{},"Make the check a fixed step the agent can't skip",[76,507,508,511,514],{},[100,509,510],{},"Unaware of termination (12.4%)",[100,512,513],{},"The run keeps going after the output exists, or stops at the step limit",[100,515,516],{},"Give it a done condition a script can test, and stop the run when it passes",[76,518,519,522,525],{},[100,520,521],{},"Disobey task specification (11.8%)",[100,523,524],{},"The output is the wrong shape: a report instead of a summary, 2,000 words instead of 200",[100,526,527],{},"Put the output format in the task as a template, and check it in code",[76,529,530,533,536],{},[100,531,532],{},"Incorrect verification (9.1%)",[100,534,535],{},"A \"review\" step that approves everything",[100,537,538],{},"Use a separate checker with its own instructions, or a person",[41,540,542],{"id":541},"failure-1-the-agent-does-too-much-at-once","Failure 1: the agent does too much at once",[14,544,545,546,551],{},"When Anthropic's engineers built agents that work across many sessions, they hit this first. In their write-up on ",[49,547,550],{"href":548,"rel":549},"https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents",[53],"long-running agents",", the agent \"tended to try to do too much at once\", essentially trying to one-shot a whole app, and a later session would \"look around, see that progress had been made, and declare the job done.\"",[14,553,554],{},"Their fix was to ask the agent to \"work on only one feature at a time.\"",[14,556,557],{},"The same rule works for business agents. Compare:",[559,560,561,568],"ul",{},[562,563,564,567],"li",{},[28,565,566],{},"Too big:"," \"Handle my inbox this week.\"",[562,569,570,573],{},[28,571,572],{},"Right size:"," \"Every hour, label new emails as urgent, routine or ignore, and draft replies to routine ones. Don't send anything.\"",[14,575,576],{},"The second one has a clear start, a clear end, and an output you can check in a minute.",[41,578,580],{"id":579},"failure-2-it-loses-the-goal-between-steps-handoffs","Failure 2: it loses the goal between steps (handoffs)",[14,582,583],{},"MAST's misalignment group is mostly agents saying one thing and doing another (13.2%), drifting off task (7.4%) and guessing instead of asking (6.8%). Handoff losses, like conversation resets and ignored input, are a smaller share, but they're the easiest to fix: every time work passes from one agent, or one session, to the next, details fall off.",[14,585,586],{},"Chat summaries are where they fall off. Summaries paraphrase. Files don't.",[14,588,589,590,594],{},"So pass work through a file: a progress log, a JSON task list, a ticket. Anthropic's long-running agents keep a ",[591,592,593],"code",{},"claude-progress.txt"," log plus git commits, and track features in a JSON file because \"the model is less likely to inappropriately change or overwrite JSON files compared to Markdown files.\"",[14,596,597,598,602,603,607],{},"Keeping instructions short helps too, because long instruction files are the first thing to get lost in a long session. Our ",[49,599,601],{"href":600},"/blog/agents-md-best-practices","AGENTS.md best practices guide"," covers how short is short enough, and the ",[49,604,606],{"href":605},"/blog/agents-md-multi-agent-best-practices","multi-agent version"," covers keeping several agents' instructions from drifting apart.",[41,609,611],{"id":610},"failure-3-it-grades-its-own-homework","Failure 3: it grades its own homework",[14,613,614],{},"Verification accounts for about 24% of MAST's failures, and the paper is blunt about why: \"many existing verifiers perform only superficial checks, despite being prompted to perform thorough verification, such as checking if the code compiles or if there are leftover TODO comments.\"",[14,616,617],{},"The fix has two parts.",[461,619,621],{"id":620},"a-definition-of-done-a-machine-can-check","A definition of done a machine can check",[14,623,624],{},"Not \"the summary is good\", but something a script can confirm:",[559,626,627,630,633,636],{},[562,628,629],{},"Tests pass.",[562,631,632],{},"The row exists in the sheet with every column filled.",[562,634,635],{},"The draft reply exists in the right email thread.",[562,637,638],{},"The report file was written and is under 500 words.",[14,640,641],{},"Some examples, by job:",[70,643,644,654],{},[73,645,646],{},[76,647,648,651],{},[79,649,650],{},"Job",[79,652,653],{},"A done-check a machine can run",[95,655,656,667,675,683,691],{},[76,657,658,661],{},[100,659,660],{},"Add tests to a file",[100,662,663,666],{},[591,664,665],{},"npm test"," passes and coverage for that file is above a set number",[76,668,669,672],{},[100,670,671],{},"Inbox triage",[100,673,674],{},"Every unread email has exactly one label, and every \"routine\" one has a draft in its thread",[76,676,677,680],{},[100,678,679],{},"Lead research",[100,681,682],{},"Every row in the sheet has a company, a source URL and a filled \"reason\" column",[76,684,685,688],{},[100,686,687],{},"Weekly report",[100,689,690],{},"The file exists, has the five required headings, and is under 600 words",[76,692,693,696],{},[100,694,695],{},"Invoice follow-up",[100,697,698],{},"Every overdue invoice is either marked paid in the billing system or has a reminder logged",[461,700,702],{"id":701},"a-separate-checker-for-judgment-calls","A separate checker for judgment calls",[14,704,705,706,709],{},"Where \"done\" needs judgment, use a separate checker agent with its own instructions, or a person. In MAST's experiments, ",[28,707,708],{},"adding a high-level objective check to ChatDev raised task success by 15.6%",", as the paper reports it. Clearer role definitions, including giving one agent the final say, were worth 9.4%.",[41,711,713],{"id":712},"failure-4-the-agent-is-doing-work-a-script-should-do","Failure 4: the agent is doing work a script should do",[14,715,716,717,722],{},"Anthropic's guide to ",[49,718,721],{"href":719,"rel":720},"https://www.anthropic.com/engineering/building-effective-agents",[53],"building effective agents"," draws a line worth memorising. Workflows \"are systems where LLMs and tools are orchestrated through predefined code paths.\" Agents \"are systems where LLMs dynamically direct their own processes and tool usage.\" Its advice is to find \"the simplest solution possible, and only increasing complexity when needed.\"",[14,724,725],{},"In practice that means: have the agent write the deterministic steps once (or use a fixed workflow), and call the model only for the steps that need judgment.",[70,727,728,738],{},[73,729,730],{},[76,731,732,735],{},[79,733,734],{},"Script it (fixed steps)",[79,736,737],{},"Let the agent decide",[95,739,740,748,756,764,772],{},[76,741,742,745],{},[100,743,744],{},"Fetch new emails or rows",[100,746,747],{},"Classify what each one is",[76,749,750,753],{},[100,751,752],{},"Filter by date, sender or status",[100,754,755],{},"Decide what's urgent",[76,757,758,761],{},[100,759,760],{},"Format a table or a report",[100,762,763],{},"Summarise a long thread",[76,765,766,769],{},[100,767,768],{},"Send to a fixed list of people",[100,770,771],{},"Draft a reply in your voice",[76,773,774,777],{},[100,775,776],{},"Retry on errors, log every run",[100,778,779],{},"Choose which lead is worth a follow-up",[14,781,782],{},[28,783,784],{},"Every step you move to the left column is a step that can't hallucinate, repeat itself or wander off.",[14,786,787],{},[456,788],{"alt":789,"src":790},"Script the steps, let the agent judge: fetching and filtering emails are fixed steps, classifying urgency and drafting replies are agent decisions, and sending the alert asks you first.","/img/blog/why-ai-agents-fail-script-vs-agent.jpg",[41,792,794],{"id":793},"failure-5-instructions-fade-as-the-session-gets-longer","Failure 5: instructions fade as the session gets longer",[14,796,797,798,803],{},"Agents also drift within a single session. In a controlled study of 1,650 Claude Code sessions, Damon McMillan (",[49,799,802],{"href":800,"rel":801},"https://arxiv.org/abs/2605.10039",[53],"arXiv:2605.10039",") found that each additional function the agent wrote was associated with about 5.6% lower odds of following a simple rule. The author notes the effect isn't a neat straight line, and it was found during analysis rather than planned, but the direction is clear: the longer the session, the looser the grip of your instructions.",[14,805,806],{},"Three fixes:",[559,808,809,812,815],{},[562,810,811],{},"Start a fresh session for each task instead of one marathon session.",[562,813,814],{},"Keep instruction files short, so the rules that matter aren't buried.",[562,816,817],{},"Restate the goal at every handoff, in the file the next step reads.",[41,819,821],{"id":820},"a-worked-example-the-same-agent-built-twice","A worked example: the same agent, built twice",[14,823,824],{},"To make this concrete, here's one job designed two ways. It's an illustration, not a measured experiment: an agent that chases overdue invoices.",[461,826,828],{"id":827},"version-1-one-prompt-does-everything","Version 1: one prompt does everything",[14,830,831],{},[832,833,834],"em",{},"\"Every morning, check our billing system for overdue invoices, email each customer a polite reminder, and update the spreadsheet.\"",[14,836,837],{},"Walk it through the failure modes above and it breaks in predictable places:",[559,839,840,846,852,858,864],{},[562,841,842,845],{},[28,843,844],{},"Too much at once."," One run has to fetch, decide, write, send and record. A hiccup anywhere means a partial run, and the next run can't tell what was finished.",[562,847,848,851],{},[28,849,850],{},"No done-check."," \"Update the spreadsheet\" has no finish line, so it either stops early or keeps tinkering.",[562,853,854,857],{},[28,855,856],{},"Grading its own homework."," It decides on its own that each email is fine, and sends it.",[562,859,860,863],{},[28,861,862],{},"Work a script should do."," Fetching invoices and comparing dates is arithmetic. Asking a model to do it adds a chance of error to every row.",[562,865,866,869],{},[28,867,868],{},"No safe failure."," If the billing system is down, it might treat every invoice as unpaid and email customers who already paid.",[461,871,873],{"id":872},"version-2-fixed-steps-one-judgment-point-a-checker","Version 2: fixed steps, one judgment point, a checker",[875,876,877,883,889,895,901,907],"ol",{},[562,878,879,880],{},"Fetch overdue invoices from the billing system. ",[832,881,882],{},"(Fixed step. If the system can't be reached, stop and don't email anyone that day.)",[562,884,885,886],{},"Drop any invoice that was paid or already reminded in the last 7 days. ",[832,887,888],{},"(Fixed step, plain date logic.)",[562,890,891,892],{},"Draft a reminder for each remaining invoice, in the right tone for how late it is. ",[832,893,894],{},"(The agent's only judgment step.)",[562,896,897,898],{},"Check each draft: correct amount, correct invoice number, correct customer name. ",[832,899,900],{},"(Fixed step comparing the draft to the record.)",[562,902,903,904],{},"Send, or hold for approval for anything over a set amount. ",[832,905,906],{},"(A person approves the risky ones.)",[562,908,909,910],{},"Log every action to the sheet. ",[832,911,912],{},"(Fixed step. The log is the handoff to tomorrow's run.)",[14,914,915],{},"Version 2 has more steps on paper, but only one of them can hallucinate, and its output is checked against the source record before anything leaves. That's the whole idea of this post in six lines.",[41,917,919],{"id":918},"the-setup-that-works-a-checklist","The setup that works (a checklist)",[14,921,922],{},"Copy this and check your agent against it:",[875,924,925,931,937,943,949,955,961,967,973,979],{},[562,926,927,930],{},[28,928,929],{},"One narrow job per agent."," \"Triage the inbox\", not \"run my operations\".",[562,932,933,936],{},[28,934,935],{},"Fixed steps where nothing should change."," Fetching, filtering, formatting and sending are code, not prompts.",[562,938,939,942],{},[28,940,941],{},"The agent only at judgment points."," Classify, draft, summarise, prioritise.",[562,944,945,948],{},[28,946,947],{},"A done-check a machine can run."," Tests, a row count, a file that exists.",[562,950,951,954],{},[28,952,953],{},"A separate checker."," Another agent with its own instructions, or a person.",[562,956,957,960],{},[28,958,959],{},"Handoffs in a file."," A progress log or JSON task list, never a chat summary.",[562,962,963,966],{},[28,964,965],{},"Draft, don't send, until trust is earned."," Drafts are free to throw away.",[562,968,969,972],{},[28,970,971],{},"A person approves anything irreversible."," Payments, deletions, messages to customers.",[562,974,975,978],{},[28,976,977],{},"Logs you actually read."," At least until you've had a week of clean runs.",[562,980,981,984],{},[28,982,983],{},"Start small, widen later."," Expand scope only after a week of clean runs.",[14,986,987,988,992,993,997],{},"If you're coordinating several agents, our guide to ",[49,989,991],{"href":990},"/blog/ai-agent-orchestration","AI agent orchestration"," goes deeper on how to split the work. Or skip the plumbing and ",[49,994,996],{"href":995},"/workflows","start with a workflow that already follows these rules",".",[41,999,1001],{"id":1000},"workflow-or-agent-which-should-you-use","Workflow or agent: which should you use?",[14,1003,1004],{},"\"Agentic workflow vs AI agent\" sounds like a vocabulary question. It's really a design question, and the answer for most business jobs is \"mostly workflow\".",[14,1006,1007],{},"Ask five questions about the job:",[875,1009,1010,1016,1022,1028,1034],{},[562,1011,1012,1015],{},[28,1013,1014],{},"Are the steps the same every time?"," If yes, they belong in a workflow.",[562,1017,1018,1021],{},[28,1019,1020],{},"Is there a point where something has to be read, judged or written?"," That's where the agent goes.",[562,1023,1024,1027],{},[28,1025,1026],{},"Can a machine tell when the job is done?"," If not, define that first, before choosing anything.",[562,1029,1030,1033],{},[28,1031,1032],{},"What happens if it goes wrong?"," If the answer is \"a customer gets a bad email\" or \"money moves\", put a person in front of that step.",[562,1035,1036,1039],{},[28,1037,1038],{},"How often does it run?"," Something that runs hourly needs to be boring and predictable. Something that runs once a quarter can afford to be clever.",[14,1041,1042],{},"A useful way to picture it: a workflow is the conveyor belt, and the agent is the one station where something needs a decision. The more of the job you can put on the belt, the fewer places it can go wrong.",[14,1044,1045],{},"Fully autonomous agents still have a place: open-ended research, exploring a codebase, drafting a first version of something new. Those are jobs where the path really can't be known in advance, and where a person reviews the result anyway. For anything that runs on a schedule and touches customers, money or data, start with the belt and add judgment only where it's needed.",[41,1047,1049],{"id":1048},"what-this-looks-like-in-betterclaw","What this looks like in BetterClaw",[14,1051,1052,1053,1057],{},"BetterClaw's ",[49,1054,1056],{"href":1055},"/","AI agent builder"," is built around the same idea: fixed steps you can read, with the agent doing the judgment work in between. Here's what's true today.",[559,1059,1060,1070,1076,1086,1096],{},[562,1061,1062,1065,1066,1069],{},[28,1063,1064],{},"Every step is visible."," ",[49,1067,1068],{"href":995},"Workflows"," are written as fixed, numbered steps you can read before you run them. Each page says it plainly: \"Nothing hidden. This is the full list of what it does each run.\"",[562,1071,1072,1075],{},[28,1073,1074],{},"Steps can wait for a person."," When a run reaches a step marked to ask first, it stops. Nothing is sent until someone decides.",[562,1077,1078,1065,1081,1085],{},[28,1079,1080],{},"Drafts by default where it matters.",[49,1082,1084],{"href":1083},"/workflows/email-triage","Email Triage"," labels your inbox and drafts replies in your style. It never sends replies for you; the only email it sends is the urgent alert, to you.",[562,1087,1088,1065,1091,1095],{},[28,1089,1090],{},"It fails safe.",[49,1092,1094],{"href":1093},"/workflows/failed-payment-recovery","Failed Payment Recovery"," sends reminders to customers whose payments failed, but if it can't reach Stripe, it doesn't email anyone that day, because it can't tell who has paid.",[562,1097,1098,1101],{},[28,1099,1100],{},"Tools can be locked down."," Each MCP tool is marked Read, Write or Destructive, and Read-only mode turns off everything that isn't Read. You can see 30 days of activity for every MCP server you connect.",[14,1103,1104,1108],{},[49,1105,1107],{"href":1106},"/pricing","Build your agent in BetterClaw",". Plans start at $19 a month with a 7-day money-back guarantee, and every agent runs on your own model key with zero markup.",[41,1110,1112],{"id":1111},"frequently-asked-questions","Frequently Asked Questions",[461,1114,23],{"id":1115},"why-do-ai-agents-fail",[14,1117,1118],{},"Mostly for design and process reasons, not raw intelligence. Berkeley's MAST study of 1,642 multi-agent runs found 44.2% of failures came from system design (repeated steps, unclear tasks, not knowing when to stop), 32.3% from agents misaligned with each other, and 23.5% from weak or missing verification.",[461,1120,1122],{"id":1121},"what-is-the-failure-rate-of-ai-agents","What is the failure rate of AI agents?",[14,1124,1125],{},"It depends on the task, but on real professional work it's high. In the current version of UC Berkeley's Agents' Last Exam, the best system fully passed 24.0% of tasks, and the average on the hardest tier was below 1%. Simple, narrow tasks succeed far more often.",[461,1127,1129],{"id":1128},"why-do-ai-agents-fail-in-production","Why do AI agents fail in production?",[14,1131,1132],{},"Production means every run, not the best run. Small per-step errors compound across long tasks, handoffs lose context, and many checks only confirm that something ran, not that it's right. Gartner predicts over 40% of agentic AI projects will be canceled by the end of 2027 over cost, value or risk.",[461,1134,1136],{"id":1135},"how-do-i-make-ai-agents-more-reliable","How do I make AI agents more reliable?",[14,1138,1139],{},"Give each agent one narrow job, script the steps that never change, use the model only where judgment is needed, define \"done\" so a machine can check it, add a separate checker, pass work between steps in files, and keep a person in the loop for anything irreversible.",[461,1141,1143],{"id":1142},"whats-the-difference-between-an-agentic-workflow-and-an-ai-agent","What's the difference between an agentic workflow and an AI agent?",[14,1145,1146],{},"In Anthropic's definition, a workflow orchestrates the model and tools through predefined code paths, while an agent directs its own process and tool use. Most reliable systems are mostly workflow, with the agent making decisions only at specific steps.",[461,1148,1150],{"id":1149},"should-an-ai-agent-check-its-own-work","Should an AI agent check its own work?",[14,1152,1153],{},"Not on its own. Self-checks tend to be shallow; MAST found many verifiers only confirm that code compiles. Use a machine-checkable definition of done, plus a separate checker agent or a person for anything that needs judgment.",{"title":1155,"searchDepth":1156,"depth":1156,"links":1157},"",2,[1158,1159,1163,1164,1165,1169,1170,1171,1175,1176,1177,1178],{"id":43,"depth":1156,"text":44},{"id":196,"depth":1156,"text":197,"children":1160},[1161],{"id":463,"depth":1162,"text":464},3,{"id":541,"depth":1156,"text":542},{"id":579,"depth":1156,"text":580},{"id":610,"depth":1156,"text":611,"children":1166},[1167,1168],{"id":620,"depth":1162,"text":621},{"id":701,"depth":1162,"text":702},{"id":712,"depth":1156,"text":713},{"id":793,"depth":1156,"text":794},{"id":820,"depth":1156,"text":821,"children":1172},[1173,1174],{"id":827,"depth":1162,"text":828},{"id":872,"depth":1162,"text":873},{"id":918,"depth":1156,"text":919},{"id":1000,"depth":1156,"text":1001},{"id":1048,"depth":1156,"text":1049},{"id":1111,"depth":1156,"text":1112,"children":1179},[1180,1181,1182,1183,1184,1185],{"id":1115,"depth":1162,"text":23},{"id":1121,"depth":1162,"text":1122},{"id":1128,"depth":1162,"text":1129},{"id":1135,"depth":1162,"text":1136},{"id":1142,"depth":1162,"text":1143},{"id":1149,"depth":1162,"text":1150},"Best Practices","2026-10-24","Why AI agents fail in production: real failure rates, the 14 ways multi-agent systems break, and the setup that works, with fixed steps and a checker.","md",false,"/img/blog/why-ai-agents-fail.jpg","Why AI agents fail: a multi-step task failing at step 3 after a handoff lost the goal; at 95% per step, 20 steps succeed about 36% of the time",512,1024,null,{},true,"/blog/why-ai-agents-fail","11 min read",{"title":5,"description":1188},"Why AI Agents Fail on Multi-Step Tasks (and What Works)","blog/why-ai-agents-fail","Agents rarely fail at the hard part. They fail at step three, between handoffs, and when they mark their own homework. Here's what the research says and how to build around it.",[1205,1206,1207,1208,1209,1210,1211],"why ai agents fail","why ai agents fail in production","ai agents failure rate","ai agent failure modes","ai agent reliability","how to make ai agents more reliable","agentic workflow vs ai agent","Ook_qS5LKbZiPwRHQG7qbxIPbfBKox4tVgQIZzvCOvw",[1214,1222,1231],{"stem":1215,"title":1216,"description":1217,"date":1218,"image":1219,"category":1220,"redirected":1190,"author":1221,"readingTime":1199},"blog/run-ai-agents-overnight","Running AI Agents Overnight: What Actually Works, and What Doesn't","Can Claude Code, Codex or Hermes run overnight? Yes, for narrow, checkable tasks. The setup that works, what never to leave running, and the morning check.","2026-10-25","/img/blog/run-ai-agents-overnight.jpg","Guides",{"name":7,"role":8,"avatar":9},{"stem":1223,"title":1224,"description":1225,"date":1226,"image":1227,"category":1228,"redirected":1190,"author":1229,"readingTime":1230},"blog/231k-weekly-impressions-two-people-zero-ad-spend","How We Got 231K Weekly Google Impressions With 2 People and $0 Ad Spend","We went from 769 to 1,952 weekly clicks in 10 weeks with no ads. Here's the GSC data, what flopped, and the content formula we'd use if starting over.","2026-07-15","/img/blog/231k-weekly-impressions-two-people-zero-ad-spend.jpg","Strategy",{"name":7,"role":8,"avatar":9},"9 min read",{"stem":1232,"title":1233,"description":1234,"date":1235,"image":1236,"category":1186,"redirected":1190,"author":1237,"readingTime":1238},"blog/agents-md-best-practices","AGENTS.md Best Practices: How Long It Should Be, Template, Examples","How long AGENTS.md should be (under 100 lines), a copy-paste template, examples, how Codex and Claude Code load it, and how to stop rules piling up.","2026-06-11","/img/blog/agents-md-best-practices.jpg",{"name":7,"role":8,"avatar":9},"16 min read",1792946494446]