本页译自英文文档。命令、标识符和示例保持原样。运行时 7.24.4 · SDK 2.6.7。 英文原文
执行证据
状态:生效 范围:当前状态 最近审阅:2026-08-25 负责人:AX Code 运行时
每个 AX Code 会话在运行时都会被记录。本页介绍把该记录变成可审阅、可比较、可导出和可撤销之物的命令。
当智能体已经完成、而你需要回答这些问题时使用它:它做了什么、风险有多高、它与另一次尝试相比如何,以及我如何回到原状?
记录了什么
一次运行期间,AX Code 写入两件相互独立的东西:
- 带类型的事件日志——路由决策、模型活动、步骤边界、工具调用和工具结果。这是
graph、replay、compare、trace和audit的来源。 - 文件快照——捕获到位于你的仓库之外、AX Code 数据目录下的 Git 对象存储中,使用
refs/snapshots/<hash>。你的工作树和项目的.git/不会为了存储它们而被修改。
两者都在本地。不会上传任何东西。
重建一次运行
ax-code graph <sessionID>
把会话重建为执行图:时长、风险摘要、token 计数、使用的智能体,以及每一步及其工具调用和计时。
## Session ses_01H8XK
Duration: 9m 54s | Risk: HIGH (53/100) | Tokens: 167,650 in / 18,494 out
Agents: architect
### Step 1 (8s) | tokens: 12263/587
- read: api.ts → ok (5ms)
- grep: rateLimit → ok (12ms)
当你想在另一个工具中查看该图时,--format 选择替代输出,包括 Mermaid 和拓扑视图。
请注意这是会话执行图——智能体做了什么。它不是仓库代码图;那是 ax-code index 和代码智能层。
比较两次运行
ax-code session compare <sessionA> <sessionB>
ax-code session compare <sessionA> <sessionB> --deep
报告风险增量、变更的文件、工具失败次数、每次运行采取的决策路径,以及按事件类型的计数。--deep 通过回放比较增加步骤级分歧分析。
这比较的是运行,不是源代码。它回答的是“第二次尝试得分更差——它在哪里分叉”,而不是“给我看代码差异”。
一个典型用途是为同一任务在两种策略之间做决定:
Risk Comparison
----------------------------------------
Score: 53 → 93 (+40) ↑
Level: HIGH → CRITICAL
Files: 8 → 25
Failures: 0 → 15
检查已记录的事件日志
ax-code session replay <sessionID> --mode summary
ax-code session replay <sessionID> --mode verify
ax-code session replay <sessionID> --mode reconstruct
ax-code session replay <sessionID> --mode export
verify 检查已记录日志的一致性。reconstruct 从事件重建步骤流。export 写出可移植的回放包。
回放是重建;它不会重新执行。 它不会重新运行模型、重新调用工具或再现外部状态。execute 模式准备一条重建的流,以便与原始流做程序化比较,它用于测试,而不是用于重新运行工作。
阅读风险信号
ax-code risk <sessionID>
ax-code risk <sessionID> --explain
ax-code risk <sessionID> --json
分数是从已记录信号导出的确定性启发式,包括变更了多少文件、变更是否跨越多个顶层区域、多少工具调用失败、是否运行了验证、是否存在差异快照、多少 API 表面受影响、运行如何结束(被阻止的完成门控,或步骤上限/停滞结束,都会增加权重),以及是否触及了安全敏感路径。每个起作用的驱动因素都连同其权重列出,并附有建议的缓解措施。
它是审阅辅助。它不是概率、校准过的置信度,或代码安全的声明。未验证变更上的 LOW 分数仍然意味着该变更未经验证。
精确撤销
当安装了 Git 且启用了 snapshot 时,文件快照在 Git 仓库和普通项目目录中都可用。AX Code 把快照 Git 存储放在你的项目之外;它不会创建项目 .git 目录。忽略规则和不支持路径的排除仍然适用。
TUI 还原会撤销消息和已捕获的文件变更。使用 snapshot: false 时,或对于从未捕获基线的较旧回合,它只能撤销消息;文件编辑仍留在磁盘上。现在启用快照不能重建更早的文件内容。没有文件变更的已捕获回合也没有什么可恢复。
ax-code session rollback <sessionID> --list # show recoverable points
ax-code session rollback <sessionID> --dry-run # show what would change
ax-code session rollback <sessionID> --step 4 # restore one step
ax-code session rollback <sessionID> # restore the whole session
--list 把持久的步骤事件与执行图细节结合起来,因此你可以针对特定步骤,而不是还原整个运行。--dry-run 使用与应用相同的回滚规划器,并列出其文件账本对结果有贡献的任何委派会话。
当嵌套的子会话写入了父会话的确切工作目录时,回滚会跟随它们。它恢复边界之后的文件变更,同时保留它们的记录。在另一个工作树或目录中运行的后代被排除,如果任何被纳入的会话仍在运行,回滚会失败关闭。
在依赖它之前值得知道的边界: 回滚从运行期间拍摄的快照恢复。从未被快照的文件——因为它在会话之外被更改,或不处于可恢复状态——不能用这种方式恢复。对任何重要内容先使用 --dry-run。
尝试另一种策略
ax-code session branch <sessionID>
ax-code session branch <sessionID> --from <messageID>
分叉会话的已存储状态,使第二次尝试从选定的点开始,而不是从头开始。
这分叉的是会话状态——消息和目标。它不是 Git 分支,也不是工作树。隔离的 Git 候选见 已验证的多模型变更。
诊断
ax-code session trace <sessionID>
ax-code session trace <sessionID> --logs
由回放支持的诊断,带有按风险评分的时间线。--logs 切换到旧式日志文件分析,而不是回放事件;当你调查的是运行问题而不是审阅变更时,这很有用。
导出证据
ax-code audit export --all --since 2026-08-01 # JSON Lines
ax-code audit export --all --risk HIGH # filter by minimum risk
ax-code audit report <sessionID> # Markdown report
ax-code audit otlp <sessionID> # OpenTelemetry spans
ax-code audit prune --days 90 # delete old events
JSONL 和 OTLP 使运行记录可以被你自己的审阅或可观测性流水线消费。Markdown 报告供人把证据附到 PR 或变更记录上。
浏览它
ax-code run-report # latest session
ax-code run-report --index # session index
在浏览器中打开本地运行报告,包含运行摘要、时间线、变更、验证状态、风险细节、分支信息和回滚点。服务器只绑定环回。
相关
- 目标保证——长目标的可执行验收检查和源新鲜度
- 为何选择 AX Code——这一证据层的用途
- 已验证的多模型变更——产生值得比较的候选
- 语义层——图谱和 LSP 答案上的来源信封
- 运行报告——工作区级视图和每会话报告