[{"data":1,"prerenderedAt":133},["ShallowReactive",2],{"layout-chapters":3,"sidebar-chapters":34,"chapter-factor-12":65,"all-chapters":105},[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":62,"body":67,"chapterIndex":98,"description":93,"extension":99,"meta":100,"navigation":101,"path":102,"seo":103,"slug":31,"stem":31,"__hash__":104},"chapters\u002Ffactor-12.md",{"type":68,"value":69,"toc":92},"minimark",[70,75,79,86],[71,72,74],"h3",{"id":73},"_12-make-your-agent-a-stateless-reducer","12. Make your agent a stateless reducer",[76,77,78],"p",{},"Okay so we're over 1000 lines of markdown at this point. This one is mostly just for fun.",[76,80,81],{},[82,83],"img",{"alt":84,"src":85},"1c0-stateless-reducer","https:\u002F\u002Fgithub.com\u002Fhumanlayer\u002F12-factor-agents\u002Fblob\u002Fmain\u002Fimg\u002F1c0-stateless-reducer.png?raw=true",[76,87,88],{},[82,89],{"alt":90,"src":91},"1c5-agent-foldl","https:\u002F\u002Fgithub.com\u002Fhumanlayer\u002F12-factor-agents\u002Fblob\u002Fmain\u002Fimg\u002F1c5-agent-foldl.png?raw=true",{"title":93,"searchDepth":94,"depth":94,"links":95},"",2,[96],{"id":73,"depth":97,"text":74},3,13,"md",{},true,"\u002Ffactor-12",{"title":62,"description":93},"mjtmcE6EBZy0BdaV-1chQ2KUBcNSId-51vEADNoVGHE",[106,108,110,111,112,114,116,118,120,122,124,126,128,130,131],{"slug":5,"title":36,"chapterIndex":107},0,{"slug":7,"title":38,"chapterIndex":109},1,{"slug":9,"title":40,"chapterIndex":94},{"slug":11,"title":42,"chapterIndex":97},{"slug":13,"title":44,"chapterIndex":113},4,{"slug":15,"title":46,"chapterIndex":115},5,{"slug":17,"title":48,"chapterIndex":117},6,{"slug":19,"title":50,"chapterIndex":119},7,{"slug":21,"title":52,"chapterIndex":121},8,{"slug":23,"title":54,"chapterIndex":123},9,{"slug":25,"title":56,"chapterIndex":125},10,{"slug":27,"title":58,"chapterIndex":127},11,{"slug":29,"title":60,"chapterIndex":129},12,{"slug":31,"title":62,"chapterIndex":98},{"slug":33,"title":64,"chapterIndex":132},14,1788741638422]