[{"data":1,"prerenderedAt":1902},["ShallowReactive",2],{"site-nav-content":3,"blog:/blog/agents-should-be-disposable":179,"blog-index-copy":919,"blog:/blog/agents-should-be-disposable:surround":940,"hiring-banner-content":1871,"site-cta-content":1883},{"header":4,"productNav":9,"nav":42,"footer":61,"askAI":132,"id":163,"title":164,"archived":165,"authors":166,"badge":166,"body":167,"date":166,"definedTerm":166,"department":166,"description":171,"extension":174,"eyebrow":166,"faqHeader":166,"faqs":166,"footerBand":166,"headline":166,"image":166,"industry":166,"jobType":166,"listed":131,"location":166,"navigation":131,"openRoles":166,"pageLayout":166,"path":175,"relatedHeading":166,"seo":176,"series":166,"sitemap":165,"status":166,"stem":177,"subhead":166,"tags":166,"video":166,"whyJoin":166,"workplaceType":166,"__hash__":178},{"productLabel":5,"loginLabel":6,"contactLabel":7,"contactSalesLabel":8},"Product","Log in","Contact","Get started for free",[10,14,18,22,26,30,34,38],{"label":11,"to":12,"description":13},"Overview","/overview","Seven layers. One closed loop.",{"label":15,"to":16,"description":17},"Conflux","/product/conflux","Where your team, workstreams, and agents meet.",{"label":19,"to":20,"description":21},"Agent Teams","/product/agent-teams","Specialist teams - governed from day one.",{"label":23,"to":24,"description":25},"Lifecycle Graph","/product/lifecycle-graph","Intelligence that compounds across every interaction.",{"label":27,"to":28,"description":29},"Company Wiki","/product/wiki","Playbooks and policies where expertise stays.",{"label":31,"to":32,"description":33},"Workstreams","/product/workstreams","From brief to signed-off deliverable on one canvas.",{"label":35,"to":36,"description":37},"Perception Console","/product/perception","Ask your whole business in plain English.",{"label":39,"to":40,"description":41},"Governance","/product/governance","Frontier AI you can actually sign off on.",[43,46,49,52,55,58],{"label":44,"to":45},"Models","/models",{"label":47,"to":48},"Pricing","/pricing",{"label":50,"to":51},"Integrations","/integrations",{"label":53,"to":54},"Security","/security",{"label":56,"to":57},"Partners","/partners",{"label":59,"to":60},"Insights","/blog",{"productHeading":5,"companyHeading":62,"resourcesHeading":63,"legalHeading":64,"docsLabel":65,"docsUrl":66,"statementLines":67,"copyright":70,"companyLinks":71,"resourcesLinks":86,"legalLinks":102,"socialLinks":109,"bottomLinks":119},"Company","Resources","Legal","Docs","https://docs.gonimbus.ai",[68,69],"Stop training someone else's model.","Control your AI.","© 2026 Nimbus Intelligence, Inc. All rights reserved.",[72,73,74,75,76,78,81,84],{"label":47,"to":48},{"label":50,"to":51},{"label":53,"to":54},{"label":59,"to":60},{"label":77,"to":57},"Partner Program",{"label":79,"to":80},"Careers","/careers",{"label":82,"to":83},"System status","/status",{"label":7,"to":85},"/contact",[87,90,93,96,99],{"label":88,"to":89},"Glossary","/glossary",{"label":91,"to":92},"Compare","/compare",{"label":94,"to":95},"Evaluate","/evaluate",{"label":97,"to":98},"Problems","/problems",{"label":100,"to":101},"Use cases","/use-cases",[103,106],{"label":104,"to":105},"Terms of Service","/terms",{"label":107,"to":108},"Privacy Policy","/privacy",[110,113,116],{"label":111,"href":112},"LinkedIn","https://www.linkedin.com/company/gonimbusai/",{"label":114,"href":115},"X","https://x.com/gonimbusai",{"label":117,"href":118},"Instagram","https://www.instagram.com/gonimbus_ai/",[120,122,124,127,128],{"label":121,"to":105},"Terms",{"label":123,"to":108},"Privacy",{"label":125,"to":126},"Compliance","/compliance",{"label":82,"to":83},{"label":129,"to":130,"external":131},"LLMs.txt","/llms.txt",true,{"text":133,"prompt":134},"Ask AI about Nimbus",{"I'm researching enterprise intelligence platforms and want to know how Nimbus combines perception, collaboration, and autonomous agents to drive strategic decision-making":135,"platforms":137},{" Summarize the highlights from Nimbus's website":136},"https://gonimbus.ai",[138,143,148,153,158],{"name":139,"label":140,"icon":141,"hrefPrefix":142},"chatgpt","ChatGPT","simple-icons:openai","https://chatgpt.com/?prompt=",{"name":144,"label":145,"icon":146,"hrefPrefix":147},"perplexity","Perplexity","mdi:magnify","https://www.perplexity.ai/search/new?q=",{"name":149,"label":150,"icon":151,"hrefPrefix":152},"grok","Grok","simple-icons:x","https://x.com/i/grok?text=",{"name":154,"label":155,"icon":156,"hrefPrefix":157},"claude","Claude","simple-icons:anthropic","https://claude.ai/new?q=",{"name":159,"label":160,"icon":161,"hrefPrefix":162},"google-ai","Google AI","simple-icons:google","https://www.google.com/search?udm=50&aep=11&q=","content/shared/nav.md","Site navigation",false,null,{"type":168,"value":169,"toc":170},"minimark",[],{"title":171,"searchDepth":172,"depth":172,"links":173},"",2,[],"md","/shared/nav",{"title":164,"description":171},"shared/nav","1dD7ahDRl0SQ4hz53-kKo0tEFrGaLuaztZ3PPfp6a9k",{"id":180,"title":181,"archived":165,"authors":182,"badge":185,"body":187,"date":893,"definedTerm":166,"department":166,"description":894,"extension":174,"eyebrow":166,"faqHeader":895,"faqs":898,"footerBand":166,"headline":166,"image":166,"industry":166,"jobType":166,"listed":165,"location":166,"navigation":131,"openRoles":166,"pageLayout":166,"path":911,"relatedHeading":166,"seo":912,"series":913,"sitemap":131,"status":166,"stem":914,"subhead":166,"tags":915,"video":166,"whyJoin":166,"workplaceType":166,"__hash__":918},"content/blog/agents-should-be-disposable.md","Agents Should Be Disposable",[183],{"name":184,"to":136},"Nimbus Research",{"label":186},"Explainer",{"type":168,"value":188,"toc":881},[189,206,209,218,230,242,247,250,266,273,286,303,307,310,313,316,322,334,340,352,364,368,378,384,387,454,461,465,468,474,485,496,507,514,521,579,583,590,597,600,618,626,630,638,641,655,664,677,681,684,711,719,722,742,750,758,762,768,774,780,790,799,810,814,817,820,846,849,853,860,870,877],[190,191,192,193,197,198,205],"p",{},"Agents should be disposable because ",[194,195,196],"strong",{},"the project survives the agent",". Microsoft and LinkedIn’s ",[199,200,204],"a",{"href":201,"rel":202},"https://www.microsoft.com/en-us/worklab/work-trend-index/ai-at-work-is-here-now-comes-the-hard-part",[203],"nofollow","2024 Work Trend Index",", from a survey of 31,000 knowledge workers across 31 markets, found that 78% of people who use AI at work bring their own tools. Personal threads are convenient. They are also how reasoning leaves the company when a person changes seats, a vendor changes models, or a licence expires.",[190,207,208],{},"That finding is not an argument against assistants. It is an argument against treating the assistant as the place the work lives. When the model version rolls, the vendor changes, or the person who ran last week’s session is on leave, the named job should still hold the brief, the files, the stored rejection, and the name on the signed change. The agent is staff on a shift. The job is the unit that persists.",[190,210,211,212,217],{},"McKinsey’s ",[199,213,216],{"href":214,"rel":215},"https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-state-of-ai",[203],"State of AI"," (2025) measured the same gap from the other side: 88% of organisations now use AI in at least one function, yet most remain in experiment or pilot, and only about a third have begun to scale. Scale is not “more seats on the same chatbot.” Scale is whether a second shift, a second department, or an auditor can reopen the same artefact. If the artefact is a thread that expired with a seat, you did not scale. You multiplied private windows.",[190,219,220,221,224,225,229],{},"This page is a design claim about ",[194,222,223],{},"continuity of the work",". It is not the same question as “can you swap the model without rewriting tools?” in ",[199,226,228],{"href":227},"how-to-evaluate-an-agent-harness","how to evaluate an agent harness",". That test is a buying sheet for the runtime. Disposable agents are an operator claim: finance can reopen the order hold on Monday even if nobody has the same Claude thread open.",[190,231,232,236,237,241],{},[199,233,235],{"href":234},"multiplayer-ai-and-multi-agent-ai","Multiplayer AI vs multi-agent AI"," puts the social fact plainly: everyone leaves the room eventually. Disposable agents mean the room does not empty when they do. ",[199,238,240],{"href":239},"what-is-collaborative-ai","What is collaborative AI"," is the shared-job definition. This page is why the job must not be buried inside a persona.",[243,244,246],"h2",{"id":245},"what-disposable-agent-means","What “disposable agent” means",[190,248,249],{},"It means you can remove the current model, harness, or vendor without losing:",[251,252,253,257,260,263],"ul",{},[254,255,256],"li",{},"The named job and its finish line.",[254,258,259],{},"The files the teams already attached — not copies in five inboxes.",[254,261,262],{},"The decision chain: who proposed, who rejected, who signed.",[254,264,265],{},"The authority model: the agent never exceeded the person who started the run.",[190,267,268,269,272],{},"It does ",[194,270,271],{},"not"," mean agents are worthless, or that you should churn vendors weekly. Stable vendors and stable models are fine. Disposable means the company’s memory of the job is not identical to the agent’s session. You should be glad the agent can leave. You should be worried if the project notices.",[190,274,275,280,281,285],{},[199,276,279],{"href":277,"rel":278},"https://www.anthropic.com/engineering/building-effective-agents",[203],"Anthropic’s guidance on building effective agents"," keeps returning to the same instinct: encode the job, bound the tools, define done. Encoding the job ",[282,283,284],"em",{},"inside"," a model window is the opposite of that instinct. The window is labour. The job is the object.",[190,287,288,289,293,294,298,299,302],{},"The everyday version of burying the job in a thread is the habit ",[199,290,292],{"href":291},"search-is-not-memory","search is not memory"," names. The company-scale version is ",[199,295,297],{"href":296},"what-is-institutional-memory-in-enterprise-ai","institutional memory in enterprise AI",". Disposable agents sit between those two: ",[194,300,301],{},"the job object"," is where decision memory lives while the work is open, so the next operator is not rebuilding from Slack.",[243,304,306],{"id":305},"why-operators-should-care","Why operators should care",[190,308,309],{},"The failure mode is familiar. A fluent run finishes. Someone screenshots the answer. Three weeks later nobody can say what was approved.",[190,311,312],{},"That is not a model-quality problem. It is a container problem. The screenshot is a souvenir. The job needed a brief, a payload, and a name.",[190,314,315],{},"Operators feel this in four places:",[190,317,318,321],{},[194,319,320],{},"Handover."," Night shift asks day shift why the hold is still there. Day shift asks the person who “ran it in ChatGPT.” That person is off. The hold ages.",[190,323,324,327,328,333],{},[194,325,326],{},"Audit."," A later reader asks who authorised the CRM change. The trail is a personal thread, a forwarded email, and a channel that has since been renamed. ",[199,329,332],{"href":330,"rel":331},"https://www.nist.gov/itl/ai-risk-management-framework",[203],"NIST’s AI Risk Management Framework"," asks for measurable governance — Map, Measure, Manage. You cannot measure a window that no longer exists.",[190,335,336,339],{},[194,337,338],{},"Vendor change."," Prices move. A model is deprecated. A security review kills a consumer tool. The work that lived in that tool does not migrate. Teams reconstruct from memory and call it a migration.",[190,341,342,345,346,351],{},[194,343,344],{},"Role change."," The analyst who “knew the customer” leaves. Their assistant’s memory was their seat. ",[199,347,350],{"href":348,"rel":349},"https://www.melconway.com/Home/Committees_Paper.html",[203],"Conway’s 1968 paper"," noted that organisations design systems that copy their communication structure. If the structure is one person and one chat, the AI copies that — including the bus factor of one.",[190,353,354,359,360,363],{},[199,355,358],{"href":356,"rel":357},"https://aiindex.stanford.edu/",[203],"Stanford HAI’s AI Index"," tracks rising capability and falling inference cost. Capability is not continuity. Cheaper tokens make it easier to ",[282,361,362],{},"re-ask"," the same question. They do not create a signer. Disposable design is how you stop paying to reconstruct last week.",[243,365,367],{"id":366},"how-this-differs-from-swap-the-model-in-evaluation","How this differs from “swap the model” in evaluation",[190,369,370,373,374,377],{},[199,371,372],{"href":227},"How to evaluate an agent harness"," asks vendors to change weights mid-proof and show which tools broke. That is ",[194,375,376],{},"portability of the runtime"," — adapters, grants, routing policy.",[190,379,380,381],{},"Disposable agents ask an operator question: ",[194,382,383],{},"if I swap the runtime tomorrow, does the order hold still have finance’s rejection on file?",[190,385,386],{},"Both matter. Conflating them is how teams pass an RFP and still lose Monday’s job. A harness can be portable and still store every decision in a session the next model cannot read. A job can be durable and still sit on a brittle, single-vendor runtime. Score both.",[388,389,390,406],"table",{},[391,392,393],"thead",{},[394,395,396,400,403],"tr",{},[397,398,399],"th",{},"Question",[397,401,402],{},"Harness evaluation",[397,404,405],{},"Disposable agent",[407,408,409,421,432,443],"tbody",{},[394,410,411,415,418],{},[412,413,414],"td",{},"Unit of concern",[412,416,417],{},"Tools, sensors, stops",[412,419,420],{},"Files, signer, finish line",[394,422,423,426,429],{},[412,424,425],{},"Proof",[412,427,428],{},"Failed write, replay export",[412,430,431],{},"Reopen job without original thread",[394,433,434,437,440],{},[412,435,436],{},"Failure",[412,438,439],{},"CRM PATCH with no gate",[412,441,442],{},"“Search Slack for the hold reason”",[394,444,445,448,451],{},[412,446,447],{},"Owner",[412,449,450],{},"Platform / engineering",[412,452,453],{},"Ops, finance, RevOps on the roster",[190,455,456,460],{},[199,457,459],{"href":458},"how-to-evaluate-collaborative-ai","How to evaluate collaborative AI"," is the buying sheet for the shared-job shape this design depends on. Run it on any vendor. Do not treat a fluent multi-user chat as a pass.",[243,462,464],{"id":463},"what-belongs-on-the-job-not-in-the-agent","What belongs on the job, not in the agent",[190,466,467],{},"Treat four artefacts as properties of the work object, not of the chat:",[190,469,470,473],{},[194,471,472],{},"1. The brief."," What we are trying to finish, in one sentence a stranger can read. “Release credit hold on SO-88412 if margin clears the floor” is a brief. “Look at this” is not.",[190,475,476,479,480,484],{},[194,477,478],{},"2. The sources."," CRM excerpt, WMS snapshot, partner email — attached once, visible to the roster. Re-forwarding is how versions fork. ",[199,481,483],{"href":482},"what-is-an-ai-workstream","What an AI workstream is"," is the container that holds those attachments with the job.",[190,486,487,490,491,495],{},[194,488,489],{},"3. The proposal and the payload."," What the model wanted to change, field by field, before anything executed. ",[199,492,494],{"href":493},"what-is-write-back-governance","Write-back governance"," is the control on execution. The payload still belongs on the job if the write never ran. A rejected write is data.",[190,497,498,501,502,506],{},[194,499,500],{},"4. The signer and the stored rejection."," A name, a timestamp, a “no” that stays visible. ",[199,503,505],{"href":504},"what-is-human-in-the-loop-ai","What is human-in-the-loop AI"," is not a label on a diagram. It is a person on this roster who can halt a live change while others watch.",[190,508,509,510,513],{},"The agent may draft all four. It should not ",[194,511,512],{},"be"," the only place they exist.",[190,515,516,520],{},[199,517,519],{"href":518},"governance-as-a-multiplayer-primitive","Governance as a multiplayer primitive"," is why the roster and the stop live in the room, not in a PDF emailed after the fact. Inherited authority — the agent cannot exceed the acting person — survives a model swap only if it is attached to the job, not to last week’s service account.",[522,523,527],"pre",{"className":524,"code":525,"language":526,"meta":171,"style":171},"language-mermaid shiki shiki-themes github-light github-dark","flowchart LR\n  brief[\"The brief\"] --> job[\"The shared job\"]\n  files[\"The files\"] --> job\n  agent[\"Today's agent\"] --> proposal[\"A proposal\"]\n  proposal --> job\n  roster[\"A named signer\"] --> decision[\"Approve or reject\"]\n  decision --> job\n  job --> survives[\"The job survives if the agent leaves\"]\n","mermaid",[528,529,530,538,543,549,555,561,567,573],"code",{"__ignoreMap":171},[531,532,535],"span",{"class":533,"line":534},"line",1,[531,536,537],{},"flowchart LR\n",[531,539,540],{"class":533,"line":172},[531,541,542],{},"  brief[\"The brief\"] --> job[\"The shared job\"]\n",[531,544,546],{"class":533,"line":545},3,[531,547,548],{},"  files[\"The files\"] --> job\n",[531,550,552],{"class":533,"line":551},4,[531,553,554],{},"  agent[\"Today's agent\"] --> proposal[\"A proposal\"]\n",[531,556,558],{"class":533,"line":557},5,[531,559,560],{},"  proposal --> job\n",[531,562,564],{"class":533,"line":563},6,[531,565,566],{},"  roster[\"A named signer\"] --> decision[\"Approve or reject\"]\n",[531,568,570],{"class":533,"line":569},7,[531,571,572],{},"  decision --> job\n",[531,574,576],{"class":533,"line":575},8,[531,577,578],{},"  job --> survives[\"The job survives if the agent leaves\"]\n",[243,580,582],{"id":581},"what-disposable-looks-like-on-a-real-handover","What disposable looks like on a real handover",[190,584,585,586,589],{},"Picture a credit hold on a strategic account. Sales opened a ",[199,587,588],{"href":239},"collaborative AI"," job last Thursday: the AR ageing extract, the customer’s PO, and a draft note to release the hold. Finance rejected — margin still below floor. The agent that drafted the release note was a frontier model on vendor A.",[190,591,592,593,596],{},"Monday, vendor B’s model is routed for cost. Ops reopens the ",[194,594,595],{},"same job",". They see the rejection, the margin sheet, and the named finance delegate. They do not ask “what did ChatGPT say?” They continue the work.",[190,598,599],{},"If Monday’s operator had to paste the ageing extract again, re-explain the rejection, or trust a summary with no signer, the agent was the system of record. That is the opposite of disposable.",[190,601,602,603,607,608,612,613,617],{},"The same pattern shows up wherever a signed artefact crosses teams. ",[199,604,606],{"href":605},"collaborative-ai-for-revenue-operations","Collaborative AI for revenue operations"," is the pipeline version — a stage move finance never saw. ",[199,609,611],{"href":610},"collaborative-ai-for-finance-and-planning","Collaborative AI for finance and planning"," is the books version — a journal draft that lived in a personal window through close. ",[199,614,616],{"href":615},"collaborative-ai-for-operations","Collaborative AI for operations"," is the warehouse-and-hold version. The agent is interchangeable in all three. The job is not.",[190,619,620,625],{},[199,621,624],{"href":622,"rel":623},"https://www.iso.org/standard/42001",[203],"ISO/IEC 42001"," wants named actors and operational controls. A job with a roster and a stored rejection is closer to that instinct than a shared login with a long context window. The standard does not mention agents. It mentions accountability. Accountability needs an object that outlives the labour.",[243,627,629],{"id":628},"when-a-personal-assistant-is-enough","When a personal assistant is enough",[190,631,632,633,637],{},"When one person owns the draft and nothing writes to a live system, keep the personal tool. ",[199,634,636],{"href":635},"collaborative-ai-and-personal-assistants","Collaborative AI and personal assistants"," is the decision guide. Disposable design is not a moral campaign against copilots. It is a boundary.",[190,639,640],{},"Disposable design starts when:",[251,642,643,646,649,652],{},[254,644,645],{},"A second department must stand on the result.",[254,647,648],{},"A handover will happen before the job finishes.",[254,650,651],{},"A customer-facing or system-of-record change can leave the room.",[254,653,654],{},"An auditor or partner will ask what was approved, not what was said.",[190,656,657,659,660,663],{},[199,658,235],{"href":234}," adds a cast of models only ",[194,661,662],{},"after"," the shared job exists. A swarm without a work object is several disposable agents and zero continuity. More models do not create a roster. They create more sessions to lose.",[190,665,666,667,671,672,676],{},"If the work is already a known Monday checklist — the same extract, the same rules, the same notify list — do not staff it with an improvising agent every week. ",[199,668,670],{"href":669},"what-is-loop-engineering","Loop engineering"," is the discipline for compiling that path so it runs without a chat ritual. ",[199,673,675],{"href":674},"a-loop-is-not-an-agent","A loop is not an agent"," is the distinction. Disposable agents and compiled loops are complementary: the loop owns the known path; the agent, when you need one, is labour you can replace.",[243,678,680],{"id":679},"how-to-test-disposable-design-without-a-programme","How to test disposable design without a programme",[190,682,683],{},"Run one recurring exception for four cycles. Do not start with a platform bake-off. Start with a job you already fight in chat.",[685,686,687,693,699,705],"ol",{},[254,688,689,692],{},[194,690,691],{},"Open one named job"," with the two files teams already email. Name the finish line in a sentence a stranger can read.",[254,694,695,698],{},[194,696,697],{},"Record one rejection"," with a name — not “the channel said no.” The rejection stays on the job.",[254,700,701,704],{},[194,702,703],{},"Swap the model or vendor"," mid-cycle. Reopen the job. Can a stranger continue without the original thread?",[254,706,707,710],{},[194,708,709],{},"Remove the original prompter"," from the roster. Can finance still see the payload they rejected?",[190,712,713,714,718],{},"If step three fails, you bought a chatbot with integrations. If step four fails, ",[199,715,717],{"href":716},"rbac-for-enterprise-ai","RBAC for enterprise AI"," is missing on the job, not only on the login.",[190,720,721],{},"Measure three numbers, even if you measure them by hand:",[251,723,724,730,736],{},[254,725,726,729],{},[194,727,728],{},"Reopen time."," Minutes for a stranger to continue. If it requires Slack archaeology, fail.",[254,731,732,735],{},[194,733,734],{},"Signer completeness."," Every refusal and approval has a name and a timestamp on the job.",[254,737,738,741],{},[194,739,740],{},"Payload replay."," The exact proposed change is visible without the original model.",[190,743,744,745,749],{},"NIST’s framework asks for measurable governance. ",[199,746,748],{"href":747},"what-is-ai-governance","What is AI governance"," is the programme. Disposable jobs are one enforceable habit inside it: you can reopen, you can name the signer, you can quote the payload.",[190,751,752,757],{},[199,753,756],{"href":754,"rel":755},"https://www.thoughtworks.com/insights/articles/operating-system-enterprise-ai",[203],"Thoughtworks’ operating-system framing for enterprise AI"," stresses organisational ownership — not only a builder harness around a model. Ownership needs an object. The agent is not that object.",[243,759,761],{"id":760},"what-people-get-wrong","What people get wrong",[190,763,764,767],{},[194,765,766],{},"“We export the transcript.”"," A transcript is not a payload. It is not a signer. It is not scoped to the CRM row. Transcripts are useful for debugging. They are a poor system of record.",[190,769,770,773],{},[194,771,772],{},"“The agent remembers the customer.”"," Memory in a personal thread is the user’s seat. Company memory is the job, the asserted policy, and the systems of record — not the model’s window. Do not retell that as a retrieval project. Cite the memory pages and keep decisions on the job while it is live.",[190,775,776,779],{},[194,777,778],{},"“Model-agnostic slide, single-vendor default.”"," Portability on a deck is not disposable jobs in production. Ask to reopen last month’s exception on this month’s model.",[190,781,782,785,786,789],{},[194,783,784],{},"“Institutional memory is a vector store.”"," Indexing everything without owners produces sludge. Disposable agents keep the ",[194,787,788],{},"small"," set of assertions and decisions on the job while it is open. The index is not the signer.",[190,791,792,795,796,798],{},[194,793,794],{},"“Multi-agent replaces multiplayer.”"," More models do not create a roster. ",[199,797,519],{"href":518}," does. A cast of specialists that cannot show finance the same rejection is a demo.",[190,800,801,804,805,809],{},[194,802,803],{},"“Disposable means cheap models only.”"," You can run a flagship model on a disposable design. You can run a cheap model on a design that still buries the job in a thread. Cost and continuity are different axes. ",[199,806,808],{"href":807},"what-is-ai-token-economics","What is AI token economics"," is the spend guide; this page is the continuity guide.",[243,811,813],{"id":812},"how-to-start-this-quarter","How to start this quarter",[190,815,816],{},"Pick one cross-team exception — hold, discount, stage conflict — already fought in chat every week.",[190,818,819],{},"Name the job. Attach the files once. Name the closer. Store the first rejection. Swap the model on week three on purpose. Invite a reader who was not in the original thread to reconstruct signer and payload without Slack.",[190,821,822,826,827,829,830,833,834,837,838,841,842,845],{},[199,823,825],{"href":824},"four-pillars-of-an-enterprise-ai-platform","Four pillars of an enterprise AI platform"," is the wider stack — wiki, workstreams, routing, governance as layers, not a single chat window. ",[199,828,459],{"href":458}," is the sheet for the shared-job shape. If the room is missing, start from ",[199,831,832],{"href":239},"what is collaborative AI"," and ",[199,835,836],{"href":482},"what is an AI workstream",". If the stop is missing, start from ",[199,839,840],{"href":493},"write-back governance",". If the agent is doing Monday’s known job, compile it — see ",[199,843,844],{"href":669},"loop engineering"," — instead of restaffing it with a persona.",[190,847,848],{},"The agent should be glad to leave. The project should not notice.",[243,850,852],{"id":851},"how-this-shows-up-in-nimbus","How this shows up in Nimbus",[190,854,855,856,859],{},"In Nimbus, the durable object is the ",[199,857,858],{"href":32},"workstream",": brief, attachments, roster, proposed payload, stored rejection, and signer. Agents assigned to that workstream are labour. Swapping a model or a vendor does not empty the job.",[190,861,862,864,865,869],{},[199,863,39],{"href":40}," keeps inherited authority and fail-closed writes on the same object, so the next agent arrives with the same bounds, not a fresh superuser token. Standing orders that should not need an agent at all are compiled as loops on that workstream — see ",[199,866,868],{"href":867},"what-is-a-nimbus-loop","what is a Nimbus Loop",".",[190,871,872,873,876],{},"Score the design with ",[199,874,875],{"href":458},"how to evaluate collaborative AI"," and the harness sheet, not a homepage video. If a proof of value cannot reopen last week’s rejection after a model swap, the agent is still the system of record.",[878,879,880],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":171,"searchDepth":172,"depth":172,"links":882},[883,884,885,886,887,888,889,890,891,892],{"id":245,"depth":172,"text":246},{"id":305,"depth":172,"text":306},{"id":366,"depth":172,"text":367},{"id":463,"depth":172,"text":464},{"id":581,"depth":172,"text":582},{"id":628,"depth":172,"text":629},{"id":679,"depth":172,"text":680},{"id":760,"depth":172,"text":761},{"id":812,"depth":172,"text":813},{"id":851,"depth":172,"text":852},"2026-09-12","The project survives the agent. Swap model, vendor, or harness — the job still holds the files, the decision, and the signer. A guide to continuity of the work, not a buying test.",{"eyebrow":896,"title":897},"Common questions","The job outlives the model",[899,902,905,908],{"question":900,"answer":901},"Is disposable the same as “swap the model” in an RFP?","No. A buying test for an agent harness asks whether adapters and tools still work when you change model weights mid-proof. That is a useful test, and it belongs on a different sheet. Disposable design asks whether the job still has its files, its stored rejection, and a named signer after the agent is gone. If Monday’s operator has to reconstruct the hold from Slack, the agent was the filing cabinet. Portability of the runtime and continuity of the work are easy to conflate in a demo. Score them separately, or you will pass an RFP and still lose the exception.",{"question":903,"answer":904},"Do we lose history if we replace the agent?","You should not, if history lives on the job rather than in the session. Attachments, proposals, approvals, and rejections belong on the named work object, visible to the roster. A vendor thread the next model cannot read is not a record. Exporting a transcript is not the same as keeping a payload and a signer. If replacing the agent forces a re-upload parade or a Slack archaeology session, the history was never institutional. Design for the swap before you need it.",{"question":906,"answer":907},"When should we worry about agent continuity?","Worry when a handover, an audit, or a Monday reopen depends on “the same chat.” If the job dies when someone clears the window, the agent was the system. Worry also when a second department must stand on the result, or when a customer-facing or system-of-record change can leave the room. Personal drafting can stay in a personal tool. Cross-team exceptions cannot. The test is simple: remove the original prompter and the original model, then ask a stranger to continue.",{"question":909,"answer":910},"Does disposable mean we should churn vendors every quarter?","No. Disposable is a design claim, not a procurement hobby. Stable vendors and stable models are fine when the job object is the source of continuity. Churning for its own sake wastes integration time and teaches nobody. The point is that a forced change — a price hike, a deprecation, a seat that lapses, a person on leave — must not erase the work. Treat the agent as staff on a shift. Treat the job as the unit that persists.","/blog/agents-should-be-disposable",{"title":181,"description":894},"explainer","blog/agents-should-be-disposable",[913,916,858,917],"agents","institutional-memory","oPucnJ8a4s7KWW2r9JLuRfRYT6RNa40fp41LljKtyzE",{"hero":920,"id":922,"title":923,"archived":165,"authors":166,"badge":166,"body":924,"date":166,"definedTerm":166,"department":166,"description":928,"extension":174,"eyebrow":929,"faqHeader":166,"faqs":166,"footerBand":930,"headline":166,"image":166,"industry":166,"jobType":166,"listed":131,"location":166,"navigation":131,"openRoles":166,"pageLayout":166,"path":60,"relatedHeading":936,"seo":937,"series":166,"sitemap":131,"status":166,"stem":938,"subhead":166,"tags":166,"video":166,"whyJoin":166,"workplaceType":166,"__hash__":939},{"filename":921},"u2221455217_Flat_design_of_a_futuristic_minimalist_landscape__5d589295-cdea-4ea9-a262-be766881accf_1.png","content/blog/index.md","Exploring the future of intelligence.",{"type":168,"value":925,"toc":926},[],{"title":171,"searchDepth":172,"depth":172,"links":927},[],"Deep dives into pre-cognitive intelligence, sentient enterprises, and the evolving landscape of AI-driven business transformation.","Latest Research",{"headline":931,"description":932,"primaryLabel":933,"primaryTo":934,"secondaryLabel":935,"secondaryTo":12},"Stay at the frontier.","Subscribe for product updates and new insights.","Subscribe","/newsletter","Explore the platform","More research",{"title":923,"description":928},"blog/index","BFSWGYO9bcTlaulivKYWyg08_DJHsdGg3OC6g_CG1Hw",[941,166],{"id":942,"title":943,"archived":165,"authors":944,"badge":946,"body":947,"date":893,"definedTerm":166,"department":166,"description":1850,"extension":174,"eyebrow":166,"faqHeader":1851,"faqs":1853,"footerBand":166,"headline":166,"image":166,"industry":166,"jobType":166,"listed":165,"location":166,"navigation":131,"openRoles":166,"pageLayout":166,"path":1863,"relatedHeading":166,"seo":1864,"series":913,"sitemap":131,"status":166,"stem":1865,"subhead":166,"tags":1866,"video":166,"whyJoin":166,"workplaceType":166,"__hash__":1870},"content/blog/loop-engineering-vs-harness-engineering.md","Loop Engineering vs Harness Engineering",[945],{"name":184,"to":136},{"label":186},{"type":168,"value":948,"toc":1836},[949,965,981,984,1015,1018,1022,1135,1145,1180,1195,1198,1202,1254,1257,1261,1264,1284,1287,1299,1305,1309,1312,1342,1345,1351,1366,1369,1373,1380,1389,1399,1405,1414,1420,1423,1432,1439,1443,1452,1465,1471,1477,1488,1500,1506,1515,1519,1526,1532,1539,1563,1569,1573,1576,1582,1588,1597,1603,1614,1623,1626,1629,1631,1634,1679,1685,1688,1690,1707,1717,1726,1730,1755,1759,1834],[190,950,951,833,953,956,957,960,961,964],{},[194,952,670],{},[194,954,955],{},"harness engineering"," are two disciplines enterprise AI programmes confuse at their peril. Harness engineering designs the runtime around a ",[194,958,959],{},"model"," — tools, hooks, stops, eval sensors. Loop engineering compiles the ",[194,962,963],{},"known path"," for unattended work — triggers, recipes, skips, run pages. You need both. They are not interchangeable.",[190,966,967,972,973,976,977,980],{},[199,968,971],{"href":969,"rel":970},"https://docs.langchain.com/oss/python/langchain/agents",[203],"LangChain"," states Agent = Model + Harness. That equation is harness engineering’s centre of gravity. Loop engineering deliberately stays ",[194,974,975],{},"off"," that equation for the happy path: if the steps are known, compile them; do not pay tokens to re-derive them. ",[199,978,279],{"href":277,"rel":979},[203]," makes the same architectural point: do not wrap a problem in agentic machinery when a fixed pipeline will complete the job.",[190,982,983],{},"Before the comparison lands, three nouns:",[251,985,986,996,1005],{},[254,987,988,991,992,869],{},[194,989,990],{},"Eval loop"," — sensor that grades a run. See ",[199,993,995],{"href":994},"eval-loops-for-enterprise-agent-harnesses","eval loops for enterprise agent harnesses",[254,997,998,1001,1002,869],{},[194,999,1000],{},"Standing-order loop"," — job on a workstream that admits a run. See ",[199,1003,1004],{"href":867},"what is a standing-order loop",[254,1006,1007,1010,1011,869],{},[194,1008,1009],{},"Agentic workflow"," — interactive reasoning when the route is not fully known. See ",[199,1012,1014],{"href":1013},"what-is-an-agentic-workflow","what is an agentic workflow",[190,1016,1017],{},"An eval loop is not a standing order. A standing order is not an agent. Harness engineering owns the model path; loop engineering owns the compiled path. Mixing the words is how a programme buys sensors and still starts work from Slack.",[243,1019,1021],{"id":1020},"loop-engineering-vs-harness-engineering","Loop engineering vs harness engineering",[388,1023,1024,1035],{},[391,1025,1026],{},[394,1027,1028,1030,1032],{},[397,1029,399],{},[397,1031,670],{},[397,1033,1034],{},"Harness engineering",[407,1036,1037,1050,1063,1076,1089,1104,1117],{},[394,1038,1039,1044,1047],{},[412,1040,1041],{},[194,1042,1043],{},"Unit of design",[412,1045,1046],{},"Compiled recipe on a workstream",[412,1048,1049],{},"Runtime around a model call",[394,1051,1052,1057,1060],{},[412,1053,1054],{},[194,1055,1056],{},"Happy path uses a model?",[412,1058,1059],{},"No",[412,1061,1062],{},"Yes",[394,1064,1065,1070,1073],{},[412,1066,1067],{},[194,1068,1069],{},"Primary failure mode",[412,1071,1072],{},"Silent drift, unrecorded skips",[412,1074,1075],{},"Tool misuse, prompt drift, false “done”",[394,1077,1078,1083,1086],{},[412,1079,1080],{},[194,1081,1082],{},"Primary artefact",[412,1084,1085],{},"Run page with outputs and skips",[412,1087,1088],{},"Hooks, sensors, versioned guides",[394,1090,1091,1096,1101],{},[412,1092,1093],{},[194,1094,1095],{},"Operator starts from",[412,1097,1098,1099],{},"Form on a ",[199,1100,858],{"href":482},[412,1102,1103],{},"Chat or task inside a harness",[394,1105,1106,1111,1114],{},[412,1107,1108],{},[194,1109,1110],{},"Verification",[412,1112,1113],{},"Input sensors, skip rules, diff vs baseline",[412,1115,1116],{},"Eval loops, schema checks, human gates",[394,1118,1119,1124,1129],{},[412,1120,1121],{},[194,1122,1123],{},"Best reference",[412,1125,1126],{},[199,1127,1128],{"href":669},"What is loop engineering",[412,1130,1131],{},[199,1132,1134],{"href":1133},"what-is-harness-engineering","What is harness engineering",[190,1136,1137,1138,1141,1142],{},"Loop engineering asks: ",[194,1139,1140],{},"can this job run the same way without anyone re-describing it?"," Harness engineering asks: ",[194,1143,1144],{},"when the model acts, what can it reach, and what independently verifies the claim?",[522,1146,1148],{"className":524,"code":1147,"language":526,"meta":171,"style":171},"flowchart TD\n  job[\"A recurring job\"] --> known{\"Are the steps already known?\"}\n  known -->|yes| loopPath[\"Loop engineering: compile, skip, record\"]\n  known -->|no| harnessPath[\"Harness engineering: bound the model\"]\n  loopPath --> same[\"Same team, same finish line\"]\n  harnessPath --> same\n",[528,1149,1150,1155,1160,1165,1170,1175],{"__ignoreMap":171},[531,1151,1152],{"class":533,"line":534},[531,1153,1154],{},"flowchart TD\n",[531,1156,1157],{"class":533,"line":172},[531,1158,1159],{},"  job[\"A recurring job\"] --> known{\"Are the steps already known?\"}\n",[531,1161,1162],{"class":533,"line":545},[531,1163,1164],{},"  known -->|yes| loopPath[\"Loop engineering: compile, skip, record\"]\n",[531,1166,1167],{"class":533,"line":551},[531,1168,1169],{},"  known -->|no| harnessPath[\"Harness engineering: bound the model\"]\n",[531,1171,1172],{"class":533,"line":557},[531,1173,1174],{},"  loopPath --> same[\"Same team, same finish line\"]\n",[531,1176,1177],{"class":533,"line":563},[531,1178,1179],{},"  harnessPath --> same\n",[190,1181,1182,1186,1187,1190,1191,1194],{},[199,1183,1185],{"href":754,"rel":1184},[203],"Thoughtworks’ operating system for enterprise AI"," maps organisational layers — model, builder harness, user harness, organisational harness. Loop engineering sits closest to ",[194,1188,1189],{},"user harness"," for deterministic segments: feed-forward rules, deterministic feedback. Harness engineering owns the ",[194,1192,1193],{},"probabilistic"," segments and the hooks that refuse bad tool calls.",[190,1196,1197],{},"Neither replaces the other. A programme that only buys harness tooling will agent-wrap every checklist. A programme that only compiles loops will stall the first time someone says “it depends.”",[243,1199,1201],{"id":1200},"words-youll-hear","Words you’ll hear",[251,1203,1204,1210,1216,1222,1228,1236,1242,1248],{},[254,1205,1206,1209],{},[194,1207,1208],{},"Compile."," Turn a known checklist into a replayable recipe. Loop engineering’s verb.",[254,1211,1212,1215],{},[194,1213,1214],{},"Harness."," Constrain a model: tools, stops, sensors. Harness engineering’s noun.",[254,1217,1218,1221],{},[194,1219,1220],{},"Happy path."," The route that should not need judgement. Keep the model off it.",[254,1223,1224,1227],{},[194,1225,1226],{},"Exception class."," A named kind of skip you might later attach to an agentic workflow.",[254,1229,1230,1233,1234,869],{},[194,1231,1232],{},"Eval sensor."," Grades a run. Does not admit a run. See ",[199,1235,995],{"href":994},[254,1237,1238,1241],{},[194,1239,1240],{},"Hook."," A refuse-or-allow gate around a tool call. Harness vocabulary.",[254,1243,1244,1247],{},[194,1245,1246],{},"Skip."," A recorded halt on the compiled path. Loop vocabulary.",[254,1249,1250,1253],{},[194,1251,1252],{},"Guide / playbook."," Feed-forward context. In coding harnesses, a file; in enterprise work, a wiki section on the workstream.",[190,1255,1256],{},"If a meeting uses “loop” for both a cron job and an eval sensor, stop and rename. You cannot staff a discipline you cannot point at.",[243,1258,1260],{"id":1259},"when-loop-engineering-leads","When loop engineering leads",[190,1262,1263],{},"Choose loop engineering when:",[251,1265,1266,1269,1272,1275,1278],{},[254,1267,1268],{},"the job already has a written checklist two people can follow",[254,1270,1271],{},"inputs are structured (APIs, sheets, exports), not scanned documents of unknown layout",[254,1273,1274],{},"the output is a table, list, or draft — not a novel strategy",[254,1276,1277],{},"runs should happen on a schedule or trigger without a human starting chat",[254,1279,1280,1281],{},"cost and audit favour ",[194,1282,1283],{},"no model on the happy path",[190,1285,1286],{},"Examples: weekly pipeline exception lists, inventory threshold reports, connector health summaries, accrual mismatch passes, licence true-ups against a source of truth.",[190,1288,1289,1293,1294,1298],{},[199,1290,1292],{"href":1291},"loop-vs-rpa","Loop vs RPA",": prefer API reads and explicit skips over screen replay. ",[199,1295,1297],{"href":1296},"loop-vs-workflow-vs-agent","Loop vs workflow vs agent",": compile the segment that is stable; leave agentic workflow for the branch that is not.",[190,1300,1301,1304],{},[199,1302,358],{"href":356,"rel":1303},[203]," tracks capability rising faster than operational discipline. Loop engineering is discipline for work you already know how to do. Capability is not the bottleneck on a Monday exception table.",[243,1306,1308],{"id":1307},"when-harness-engineering-leads","When harness engineering leads",[190,1310,1311],{},"Choose harness engineering when:",[251,1313,1314,1317,1320,1323,1330],{},[254,1315,1316],{},"the step requires language generation with judgement (customer-facing prose, legal first draft)",[254,1318,1319],{},"tool selection is dynamic (which system depends on the case)",[254,1321,1322],{},"the environment changes faster than you can compile (greenfield code exploration)",[254,1324,1325,1326,1329],{},"verification must include inferential sensors (rubric-based quality) ",[194,1327,1328],{},"in addition to"," deterministic gates",[254,1331,1332,1333,1337,1338],{},"you are wrapping an ",[199,1334,1336],{"href":1335},"what-is-an-agent-harness","agent harness"," or ",[199,1339,1341],{"href":1340},"what-is-an-enterprise-agent-harness","enterprise agent harness",[190,1343,1344],{},"Examples: drafting a renewal brief from scattered notes, proposing a code patch with tests, summarising an incident with citations, negotiating which connector to query based on the question.",[190,1346,1347,1350],{},[199,1348,1349],{"href":994},"Eval loops for enterprise agent harnesses"," are harness engineering’s feedback layer. They do not admit runs; they grade them.",[190,1352,1353,833,1358,1363,1364,869],{},[199,1354,1357],{"href":1355,"rel":1356},"https://martinfowler.com/articles/harness-engineering.html",[203],"Böckeler on harness engineering",[199,1359,1362],{"href":1360,"rel":1361},"https://www.thoughtworks.com/en-us/insights/blog/generative-ai/harness-engineering-agent-feedback-exploring-ai-coding-sensors",[203],"Thoughtworks on agent feedback sensors"," are the coding-native vocabulary — guides in, sensors back. The enterprise translation is wiki playbooks in, quoted writes and graph exports back. See ",[199,1365,840],{"href":493},[190,1367,1368],{},"Harness engineering is not “add a model.” It is “when a model acts, bound it.” Without hooks and sensors, you have a chat window with production credentials.",[243,1370,1372],{"id":1371},"how-they-meet-on-one-job","How they meet on one job",[190,1374,1375,1376,1379],{},"Real work is a ",[194,1377,1378],{},"chain",", not a purity test.",[190,1381,1382,1385,1386,1388],{},[194,1383,1384],{},"Segment 1 — compile."," Nightly pull and exception table. Standing-order loop on a ",[199,1387,858],{"href":482},". No model.",[190,1390,1391,1394,1395,1398],{},[194,1392,1393],{},"Segment 2 — collaborate."," Humans resolve skips on the run page. ",[199,1396,1397],{"href":239},"Collaborative AI"," on the same roster. Still no model required.",[190,1400,1401,1404],{},[194,1402,1403],{},"Segment 3 — draft."," For approved exception classes, an agentic workflow drafts customer email or CRM note. Harness engineering applies: tool allow-list, wiki context, eval sensor on tone and facts.",[190,1406,1407,1410,1411,1413],{},[194,1408,1409],{},"Segment 4 — act."," Signed write to CRM. ",[199,1412,519],{"href":518},". Harness sensor: payload hash matches execution.",[190,1415,1416,1419],{},[194,1417,1418],{},"Segment 5 — record."," Lifecycle evidence for replay. Loop run page links to harness trace.",[190,1421,1422],{},"Buying only segment 3 because “we are an AI company” leaves segments 1, 2, 4, and 5 in Slack. Buying only segment 1 because “we hate agents” leaves segment 3 as manual paste from a personal chat tool — the worst of both worlds.",[190,1424,1425,1427,1428,1431],{},[199,1426,825],{"href":824}," is the hosting story: workstream holds the loop ",[194,1429,1430],{},"and"," the harness steps; governance holds the write plane; graph holds the evidence.",[190,1433,1434,1438],{},[199,1435,1437],{"href":214,"rel":1436},[203],"McKinsey’s State of AI"," reports usage ahead of redesign. Segment maps are redesign. A single “AI initiative” slide is not.",[243,1440,1442],{"id":1441},"what-goes-wrong-when-you-conflate-them","What goes wrong when you conflate them",[190,1444,1445,1448,1449,869],{},[194,1446,1447],{},"Agent-wrapping a checklist."," Every Monday the model re-reads instructions and re-derives spreadsheet logic. Cost scales with repetition. Drift scales with temperature. Audit sees a transcript, not a recipe version. See ",[199,1450,1451],{"href":674},"a loop is not an agent",[190,1453,1454,1457,1458,1461,1462,869],{},[194,1455,1456],{},"Treating eval as admission."," A sensor that grades runs does not replace a standing order that starts them. See ",[199,1459,1460],{"href":867},"standing-order loops"," versus ",[199,1463,1464],{"href":994},"eval loops",[190,1466,1467,1470],{},[194,1468,1469],{},"Harness without organisational ownership."," Hooks exist; nobody owns skip trends on the compiled side. Incidents become prompt edits, not recipe updates.",[190,1472,1473,1476],{},[194,1474,1475],{},"Loop without escalation path."," Ambiguous rows get “best effort” fills. Unknown path → person or explicit agentic workflow, never silent guess overnight.",[190,1478,1479,1482,1483,1487],{},[194,1480,1481],{},"Disposable agents ignored."," ",[199,1484,1486],{"href":1485},"agents-should-be-disposable","Agents should be disposable"," for exploration. If the compiled loop depends on one irreplaceable prompt, you have not compiled — you have hidden a harness inside a scheduled job.",[190,1489,1490,1482,1493,833,1497,1499],{},[194,1491,1492],{},"One scorecard.",[199,1494,1496],{"href":1495},"how-to-evaluate-loop-engineering","How to evaluate loop engineering",[199,1498,228],{"href":227}," are sibling sheets. Scoring fluency will buy you a copilot. Scoring skip semantics will buy you a standing order. You likely need both, on different segments.",[190,1501,1502,1505],{},[194,1503,1504],{},"Religious war."," “We do not do agents” leaves judgement in side tools. “Everything is an agent” leaves checklists expensive and unauditable. Map the chain.",[190,1507,1508,1509,1511,1512,1514],{},"Conflation is a common lag pattern — one product category expected to solve operations ",[194,1510,1430],{}," generation ",[194,1513,1430],{}," governance. It will not.",[243,1516,1518],{"id":1517},"governance-and-risk-both-disciplines","Governance and risk (both disciplines)",[190,1520,1521,1525],{},[199,1522,1524],{"href":330,"rel":1523},[203],"NIST AI RMF"," applies to both: Map the job, Measure what ran, Manage controls after incidents. Loop engineering contributes Measure via run pages and skip logs. Harness engineering contributes Manage via hooks and eval ratchets.",[190,1527,1528,1531],{},[199,1529,624],{"href":622,"rel":1530},[203]," wants documented roles. Loops name roster and owner. Harnesses name who may add tools.",[190,1533,1534,1538],{},[199,1535,1537],{"href":356,"rel":1536},[203],"Stanford HAI AI Index"," tracks deployment velocity. Velocity without segment clarity produces headline pilots that do not survive audit season.",[190,1540,1541,1542,1547,1548,1547,1553,1558,1559,1562],{},"Regulatory texts — ",[199,1543,1546],{"href":1544,"rel":1545},"https://www.govinfo.gov/content/pkg/PLAW-107publ204/html/PLAW-107publ204.htm",[203],"Sarbanes-Oxley",", ",[199,1549,1552],{"href":1550,"rel":1551},"https://artificialintelligenceact.eu/",[203],"EU AI Act",[199,1554,1557],{"href":1555,"rel":1556},"https://gdpr.eu/",[203],"GDPR"," — rarely name either discipline. They ask operational questions: who decided, what ran, can you replay it. Loops answer for unattended segments; harnesses answer for model segments. ",[199,1560,1561],{"href":504},"Human-in-the-loop"," remains the bridge for judgement.",[190,1564,1565,1566,1568],{},"A practical control split: compiled segments should be replayable without a model; model segments should be refuse-able without trusting the model’s manners. ",[199,1567,494],{"href":493}," sits on actions from either path.",[243,1570,1572],{"id":1571},"a-worked-example-vendor-invoice-matching","A worked example: vendor invoice matching",[190,1574,1575],{},"Accounts payable matches invoices to purchase orders every day.",[190,1577,1578,1581],{},[194,1579,1580],{},"Loop segment (compile)."," Trigger: files in the AP inbox folder. Recipe: read invoice metadata via a structured parser, read the purchase-order export, apply matching rules, output an exception list, notify the AP lead. Skips: unknown vendor code, multi-order ambiguity. No model on the happy path.",[190,1583,1584,1587],{},[194,1585,1586],{},"Harness segment (judgement)."," For “fuzzy description match” rows escalated to a queue, an agentic workflow proposes line mapping with citations to prior approved matches. Harness: read-only history connector, wiki “AP matching v2,” eval loop samples a tenth of cases for controller review.",[190,1589,1590,1593,1594,1596],{},[194,1591,1592],{},"Collaborative segment."," AP lead and controller work skips on the workstream. ",[199,1595,459],{"href":458},": same run page, named signers, stored rejections.",[190,1598,1599,1602],{},[194,1600,1601],{},"Action segment."," Approved match posts to ERP. Write-back governance. Harness sensor on payload.",[190,1604,1605,1606,1608,1609,833,1611,1613],{},"Score the programme: loop metrics (skip rate, time to list) ",[194,1607,1430],{}," harness metrics (refusal rate, eval pass rate). ",[199,1610,1496],{"href":1495},[199,1612,228],{"href":227}," are sibling scorecards.",[190,1615,1616,1617,1622],{},"Human–AI team research (",[199,1618,1621],{"href":1619,"rel":1620},"https://www.nature.com/articles/s41562-022-01358-0",[203],"Yang et al., Nature Human Behaviour, 2022",") supports explicit division of labour. Loops and harnesses are that division made architectural.",[190,1624,1625],{},"Walk a Tuesday. Eighty invoices match by rule. Twelve skip for unknown vendor codes and go to the human queue. Three fuzzy descriptions enter the harnessed workflow; one proposal is refused because the citation is a different legal entity. Two signed posts go to ERP. The run page shows all of that. Nobody asked a channel “did the bot run.”",[190,1627,1628],{},"If you had agent-wrapped the entire inbox, those eighty matches would have been eighty opportunities to drift. If you had compiled only, the three fuzzy rows would have sat until someone invented a private workaround.",[243,1630,813],{"id":812},[190,1632,1633],{},"Do not launch a “loop versus harness” religious war. Map one job.",[685,1635,1636,1642,1648,1659,1667,1673],{},[254,1637,1638,1641],{},[194,1639,1640],{},"Draw the chain"," from trigger to outcome. Box each step.",[254,1643,1644,1647],{},[194,1645,1646],{},"Mark steps as compile, collaborate, generate, or act."," Most chains are mostly compile.",[254,1649,1650,1653,1654,1656,1657,869],{},[194,1651,1652],{},"Implement compile first"," on a ",[199,1655,858],{"href":482}," with outputs only. ",[199,1658,1128],{"href":669},[254,1660,1661,1664,1665,869],{},[194,1662,1663],{},"Add harness only on marked generate steps"," with one eval sensor and one refuse case. ",[199,1666,1134],{"href":1133},[254,1668,1669,1672],{},[194,1670,1671],{},"Run ten cycles."," Count skips (loop) and refusals (harness). Update recipe or hooks — not both in one undifferentiated “AI tuning” meeting.",[254,1674,1675,1678],{},[194,1676,1677],{},"Promote one action class"," only after outputs match the manual baseline and at least one rejection has been stored.",[190,1680,1681,1682,1684],{},"If your vendor cannot show a run page ",[194,1683,1430],{}," a harness trace for the same job, ask which discipline they actually sell.",[190,1686,1687],{},"Staff the work accordingly. Recipe ownership is an operations role. Hook and sensor ownership is a platform or risk role. Do not assign both to “the AI champion” and hope.",[243,1689,852],{"id":851},[190,1691,1692,1693,1695,1696,1699,1700,1703,1704,869],{},"The platform hosts both patterns on the same ",[199,1694,858],{"href":482},". A ",[194,1697,1698],{},"Loop"," is the compiled standing order — trigger, recipe, run page, skips. Harness controls apply when a model step is attached for an exception class or an ",[199,1701,1702],{"href":1013},"agentic workflow",": tools, stops, ",[199,1705,1706],{"href":994},"eval sensors",[190,1708,1709,1711,1712,833,1714,869],{},[199,1710,39],{"href":493}," sits on the write plane for either path. Operators should still be able to point at each object separately. See ",[199,1713,868],{"href":867},[199,1715,1716],{"href":1133},"what is harness engineering",[190,1718,1719,1720,833,1723,869],{},"Product surfaces: ",[199,1721,1722],{"href":32},"workstreams",[199,1724,1725],{"href":40},"governance",[243,1727,1729],{"id":1728},"related-reading","Related reading",[251,1731,1732,1736,1740,1745,1749],{},[254,1733,1734],{},[199,1735,1128],{"href":669},[254,1737,1738],{},[199,1739,1134],{"href":1133},[254,1741,1742],{},[199,1743,1744],{"href":867},"What is a Nimbus Loop",[254,1746,1747],{},[199,1748,675],{"href":674},[254,1750,1751],{},[199,1752,1754],{"href":1753},"agent-harness-vs-agent-framework","Agent harness vs agent framework",[243,1756,1758],{"id":1757},"sources","Sources",[251,1760,1761,1767,1773,1779,1785,1791,1797,1802,1807,1813,1818,1824,1829],{},[254,1762,1763],{},[199,1764,1766],{"href":969,"rel":1765},[203],"LangChain, Agents",[254,1768,1769],{},[199,1770,1772],{"href":754,"rel":1771},[203],"Thoughtworks, The operating system for enterprise AI",[254,1774,1775],{},[199,1776,1778],{"href":1360,"rel":1777},[203],"Thoughtworks, Harness engineering and agent feedback",[254,1780,1781],{},[199,1782,1784],{"href":1355,"rel":1783},[203],"Böckeler, Harness engineering",[254,1786,1787],{},[199,1788,1790],{"href":277,"rel":1789},[203],"Anthropic, Building effective agents",[254,1792,1793],{},[199,1794,1796],{"href":214,"rel":1795},[203],"McKinsey, The state of AI in 2025",[254,1798,1799],{},[199,1800,1524],{"href":330,"rel":1801},[203],[254,1803,1804],{},[199,1805,624],{"href":622,"rel":1806},[203],[254,1808,1809],{},[199,1810,1812],{"href":356,"rel":1811},[203],"Stanford HAI, AI Index",[254,1814,1815],{},[199,1816,1621],{"href":1619,"rel":1817},[203],[254,1819,1820],{},[199,1821,1823],{"href":1544,"rel":1822},[203],"Sarbanes-Oxley Act of 2002",[254,1825,1826],{},[199,1827,1552],{"href":1550,"rel":1828},[203],[254,1830,1831],{},[199,1832,1557],{"href":1555,"rel":1833},[203],[878,1835,880],{},{"title":171,"searchDepth":172,"depth":172,"links":1837},[1838,1839,1840,1841,1842,1843,1844,1845,1846,1847,1848,1849],{"id":1020,"depth":172,"text":1021},{"id":1200,"depth":172,"text":1201},{"id":1259,"depth":172,"text":1260},{"id":1307,"depth":172,"text":1308},{"id":1371,"depth":172,"text":1372},{"id":1441,"depth":172,"text":1442},{"id":1517,"depth":172,"text":1518},{"id":1571,"depth":172,"text":1572},{"id":812,"depth":172,"text":813},{"id":851,"depth":172,"text":852},{"id":1728,"depth":172,"text":1729},{"id":1757,"depth":172,"text":1758},"Harness engineering designs the runtime around a model. Loop engineering compiles the known path for unattended work. Enterprise programmes need both — they fail in different places.",{"eyebrow":896,"title":1852},"Two disciplines, one programme",[1854,1857,1860],{"question":1855,"answer":1856},"Which comes first — loop engineering or harness engineering?","Start with loop engineering for jobs that already have a checklist and no model on the happy path. Add harness engineering when a step needs generation, tool use, or non-deterministic judgement. Most operational chains are mostly compile: read, rule, table, notify. Generation is a segment, not the programme. Use this order so you do not pay tokens to re-derive VLOOKUP logic every Monday. Refuse a plan that begins with an agent wrap because the vendor demo was fluent.",{"question":1858,"answer":1859},"Can one vendor do both?","A platform can host both patterns. The disciplines stay distinct: compiled recipes with skips are not the same object as hooks and eval sensors around a model. Ask to see a run page for the compiled segment and a harness trace for the generative segment — separately, on the same job. Use one workstream so roster and connectors are shared. Refuse a single slide that calls every scheduled prompt a loop and every checklist an agent. If the vendor cannot show each object, they sell one discipline and market the other.",{"question":1861,"answer":1862},"Does harness engineering replace RPA or loops?","No: harness engineering wraps model steps, loop engineering compiles deterministic paths, and RPA replays screens. Pick the simplest tool for each segment of the job. Use APIs and recorded skips instead of screen replay when the interface will change. Use a harness only where judgement or generation is required. Refuse to replace a working compiled path with an agent because the word agent is in this year's budget, and refuse to call a brittle click-path loop engineering. See loop vs RPA.","/blog/loop-engineering-vs-harness-engineering",{"title":943,"description":1850},"blog/loop-engineering-vs-harness-engineering",[913,1867,1868,1869],"loop-engineering","harness-engineering","enterprise-ai","6QkINtgytBlvGGP3M1kqCfKMM8RfUAeTIuzaX_-cBio",{"enabled":165,"message":1872,"linkLabel":79,"linkHref":80,"id":1873,"title":1874,"archived":165,"authors":166,"badge":166,"body":1875,"date":166,"definedTerm":166,"department":166,"description":171,"extension":174,"eyebrow":166,"faqHeader":166,"faqs":166,"footerBand":166,"headline":166,"image":166,"industry":166,"jobType":166,"listed":131,"location":166,"navigation":131,"openRoles":166,"pageLayout":166,"path":1879,"relatedHeading":166,"seo":1880,"series":166,"sitemap":165,"status":166,"stem":1881,"subhead":166,"tags":166,"video":166,"whyJoin":166,"workplaceType":166,"__hash__":1882},"We're hiring! Join the team building the Sentient Enterprise.","content/shared/hiring.md","Hiring banner",{"type":168,"value":1876,"toc":1877},[],{"title":171,"searchDepth":172,"depth":172,"links":1878},[],"/shared/hiring",{"title":1874,"description":171},"shared/hiring","1zs3boivKda1e-b-hAyuNcmZSKjZUAXmecnwHVgcHzk",{"fold":1884,"id":1888,"title":1889,"archived":165,"authors":166,"badge":166,"body":1890,"date":166,"definedTerm":166,"department":166,"description":171,"extension":174,"eyebrow":166,"faqHeader":166,"faqs":166,"footerBand":1894,"headline":166,"image":166,"industry":166,"jobType":166,"listed":131,"location":166,"navigation":131,"openRoles":166,"pageLayout":166,"path":1898,"relatedHeading":166,"seo":1899,"series":166,"sitemap":165,"status":166,"stem":1900,"subhead":166,"tags":166,"video":166,"whyJoin":166,"workplaceType":166,"__hash__":1901},{"headline":1885,"description":1886,"primaryLabel":8,"primaryTo":1887,"secondaryLabel":935,"secondaryTo":12},"Run frontier AI your business actually owns.","Governed agent swarms, 2,000+ integrations, and a knowledge graph that stays inside your walls. Start on Free.","/signup?plan=free","content/shared/cta.md","Site CTAs",{"type":168,"value":1891,"toc":1892},[],{"title":171,"searchDepth":172,"depth":172,"links":1893},[],{"headline":1895,"description":1896,"primaryLabel":8,"primaryTo":1887,"secondaryLabel":1897,"secondaryTo":85},"See what governed AI looks like on your stack.","Connect your tools, run a workstream, and keep every decision on your ledger. Start on Free.","Talk to our team","/shared/cta",{"title":1889,"description":171},"shared/cta","PS2VPJsszmUpMBZT6nEp8cWXCdeiN6zDRl-p8d0uY2k",1789797892968]