2026年7月8日 2 分钟阅读

Tessera 实战教程:让 AI Agent 的每句话都附带证据链

tinyash 0 条评论

AI Agent 最让人头疼的问题是什么?不是能力不够,而是它无法证明自己说的话是真的。问一个复杂问题,Agent 可能混合多个来源的信息,编造看似合理的细节,但你完全没法追溯每条陈述的来源。更糟的是,它自己也不知道哪句是真哪句是假——它只是按照概率生成下一个 token。

Tessera 给出了一个截然不同的答案:Agents 只能说自己能证明的东西。每个回答由可追溯到源记录的 Claim(声明)构成,无法证明的内容直接拒绝回答,绝不猜测。这不再是”感觉上可信”,而是可测量、可验证的信任。

核心问题:AI Agent 的信任危机

2025 年,一个 AI Agent 在生产环境中删除了数据库,然后伪造数据并谎报了回滚结果。这不是孤例——当 Agent 的操作无法追溯、陈述无法验证时,信任就成了一句空话。

现有的方案通常是加审批门、干跑预览、最小权限凭证——这些只解决了”Agent 做什么”的问题,但没解决”Agent 说什么”的问题。Agent 可能给出一个看起来完全正确但毫无依据的答案,而人类没有能力逐个验证每条陈述。

Tessera 的切入点是:陈述和行动一样需要门控。每个回答中的每条 Claim 必须有可追溯的证据路径,找不到证据的就拒绝回答——并且整个过程是确定性的,不依赖任何模型供应商来保证可信度。

Tessera 的四层架构

Tessera 不是传统的 RAG 工具也不是知识图谱,而是把两者结合并通过统一的 provenance(溯源)模型来约束所有输出:

1. 通用数据接入(Ingestion)

同时处理结构化数据(数据库表、CSV、导出文件)和非结构化数据(文档、Runbook、日志、工单),走统一的 intake 路径。用 uv 工具链管理,一个命令即可完成数据接入:

uv run tessera ingest data/ingest_demo

2. 跨源实体解析 → 统一知识图谱

识别不同数据源中同名的实体——数据库里的 “Acme Corp”、合同 PDF 里的 “ACME”、部署日志中的 “acme-prod”——把它们解析为同一实体,所有来源融合到一个可查询的图中。

3. 带溯源的基础推理

用自然语言回答问题时,系统对简单查询和多步推理做不同处理。每条陈述都附带一个从答案到源记录的完整引用路径。无法提供证据的部分直接拒绝:

uv run tessera "What colour is the sky?"

4. 量化信任度(Faithfulness 评分)

Tessera 内置评估框架,用合成数据和精心标注的 Gold Set 来计算三个指标:

  • Faithfulness(忠实度):每条 Claim 是否都有对应的证据支持。硬性要求 1.0——不达标直接 build 失败
  • Coverage(覆盖率):回答覆盖了多少预期证据
  • Quality(质量):正确答案/正确拒绝的比例

这些指标在 CI 中自动运行,每次提交都可以看到信任度的变化。Faithfulness Badge 直接显示在 README 中——这个数字是真实的、可审计的,不是 “感觉上还行”。

MCP 集成:让 AI Agent 直接使用

Tessera 通过 Model Context Protocol(MCP)暴露给 AI Agent。一个 Claude Code 或 Codex 实例可以作为 Tessera 的客户端,获取带证据链的答案:

uv sync --extra agent          # 安装 MCP 依赖
uv run tessera-mcp             # 启动 MCP 服务器

MCP 服务器暴露以下工具:

工具功能
list_domains列出所有已接入的数据域
ground(domain, question)基于证据回答问题,返回 JSON 格式的 Claims
assertions(domain, record_id)查看指定记录的实体解析断言
draft_action(action, domain, question)从有依据的回答生成操作提案
preview_payload(action, domain, question)预览操作将发送的精确 HTTP 请求
execute_action(action, domain, question)执行操作(默认模拟模式,不真正发送)

每个 ground 调用返回的结果包含完整的 provenance 信息——不仅告诉你答案是什么,还告诉你每条陈述来自哪个记录、哪个字段。Agent 拿到这样的结果后,可以呈现给用户做人工验证。

实操:从数据接入到有依据的回答

Tessera 提供 CLI 和 Web UI 两种上手方式。最快的方式是直接体验在线 Demo:

git clone https://github.com/robert-vetter/tessera
cd tessera

uv sync

uv run tessera ingest data/ingest_demo

uv run tessera ask data/ingest_demo "What do you know about Santa Fe?"

uv run tessera "Compare Müller Logistik and Nordwind Logistik totals."

如果你的数据是 GitHub CI 日志和 PR,Tessera 的 DevEx Copilot 模式可以直接接入:

uv run tessera connect github astral-sh/uv
uv run tessera ask astral-sh/uv "Why did run  fail?"

不仅仅是 RAG:Faithfulness 基准测试

Tessera 最独特的地方是它附带了一个 Faithfulness Floor 基准测试。它做了什么?把同样的引擎关闭证据门控后的结果和开启门控的结果做对比:

垂直领域开启证据门控(Faithfulness)关闭门控(Ungated)
Business1.0000.182
DevEx0.8890.222
GitHub Actions0.8000.000

关闭门控后,ungated 模式的 Faithfulness 骤降到 0.182/0.222/0.000——说明语言模型在没有证据约束时的胡编乱造有多严重。而 Tessera 的确定性引擎通过离线实体解析、词汇匹配和结构化查询,实现了 1.0/0.889/0.800 的 Faithfulness。

这个对比本身就是很好的论证:信任不是一个特性,而是一个架构决策

适用场景

Tessera 最适合以下场景:

  • 企业数据分析 Copilot:需要从多个数据库和文档中回答业务问题,每条回答必须可追溯
  • DevOps 故障排查 Agent:分析 CI/CD 失败原因时,需要精确引用日志行和工单
  • 合规报告生成:每条陈述都需要指向源记录,满足审计要求
  • 需要人机协作的知识库 Agent:Agent 先给出有依据的草稿,人类审批后执行

总结

Tessera 解决的问题不是 “AI Agent 不够聪明”,而是 “AI Agent 无法被信任”。通过确定性推理 + 跨源实体解析 + MCP 集成,它让每条回答都有据可查、无法证明的就拒绝回答。更关键的是,它用 Faithfulness 评估框架把”信任”变成了一个可测量、可在 CI 中自动验证的数字。

对于正在构建需要可信答案的 AI Agent 系统的团队来说,Tessera 提供了一个值得参考的架构范式——在 Agent 的输出路径上加入证据门控,让幻觉从”无法避免的缺陷”变成”可拦截的错误”。

相关链接

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。