[{"data":1,"prerenderedAt":189},["ShallowReactive",2],{"layout-chapters":3,"sidebar-chapters":34,"chapter-factor-6":65,"all-chapters":161},[4,6,8,10,12,14,16,18,20,22,24,26,28,30,32],{"slug":5},"intro",{"slug":7},"brief-history",{"slug":9},"factor-1",{"slug":11},"factor-2",{"slug":13},"factor-3",{"slug":15},"factor-4",{"slug":17},"factor-5",{"slug":19},"factor-6",{"slug":21},"factor-7",{"slug":23},"factor-8",{"slug":25},"factor-9",{"slug":27},"factor-10",{"slug":29},"factor-11",{"slug":31},"factor-12",{"slug":33},"appendix",[35,37,39,41,43,45,47,49,51,53,55,57,59,61,63],{"slug":5,"title":36},"Introduction",{"slug":7,"title":38},"A Brief History of Software",{"slug":9,"title":40},"Factor 1: Natural Language to Tool Calls",{"slug":11,"title":42},"Factor 2: Own Your Prompts",{"slug":13,"title":44},"Factor 3: Own Your Context Window",{"slug":15,"title":46},"Factor 4: Tools Are Structured Outputs",{"slug":17,"title":48},"Factor 5: Unify Execution State",{"slug":19,"title":50},"Factor 6: Launch\u002FPause\u002FResume",{"slug":21,"title":52},"Factor 7: Contact Humans with Tools",{"slug":23,"title":54},"Factor 8: Own Your Control Flow",{"slug":25,"title":56},"Factor 9: Compact Errors into Context",{"slug":27,"title":58},"Factor 10: Small, Focused Agents",{"slug":29,"title":60},"Factor 11: Trigger from Anywhere",{"slug":31,"title":62},"Factor 12: Stateless Reducer",{"slug":33,"title":64},"Appendix: Pre-Fetch Context",{"id":66,"title":50,"body":67,"chapterIndex":154,"description":149,"extension":155,"meta":156,"navigation":157,"path":158,"seo":159,"slug":19,"stem":19,"__hash__":160},"chapters\u002Ffactor-6.md",{"type":68,"value":69,"toc":148},"minimark",[70,75,79,92,106,109,112,115,130],[71,72,74],"h3",{"id":73},"_6-launchpauseresume-with-simple-apis","6. Launch\u002FPause\u002FResume with simple APIs",[76,77,78],"p",{},"Agents are just programs, and we have things we expect from how to launch, query, resume, and stop them.",[76,80,81],{},[82,83,87],"a",{"href":84,"rel":85},"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Ffeb1a425-cb96-4009-a133-8bd29480f21f",[86],"nofollow",[88,89],"img",{"alt":90,"src":91},"pause-resume animation","https:\u002F\u002Fgithub.com\u002Fhumanlayer\u002F12-factor-agents\u002Fblob\u002Fmain\u002Fimg\u002F165-pause-resume-animation.gif?raw=true",[93,94,95,102],"details",{},[96,97,98],"summary",{},[82,99,101],{"href":100},"https:\u002F\u002Fgithub.com\u002Fhumanlayer\u002F12-factor-agents\u002Fblob\u002Fmain\u002Fimg\u002F165-pause-resume-animation.gif","GIF Version",[76,103,104],{},[88,105],{"alt":90,"src":91},[76,107,108],{},"It should be easy for users, apps, pipelines, and other agents to launch an agent with a simple API.",[76,110,111],{},"Agents and their orchestrating deterministic code should be able to pause an agent when a long-running operation is needed.",[76,113,114],{},"External triggers like webhooks should enable agents to resume from where they left off without deep integration with the agent orchestrator.",[76,116,117,118,123,124,129],{},"Closely related to ",[82,119,122],{"href":120,"rel":121},"https:\u002F\u002Fgithub.com\u002Fhumanlayer\u002F12-factor-agents\u002Fblob\u002Fmain\u002Fcontent\u002Ffactor-05-unify-execution-state.md",[86],"factor 5 - unify execution state and business state"," and ",[82,125,128],{"href":126,"rel":127},"https:\u002F\u002Fgithub.com\u002Fhumanlayer\u002F12-factor-agents\u002Fblob\u002Fmain\u002Fcontent\u002Ffactor-08-own-your-control-flow.md",[86],"factor 8 - own your control flow",", but can be implemented independently.",[76,131,132,136,137,123,142,147],{},[133,134,135],"strong",{},"Note"," - often AI orchestrators will allow for pause and resume, but not between the moment of tool selection and tool execution. See also ",[82,138,141],{"href":139,"rel":140},"https:\u002F\u002Fgithub.com\u002Fhumanlayer\u002F12-factor-agents\u002Fblob\u002Fmain\u002Fcontent\u002Ffactor-07-contact-humans-with-tools.md",[86],"factor 7 - contact humans with tool calls",[82,143,146],{"href":144,"rel":145},"https:\u002F\u002Fgithub.com\u002Fhumanlayer\u002F12-factor-agents\u002Fblob\u002Fmain\u002Fcontent\u002Ffactor-11-trigger-from-anywhere.md",[86],"factor 11 - trigger from anywhere, meet users where they are",".",{"title":149,"searchDepth":150,"depth":150,"links":151},"",2,[152],{"id":73,"depth":153,"text":74},3,7,"md",{},true,"\u002Ffactor-6",{"title":50,"description":149},"uMqK9fRQrsVpzh_D1437PZpVRnMnTvJ3Of1pBH2TQAg",[162,164,166,167,168,170,172,174,175,177,179,181,183,185,187],{"slug":5,"title":36,"chapterIndex":163},0,{"slug":7,"title":38,"chapterIndex":165},1,{"slug":9,"title":40,"chapterIndex":150},{"slug":11,"title":42,"chapterIndex":153},{"slug":13,"title":44,"chapterIndex":169},4,{"slug":15,"title":46,"chapterIndex":171},5,{"slug":17,"title":48,"chapterIndex":173},6,{"slug":19,"title":50,"chapterIndex":154},{"slug":21,"title":52,"chapterIndex":176},8,{"slug":23,"title":54,"chapterIndex":178},9,{"slug":25,"title":56,"chapterIndex":180},10,{"slug":27,"title":58,"chapterIndex":182},11,{"slug":29,"title":60,"chapterIndex":184},12,{"slug":31,"title":62,"chapterIndex":186},13,{"slug":33,"title":64,"chapterIndex":188},14,1788741638421]