Evidence is an interface
A completion claim is useful only when a reviewer can see the checks, artifacts, and remaining uncertainty that make it worth trusting.
When an experienced engineer says, "This is ready," the sentence carries an invisible record. They know which files changed, which test would catch the common regression, which part of the system is risky, and which concern was investigated and dismissed. A reviewer who knows the codebase can often reconstruct most of that context from a diff.
An agent does not share that history. Its completion message needs a visible basis.
The solution is not to attach every terminal line to every task. More output does not automatically produce more confidence. A thousand-line build log can conceal the one warning that matters, and a gallery of screenshots can make a missing data check look like thoroughness. The product problem is to create a legible link between a claim and the evidence that can reasonably support it.
Claims have different weights
Not every completion claim deserves the same evidence.
If the claim is that a label has changed on a marketing page, a screenshot at the relevant viewport and a diff may be enough. If the claim is that a payment integration remains compatible, the relevant evidence may include a contract test, a review of the API version, and a statement of the behavior that was not exercised. If the claim is that a migration is safe, the reviewer may need an execution plan, a rollback path, data-volume assumptions, and a record of how partial failure is handled.
The point is not to create a bureaucratic matrix for every task. It is to avoid the opposite failure, in which a single green check is displayed as general proof of correctness.
| Claim | Useful evidence | What it does not prove |
|---|---|---|
| A visible interface behaves as intended | Focused interaction check and preview | Accessibility, performance, or production data behavior |
| A refactor preserves behavior | Targeted tests, type checks, and review of changed contracts | Uncovered integration paths |
| An external action is safe to take | Scoped request, preview, policy decision, and approval | Every downstream consequence |
| A data change is reversible | Tested rollback or recovery procedure | That real production data matches the test assumptions |
An evidence surface should make these limits plain. Honest uncertainty is not a weakness in the task report. It is what lets a reviewer allocate attention intelligently.
Verification begins while the work is happening
Verification is often treated as the final stage: first build the thing, then prove it works. That ordering makes sense when implementation is slow and checks are expensive. It works poorly for agents, which can create a large change before a person has looked at the first artifact.
An agent should gather evidence as it reduces uncertainty. Before editing, it can identify the test that governs a behavior. After a local change, it can run the smallest check capable of disproving its hypothesis. Before asking for approval to publish a preview or send a message, it can present the exact action and why it is needed. At the end, the evidence is already attached to the decisions that created it.
This does not mean making the agent narrate every move. A concise record is better than a theatrical one. The important distinction is between a task that merely reports activity and a task that leaves behind the artifacts needed to assess its claims.
Consider a bug report about an export that silently omits rows. A weak completion message says that the export has been fixed and tests pass. A useful record says that the query previously filtered on a nullable field; the change preserves rows without that field; a regression test covers the case; the sample data did not include an unusually large export, so performance at that scale remains unverified. The second message does not sound more impressive. It is more useful.
Negative evidence is evidence
Teams sometimes hide failed attempts because they fear a task will look less competent. This produces brittle records. A test that failed and was understood may be one of the most valuable artifacts in the review, especially when it reveals the edge condition the final fix now protects.
There is a difference between a failure that has been investigated and a failure that has been made invisible. The first can strengthen confidence: the system encountered a boundary, the task located the cause, and the new check records the expected behavior. The second merely shifts uncertainty to the next person.
Negative evidence also keeps agents from optimizing for a clean story. An agent that always produces a pristine summary is difficult to trust if its process includes retries, changed assumptions, and missing external access. A better agent can say, without drama, that a proposed path was rejected because the preview exposed a mobile regression, or that a request was not executed because the approval scope was too broad.
The record should distinguish repaired failures from unresolved ones. It should never imply that a vanished error message is identical to an understood system behavior.
Review is an allocation problem
No team can inspect every artifact in full. Review is the practice of allocating limited human attention where it has the highest value.
An agent platform can support this by keeping a risk-shaped summary close to the task:
- what changed in plain terms;
- which checks ran and their result;
- which claims are directly supported;
- what remains unverified or depends on an assumption;
- which actions were blocked, approved, or intentionally skipped;
- where a reviewer can drill into the diff, logs, preview, or source data.
The task should start with the smallest useful account and allow the reviewer to expand it. A modest CSS fix should not demand a forensic investigation. A change to permissions, payments, or persistent data should make deeper scrutiny convenient rather than forcing a reviewer to hunt through a transcript.
This is why evidence belongs in the product experience. It determines whether the human can review quickly without reviewing carelessly.
Evidence must retain provenance
A screenshot without a branch or environment is weak evidence. A passing test without its command or relevant revision can be hard to reproduce. A tool call without the agent identity, policy decision, and approval state is not an adequate audit record for a consequential action.
The systems around an agent need to preserve enough provenance to answer simple questions: what produced this artifact, against which state, under whose authority, and after which change? These questions are not paperwork. They determine whether evidence can be trusted when the original task context has faded.
Provenance also makes recovery possible. If a reviewer sees that a preview was produced from an outdated branch, they can request a new one. If a task is resumed after an interruption, it can identify which checks are stale and which need to run again. Evidence that has no relationship to time or state becomes decoration.
A completion message is a product surface
The final report from an agent is often the one part of the system that a busy reviewer reads. It should therefore be treated as an interface, not as generated prose.
A good completion message is concise, specific, and inspectable. It names the change, points to the evidence, states the remaining uncertainty, and offers a clear next decision. It does not claim more than the task can support.
For AI-native software, this is a foundational design principle. People will not trust autonomous work because an agent writes more confident summaries. They will trust it when the system makes the basis of its claims clear enough to inspect.
证据是一种界面
只有当 reviewer 能看到支持结论的检查、产物和剩余不确定性时,一句完成声明才值得被信任。
有经验的工程师说“可以了”时,这句话背后通常带着一份看不见的记录。他们知道改了哪些文件、哪个测试能捕获常见回归、系统哪一部分有风险,以及哪些担忧已经调查并排除。熟悉代码库的 reviewer 往往可以从 Diff 中重构出大部分上下文。
Agent 不共享这段历史。它的完成消息需要一个可见依据。
解决办法不是把每行终端输出都附到每个任务上。更多输出不会自动带来更多信心。一千行构建日志可能掩盖真正重要的一条警告,一组截图也可能让缺失的数据检查看起来很全面。产品问题是建立结论与合理支持它的证据之间清晰的联系。
不同结论需要不同权重的证据
不是每个完成结论都值得同样的证据。
如果结论是营销页面的标签已经变化,那么相关视口的聚焦交互检查和 Diff 可能已经足够。如果结论是支付集成保持兼容,证据可能包括契约测试、API 版本 review,以及对未覆盖行为的说明。如果结论是迁移安全,reviewer 可能需要执行计划、回滚路径、数据量假设和部分失败时如何处理的记录。
目标不是为每个任务制造官僚矩阵,而是避免相反的失败:把一个绿色检查当成普遍正确性的证明。
| 结论 | 有用证据 | 它不能证明什么 |
|---|---|---|
| 可见界面按预期运行 | 聚焦交互检查和预览 | 无障碍、性能或生产数据行为 |
| 重构保持行为 | 针对性测试、类型检查和变更契约 review | 未覆盖的集成路径 |
| 外部动作可以安全执行 | 有范围的请求、预览、政策决定与审批 | 所有下游后果 |
| 数据变更可逆 | 经过测试的回滚或恢复流程 | 真实生产数据一定符合测试假设 |
证据界面应该把这些限制说清楚。诚实的不确定性不是任务报告的弱点,而是让 reviewer 能够合理分配注意力的条件。
验证应该在工作进行时发生
验证经常被当成最后阶段:先把东西做出来,再证明它能运行。当实现缓慢、检查昂贵时,这种顺序可以理解。但对能够在别人看到第一个产物前创造大量变更的 Agent 来说,它并不理想。
Agent 应该在减少不确定性时收集证据。编辑前,它可以找出约束行为的测试;局部变更后,它可以运行能够推翻假设的最小检查;在请求批准发布预览或发送消息前,它可以说明精确动作和必要性。任务结束时,证据已经附着在产生决定的过程上。
这不意味着 Agent 必须叙述每一步。简洁记录优于戏剧化叙述。重要的区别是:一个任务只是报告活动,还是留下了评估结论所需的产物。
例如,一个导出功能静默漏掉记录。弱完成消息只会说已经修好、测试通过。有用的记录会说明之前的查询过滤了可空字段;改动保留了没有该字段的行;回归测试覆盖了这个场景;样本数据没有包含异常大的导出,因此那个规模下的性能仍未验证。第二种说明听起来不更厉害,却更有用。
负面证据也是证据
团队有时会隐藏失败尝试,因为担心任务看起来不够有能力。这会产生脆弱记录。一个被理解的失败测试可能是 review 中最有价值的产物之一,尤其当它揭示了最终修复正在保护的边界条件。
被调查过的失败与被隐藏的失败不同。前者可以增强信心:系统遇到了边界,任务找到了原因,新的检查记录了预期行为;后者只是把不确定性转移给下一个人。
负面证据也能阻止 Agent 只追求一个干净的故事。如果 Agent 总是生成完美摘要,而它的过程包含重试、改变假设和缺少外部访问,就很难信任。更好的 Agent 可以平静地说,某条路径因为预览暴露了移动端回归而被放弃,或某个请求因为审批范围过大而没有执行。
记录应该区分已经修复的失败和仍然未解决的失败,不能暗示错误消息消失就等于系统行为已经被理解。
Review 是注意力分配问题
没有团队能够完整检查每一份产物。Review 的作用,是把有限的人类注意力分配到价值最高的地方。
Agent 平台可以在任务旁边保留按风险组织的摘要:
- 用平实语言说明改了什么;
- 哪些检查运行过,结果如何;
- 哪些结论有直接证据支持;
- 哪些内容仍未验证或依赖假设;
- 哪些动作被阻塞、批准或有意跳过;
- reviewer 可以在哪里展开 Diff、日志、预览或源数据。
任务应该从最小的有用说明开始,并允许 reviewer 按需展开。小型 CSS 修复不应该要求取证式调查;权限、付款或持久数据变更则应该让深入检查变得容易,而不是迫使 reviewer 翻找 Transcript。
这就是证据应该属于产品体验的原因。它决定人能否快速 review 而不至于草率 review。
证据必须保留来源
没有分支或环境的截图是弱证据。没有命令或相关 revision 的测试结果很难复现。没有 Agent 身份、政策决定和审批状态的工具调用,也不是有后果动作的充分审计记录。
Agent 周围的系统需要保留足够来源,回答几个简单问题:是什么产生了这个产物,针对什么状态,在谁的权限下,经过哪次变更?这些不是文书工作,而是证据在原始上下文消失后是否仍可信的条件。
来源也让恢复成为可能。如果 reviewer 发现预览来自过期分支,就可以请求新的预览;任务恢复后,也可以知道哪些检查已过期、哪些需要重新运行。没有时间和状态关系的证据只是装饰。
完成消息是一种产品界面
Agent 的最终报告经常是忙碌 reviewer 唯一会读的部分,因此它应该被当作界面,而不是生成文字。
好的完成消息简洁、具体并且可检查。它说明变更,指向证据,陈述剩余不确定性,并提出清晰的下一项决定。它不会声称任务无法支持的内容。
对 AI-native 软件而言,这是基础设计原则。人不会因为 Agent 写出更自信的摘要就信任自治工作,而会在系统把结论依据清楚地呈现出来时信任它。