AgentProvenance

Agent 执行观测与证据验证示例 文档
示例/文档

证据图命令

English | 简体中文

graph 命令用于查询和校验证据对象,操作方式借鉴 Git。对象以内容哈希寻址,可以追溯执行过程、比较文件变化,也可以导出供其他分析器使用的记录。

在网页中搜索、对比两次执行或导出所选回放,见 Agent 会话指南。 调查与修复示例提供两份签名记录, 可直接跟随步骤体验。

下面列出命令入口。示例中的执行记录 ID、文件名和占位符需要替换成实际值。

./agentprov graph trace --run run-demo-bugfix
./agentprov graph refs --run run-demo-bugfix
./agentprov graph log --run run-demo-bugfix
./agentprov graph materialize --run run-demo-bugfix
./agentprov graph objects --run run-demo-bugfix
./agentprov graph objects --run run-demo-bugfix --limit 50 --json
./agentprov graph objects --run run-demo-bugfix --limit 50 --cursor <next_cursor> --json
./agentprov graph verify --run run-demo-bugfix
./agentprov graph verify --run run-demo-bugfix --json
./agentprov graph replay --run run-demo-bugfix
./agentprov graph replay --run run-demo-bugfix --json
./agentprov graph trajectories --run run-demo-bugfix --json
./agentprov graph lens --run run-demo-bugfix --lens default --json
./agentprov graph lens --run run-demo-bugfix --lens data-flow-taint --overlay risk --json
./agentprov graph lens --run run-demo-bugfix --lens data-flow-taint --detail expanded --json
./agentprov graph lens --run run-demo-bugfix --lens process --detail raw --focus runtime_event/<event_id> --json
./agentprov graph lens --run run-demo-bugfix --lens process --focus runtime_event/<event_id> --json
./agentprov graph diff --run run-demo-bugfix --file calculator.py
./agentprov graph diff --run run-demo-bugfix --file calculator.py --json
./agentprov graph blame --run run-demo-bugfix --file calculator.py
./agentprov graph blame --run run-demo-bugfix --file calculator.py --json
./agentprov graph explain --run run-demo-bugfix --file calculator.py
./agentprov graph explain --run run-demo-bugfix --file calculator.py --json
./agentprov graph explain --run run-demo-bugfix --file calculator.py --depth 4 --limit 200 --json
./agentprov graph explain --run run-demo-bugfix --file calculator.py --depth 4 --limit 200 --cursor <next_cursor> --json
./agentprov graph explain --tool-call <tool_call_id>
./agentprov graph explain --risk <policy_decision_id> --json

验证结果

graph verify --json 输出 agentprovenance.verify/v1,状态分为三种:

  • ok:检查完成,没有完整性错误。
  • failed:检查完成,发现完整性错误;不存在的 Run 也属于此状态。
  • unavailable:数据库等运行错误使检查无法完成。error 字段保留原因,问题计数只覆盖已经完成的检查。

后两种状态均返回非零 CLI 退出码。GET /v1/graph/verify?run=... 在检查完成时返回 HTTP 200,无法完成时返回 HTTP 503 和同一结果结构。排除故障后可重试;确实缺失的记录作为证据问题报告,查询失败则单独报告。

Dashboard 每次加载概览时都会重新检查当前证据。即使事件和对象数量没变,关系修改或对象文件变化也会被检查到;导入证据包的旧状态不会替代这次检查。对象超过 5,000 个的执行记录显示为等待完整校验,可运行 agentprov graph verify --run ... 完成检查。

重分析与恢复

会话日志重分析会先校验选中的输入,再替换已保存的分析。JSON 行或助手消息内容损坏时,返回来源行号并保留上次图谱。最后一行只要内容完整,就不要求以换行符结尾。

TLS、会话日志和 Endpoint 各自在一个事务中替换本来源的证据。Endpoint 替换范围包括采集事件及对应的策略记录。目录为空或不存在、元数据损坏、已有记录的正文文件缺失时,返回错误并保留原图。请求尚未采到响应的情况仍可保存。Endpoint 重试会替换其策略决策所属的计数,无法确定归属的历史计数保持原样。

意图重分析会一起提交差异、关联边、信号和本次新增的工具归属。模型证据缺失或损坏时终止处理;读取、写入或提交失败时保留上次成功结果。排除报错原因后,重新执行同一命令即可。重试会替换对应结果,其他来源证据保持原样。

策略重评估也会在一个事务中替换决策、风险、响应、信号和策略计数。处理失败时,原结果与会话状态一同保留,避免留下不完整的风险链。

内容未变的对象文件直接复用,需要替换时先写临时文件,再改名。回滚可能留下未被引用的对象文件,这些文件不进入已保存图谱及其导出结果。

命令用途

命令 用途
trace 查看执行上下文、运行时因果关系、溯源关系、风险,以及响应控制的证据
refs 输出稳定引用,标识执行范围、产物状态、产物和决策
log 按时间查看执行历史
materialize 将证据写成按内容寻址的溯源对象
materialize-llm 将已采集的模型请求和响应正文保存为对象,并为执行记录建立 llm_call 节点和 llm_caused 关系
objects 列出对象引用、哈希、父对象哈希、来源 ID、路径和大小;使用 --limit 和 --cursor 分页
verify 检查图的完整性、风险与响应证据链、污染标记与响应屏障、对象哈希、回放计划生成、排空水位、遥测批次哈希,以及主命令退出后仍在运行的 zero-SDK 子进程的生命周期证据
replay 输出执行记录的重建计划;不会重新执行原命令
trajectories --json 按执行范围输出行为证据、风险与偏差、成本、产物和运行时事件,供外部评估器或强化学习的奖励与惩罚流程使用
lens 按指定视图投影证据图;输出格式为 agentprovenance.graph_lens/v1
diff 比较基准状态与执行范围内的文件状态
blame 追溯文件状态对应的执行范围、工具调用、进程、策略、命令和本地候选状态
explain 汇总目标的上下游关系及证据,说明执行过程与结果之间的关联

图视图与展开范围

lens 输出原始节点和关系、推断关系、聚焦对象、叠加标记、布局提示、原始事件数,以及当前未展示的节点和关系数。

使用 --detail 控制展开范围:

  • summary:查看分组摘要。
  • expanded:展开更多节点和关系。
  • raw:查看原始记录。

--focus 指定要追溯的节点,--overlay 增加风险或来源标记。推断关系与原始关系分别输出,不能将推断结果当作传感器直接观测到的事实。

解释结果与分页

explain 会结合执行轨迹、运行时因果关系、文件差异与归属、遥测接收器信息、批次清单、进程观测、策略、证据对象引用、风险信号、基线偏差和响应证据。

--json 输出 agentprovenance.explain/v1,主要字段如下:

字段 含义
upstream、downstream 上游和下游关系
causality_path 按查询边界截取的因果路径
query 本次查询的参数和范围
evidence、objects 证据及其对象引用
risks 关联风险
telemetry_batches 遥测批次
process_observations 进程观测记录
replay_refs 回放引用

运行时事件还包含接收器及来源格式、规范化后的事件类型、身份标识、数据格式校验状态和关联状态。

使用 --depth 限制追溯深度,使用 --limit 限制单页结果数量,再通过 --cursor 获取后续结果。未在当前页展示的关系不代表不存在。