# Intent Petri：为什么我要启动这个项目

我启动 Intent Petri，不是因为 Pi 缺少一个更漂亮的状态栏，也不是因为我想把 tool call、文件修改和错误日志画成图。

真正让我不安的是另一件事：AI coding agent 可以持续运行很久。它连续调用模型，连续使用工具，读很多文件，改很多代码，遇到错误、修复、再次报错、再次改道。终端里一直有活动，我却越来越难回答几个最基本的问题：它总体想完成什么？它为什么现在做这一件事？当前动作成功后会打开哪条路径？失败后准备怎么恢复？哪些旧计划已经失效？我现在真正需要注意什么？

现有的运行状态展示只能告诉我“它还在工作”“它正在执行 bash”“它刚刚修改了某个文件”。这些信息是真的，但它们没有形成方向。活动越多，方向反而越难看见。

我需要的不是代码可视化，而是一张服务于人类注意力的行动地图。

这张地图应该把 Agent 的总体意图、当前行动、前置条件、验证证据、失败分支、恢复循环和未来方向放在同一个可追溯结构里。越接近当前行动，内容必须越清楚：为什么现在做、具体做什么、期待什么证据、什么条件下退出、失败后往哪里走。越远的未来则不应该被迫制造虚假细节，只保留方向、约束、关键假设和何时需要进一步展开。

佩特里网适合承载这种结构。Place 可以表达条件、目标、未知、Gate 和验证结果；Transition 可以表达调查、决定、实现、验证、恢复和询问；Execution Token 可以表达 Agent 当前执行流。并行 Agent 可以分裂 token，多个条件可以形成 Gate，失败可以返回诊断或进入恢复路径，外部证据可以决定一条路径是否真的完成。

但我不想把形式模型直接压给用户。底层可以是分层有色佩特里网，界面只需要回答四件事：

- NOW：Agent 当前推进什么；
- WHY：为什么现在做这一步；
- NEXT：接下来最可能走哪几条路径；
- WATCH：哪些未知、分歧、阻塞或失败循环值得我注意。

实现上，我不相信纯后处理，也不完全相信 Agent 自报。

纯后处理可以观察 session、tool、error 和测试事件，却只能从行为反推意图，容易滞后和误判。纯自报能及时说明意图，却可能漏报、漂移，或者为了满足协议而产生空洞的仪式化更新。

因此 Intent Petri 采用双通道：

1. Agent 在真正的行动边界通过结构化 `update_action_path` 工具声明 operational intent、expected evidence、exit condition 和路径变化；
2. 外部观察器把大量低层日志聚合为 episode，用事实校验、补充或质疑 Agent 的声明；
3. 确定性 reconciler 保留人类纠正、外部事实、Agent 声明和 Observer 推断的来源，不让低优先级信息静默覆盖高优先级意图；
4. 主图只接纳会改变条件、Gate、关键未知、路径或完成判断的信息，普通工具活动退居 Evidence Drawer。

第一版必须克制。它只做单 Agent、单 Execution Token、一层 hierarchical refinement、原子 GraphPatch、episode 附着、基础对齐判断、一个本地行动走廊视图、人工纠正和 replay。它不从一开始就承担 subagent、自动恢复网、Herdr 聚合、macOS Pet、Git/CI/部署证据或模型端点级多头输出。

我希望这个项目最终推动一种新的 coding-agent 工作范式：模型不只输出用户文本和工具调用，还能同步维护一条独立、结构化、可验证的行动路径。现在先用本地工具模拟第三个 Path Head，验证这件事是否真的降低人类重新定向的成本。如果它不能让我在十秒内重新理解一次复杂 Agent session，这个项目就没有成功。

半年后回看，我希望仍然记得：我不是为了观察 Agent 有多忙而启动它，而是为了在 Agent 越来越自主、运行越来越久的时候，人仍然能看见方向，并把注意力放在真正需要判断的地方。
