跳到主要内容
AI News HubLIVE
站内改写1 分钟阅读

Evidence Graph:为AI代理的规范提供类型检查

文章摘要

Evidence Graph 是一个轻量级工具,确保AI代理解释器(如Claude Code和Codex)在实现时明确引用所有需求。它通过编译时检查,强制每个配置的需求在代码、测试或文档中得到明确确认,防止代理省略重要细节。

来源Hacker News AI作者: autobe
Evidence Graph:为AI代理的规范提供类型检查
报告错误

纠错通道尚未开通,可先复制下方文章信息留存。

查看更正说明
直接读正文

Evidence Graph 是一个专为AI编码时代设计的工具,它通过将规范转化为编译错误来确保AI代理(如Claude Code和Codex)的诚实性。当代理独立工作时,它们可能会跳过某些需求但仍报告“完成”。Evidence Graph 强制每个配置的需求从声称满足它的代码、测试或文档中获得明确的确认。

每次确认都需要指定确切的目标并说明原因。编译器不会判断原因是否真实——它迫使代理做出具体的断言。一个捏造的理由不能再隐藏在看似合理的差异中;它必须与它所矛盾的声明和证据并列。

代理仍然可以撒谎,但不能通过省略来撒谎。每个配置的义务都必须被解释,否则构建失败。每个选中的导出都必须被测试明确引用。决策和代码保持明确的连接。“完成”必须带有目标和理由。没有引用可以比其目标存活得更久。

安装和使用非常简单。首先安装必要的包:npm install -D typescript ttsc @ttsc/lint @samchon/lint-plugin-evidence。然后在lint.config.ts文件中配置插件,定义声明图。例如,一个声明可以指定React组件必须引用Markdown文档中的每个H2和H3章节。

该插件支持复杂的声明组合。你可以创建多层次的引用链:特性文档基于需求文档,组件实现特性规则,测试验证特性和组件。所有违反行为都会在每次ttsc构建、--noEmit检查和ttsx运行时出现,与类型错误在同一流中报告,无需单独的CI作业。

Evidence Graph 还支持TypeScript符号、Markdown标题和Swagger API操作。符号选择器允许你精确控制哪些声明和引用被跟踪。文件模式使用项目相对glob。对于TypeScript引用,可以通过文件、入口文件或包来定义种群。Swagger引用支持本地和远程文档,但每个文档必须是单一文件。

总之,Evidence Graph 为AI代理的规范实现提供了前所未有的透明度。它不阻止撒谎,但确保任何不诚实都必须以明确、可追踪的断言形式出现,从而显著提升代码质量和可维护性。

展开要点与分析

文章情报

工程师进阶

要点

  • 通过@evidence标签强制代理显式引用需求,缺失引用导致构建失败。
  • 支持Markdown、TypeScript和Swagger之间的跨文件引用关系。
  • 代理不能通过省略来撒谎:每个完成的任务必须附带目标和原因。
  • 作为ttsc插件运行,与TypeScript类型错误在同一输出流中报告。

要点与分析由自动化流程生成,可能有误,请结合原始来源核实。