<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>状态机 | 面条的草稿箱</title><description>无原创，纯转发</description><link>http://drafts.miantiao.me</link><item><title>AI Agent 框架如何实现崩溃自愈？深入 Pi 的 Durable Harness v2 架构设计在构建复杂且长周期的 AI Agent 系统时，进程崩溃、外部 API 超时以及并发冲突是不可避免的挑战</title><link>http://drafts.miantiao.me/posts/174</link><guid isPermaLink="true">http://drafts.miantiao.me/posts/174</guid><pubDate>Mon, 24 Aug 2026 14:57:07 GMT</pubDate><content:encoded>&lt;b&gt;AI Agent 框架如何实现崩溃自愈？深入 Pi 的 Durable Harness v2 架构设计&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;在构建复杂且长周期的 AI Agent 系统时，进程崩溃、外部 API 超时以及并发冲突是不可避免的挑战。开源 AI Agent 工具库 &lt;b&gt;Pi&lt;/b&gt;（earendil-works/pi）发布了其核心执行引擎 &lt;b&gt;AgentHarness v2&lt;/b&gt; 的设计规范，全面重构了 Agent 的持久化、并发与容错模型。&lt;br /&gt;&lt;br /&gt;---&lt;br /&gt;&lt;br /&gt;&lt;b&gt;核心设计亮点&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1.  &lt;b&gt;确定性持久化与崩溃恢复（Durable Runs）&lt;/b&gt;&lt;br /&gt;    •   &lt;b&gt;预写意图（Intent-first）&lt;/b&gt;：在执行任何副作用（LLM 请求、工具调用）之前，必须先持久化一条意图记录；执行完成后再将结果作为节点提交。&lt;br /&gt;    •   &lt;b&gt;零中间态&lt;/b&gt;：无论是调用中断、系统崩溃还是上下文超限，重启后都能根据日志精确定位到最近的安全边界进行恢复或重试，绝不产生不一致的脏状态。&lt;br /&gt;&lt;br /&gt;2.  &lt;b&gt;Lanes（多泳道并行架构）&lt;/b&gt;&lt;br /&gt;    •   引入类似 Git 分支的 &lt;code&gt;Lane&lt;/code&gt; 概念。一个会话（Session）拥有唯一的共享对话树，但可以在上面并发运行多个独立的 Lane（如 Slack 频道下的不同 Thread）。&lt;br /&gt;    •   每个 Lane 拥有独立的 Leaf 指针与操作日志，保证多任务互不干扰且免受竞态冲突影响。&lt;br /&gt;&lt;br /&gt;3.  &lt;b&gt;对 KV Cache 极度友好的追加模式（Append-Only Context）&lt;/b&gt;&lt;br /&gt;    •   运行中所有交互和配置修改均以追加（Append）形式进入上下文，避免因中间插入导致模型端 KV Cache 失效，显著降低 Token 消耗与延迟。&lt;br /&gt;    •   只有在显式触发压缩（Compaction）时才做重整。&lt;br /&gt;&lt;br /&gt;4.  &lt;b&gt;单步驱动与确定性测试（Deterministic Stepping）&lt;/b&gt;&lt;br /&gt;    •   支持 &lt;code&gt;manual&lt;/code&gt; 驱动模式：Agent 的每一个网络请求、工具执行、Hook 回调和存储写入都会在虚拟门控前暂停。&lt;br /&gt;    •   开发者和测试套件可以一步步单步调试，任意注入输入或模拟崩溃，彻底消除异步 Agent 系统的难以复现的隐蔽 Bug。&lt;br /&gt;&lt;br /&gt;5.  &lt;b&gt;清晰的职责分离&lt;/b&gt;&lt;br /&gt;    •   &lt;b&gt;Session Tree&lt;/b&gt;：只负责只增的对话与事实树，不掺杂编排逻辑。&lt;br /&gt;    •   &lt;b&gt;Operation Logs&lt;/b&gt;：记录状态机流水，专为崩溃恢复服务。&lt;br /&gt;    •   &lt;b&gt;Hooks 与 Events 分立&lt;/b&gt;：Hooks 负责拦截与修改执行流，Events 负责单向、实时的 UI 状态订阅。&lt;br /&gt;    •   &lt;b&gt;多存储后端&lt;/b&gt;：原生适配内存、JSONL 与 SQLite，并向下兼容 v3 格式。&lt;br /&gt;&lt;br /&gt;---&lt;br /&gt;&lt;br /&gt;对于正在探索长时间运行 Agent、多分支 Agent 或企业级容错工作流的开发者来说，Pi 的 Harness v2 提供了一套非常严谨、工业级的状态机与架构参考范式。&lt;br /&gt;&lt;br /&gt;完整设计文档：&lt;a href=&quot;https://github.com/earendil-works/pi/blob/harness-v2/j4/packages/agent/docs/harness-v2.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://github.com/earendil-works/pi/blob/harness-v2/j4/packages/agent/docs/harness-v2.md&quot;&gt;https://github.com/earendil-works/pi/blob/harness-v2/j4/packages/agent/docs/harness-v2.md&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;/search/result?q=%23AIAgent&quot; title=&quot;#AIAgent&quot;&gt;#AIAgent&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84&quot; title=&quot;#系统架构&quot;&gt;#系统架构&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE&quot; title=&quot;#开源项目&quot;&gt;#开源项目&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23LLM&quot; title=&quot;#LLM&quot;&gt;#LLM&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E7%8A%B6%E6%80%81%E6%9C%BA&quot; title=&quot;#状态机&quot;&gt;#状态机&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://github.com/earendil-works/pi/blob/harness-v2/j4/packages/agent/docs/harness-v2.md&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI - earendil-works/pi&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;GitHub&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;pi/packages/agent/docs/harness-v2.md at harness-v2/j4 · earendil-works/pi&quot; src=&quot;https://drafts.miantiao.me/static/https://cdn4.telesco.pe/file/jDlsVYleo73M53HtkcbTSjXG4kLm9wwcNpVCF7aHZYEj3bFYiknNGXWU6xH-NZL5k4HhwfghO7wHey-IwMTYidrKRp4pmk1S3VDKaHfIGArYcEZrhTjGeS5FwU8ly94n1gQoQIy56QIiJTuWxzcEZAQYhAniUC4kRolrRWXSM3HOnGAcUT9ziHQ9vJT8Nk5jdveKpvMPKTdNFKiYWbIasiL9WpwfsRRW2nDDXhhYCtxN3ZVGRWWBxrsW9aPSY8rJhWrQfh7MbUmcGptiS0sHr1phL16tnTwcSCZTEfjJkNPWKYLt47ETovhYMs152KUSeyWIYGZHex1T0QKGlRvcSg.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div class=&quot;link_preview_title&quot;&gt;pi/packages/agent/docs/harness-v2.md at harness-v2/j4 · earendil-works/pi&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;AI agent toolkit: unified LLM API, agent loop, TUI, coding agent CLI - earendil-works/pi&lt;/div&gt;
&lt;/a&gt;</content:encoded></item></channel></rss>