[{"data":1,"prerenderedAt":181},["ShallowReactive",2],{"layout-chapters":3,"sidebar-chapters":34,"chapter-factor-11":65,"all-chapters":153},[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":60,"body":67,"chapterIndex":146,"description":141,"extension":147,"meta":148,"navigation":149,"path":150,"seo":151,"slug":29,"stem":29,"__hash__":152},"chapters\u002Ffactor-11.md",{"type":68,"value":69,"toc":140},"minimark",[70,75,99,106,109,112],[71,72,74],"h3",{"id":73},"_11-trigger-from-anywhere-meet-users-where-they-are","11. Trigger from anywhere, meet users where they are",[76,77,78,79,86,87,92,93,98],"p",{},"If you're waiting for the ",[80,81,85],"a",{"href":82,"rel":83},"https:\u002F\u002Fhumanlayer.dev",[84],"nofollow","humanlayer"," pitch, you made it. If you're doing ",[80,88,91],{"href":89,"rel":90},"https:\u002F\u002Fgithub.com\u002Fhumanlayer\u002F12-factor-agents\u002Fblob\u002Fmain\u002Fcontent\u002Ffactor-06-launch-pause-resume.md",[84],"factor 6 - launch\u002Fpause\u002Fresume with simple APIs"," and ",[80,94,97],{"href":95,"rel":96},"https:\u002F\u002Fgithub.com\u002Fhumanlayer\u002F12-factor-agents\u002Fblob\u002Fmain\u002Fcontent\u002Ffactor-07-contact-humans-with-tools.md",[84],"factor 7 - contact humans with tool calls",", you're ready to incorporate this factor.",[76,100,101],{},[102,103],"img",{"alt":104,"src":105},"1b0-trigger-from-anywhere","https:\u002F\u002Fgithub.com\u002Fhumanlayer\u002F12-factor-agents\u002Fblob\u002Fmain\u002Fimg\u002F1b0-trigger-from-anywhere.png?raw=true",[76,107,108],{},"Enable users to trigger agents from slack, email, sms, or whatever other channel they want. Enable agents to respond via the same channels.",[76,110,111],{},"Benefits:",[113,114,115,123,129],"ul",{},[116,117,118,122],"li",{},[119,120,121],"strong",{},"Meet users where they are",": This helps you build AI applications that feel like real humans, or at the very least, digital coworkers",[116,124,125,128],{},[119,126,127],{},"Outer Loop Agents",": Enable agents to be triggered by non-humans, e.g. events, crons, outages, whatever else. They may work for 5, 20, 90 minutes, but when they get to a critical point, they can contact a human for help, feedback, or approval",[116,130,131,134,135],{},[119,132,133],{},"High Stakes Tools",": If you're able to quickly loop in a variety of humans, you can give agents access to higher stakes operations like sending external emails, updating production data and more. Maintaining clear standards gets you auditability and confidence in agents that ",[80,136,139],{"href":137,"rel":138},"https:\u002F\u002Fgithub.com\u002Fhumanlayer\u002F12-factor-agents\u002Fblob\u002Fmain\u002Fcontent\u002Ffactor-10-small-focused-agents.md#what-if-llms-get-smarter",[84],"perform bigger better things",{"title":141,"searchDepth":142,"depth":142,"links":143},"",2,[144],{"id":73,"depth":145,"text":74},3,12,"md",{},true,"\u002Ffactor-11",{"title":60,"description":141},"1mNsjbTt072AQig_y1KTkIF7kbaqfm7YbWKkbrzzwqY",[154,156,158,159,160,162,164,166,168,170,172,174,176,177,179],{"slug":5,"title":36,"chapterIndex":155},0,{"slug":7,"title":38,"chapterIndex":157},1,{"slug":9,"title":40,"chapterIndex":142},{"slug":11,"title":42,"chapterIndex":145},{"slug":13,"title":44,"chapterIndex":161},4,{"slug":15,"title":46,"chapterIndex":163},5,{"slug":17,"title":48,"chapterIndex":165},6,{"slug":19,"title":50,"chapterIndex":167},7,{"slug":21,"title":52,"chapterIndex":169},8,{"slug":23,"title":54,"chapterIndex":171},9,{"slug":25,"title":56,"chapterIndex":173},10,{"slug":27,"title":58,"chapterIndex":175},11,{"slug":29,"title":60,"chapterIndex":146},{"slug":31,"title":62,"chapterIndex":178},13,{"slug":33,"title":64,"chapterIndex":180},14,1788741638422]