在 Hacker News 的 Show HN 板块,开发者 Aakash 和 Viswesh 介绍了他们正在构建的项目 Canary,定位为面向 AI 代码的独立验证系统。

发生了什么

根据项目介绍,CodeBuddy 等编码工具可以将变更集、预期行为和团队知识传递给 Canary。Canary 随后部署智能体集群,在远程沙箱中调查潜在故障,并测试疑似运行时缺陷。用户若想在自己的仓库中试用,可以要求编码智能体安装 Canary CLI:先通过 npm i -g @runcanary/cli 安装,再运行 canary skills 并按提示完成仓库接入。

Canary 的验证起点是软件应当做什么,以及更重要的——它绝不能允许什么。这意味着需要考察输入、权限、状态、时序、依赖等要素之间的相互作用。团队指出,意图并不总是被完整声明,但许多期望是明确的,例如私有文件应保持私有、凭据不应泄露、重试不应产生意外的重复效果。他们相信,未来的方向是一个统一且独立的验证系统,从这些期望出发,再决定如何调查每一个疑似故障。

在具体机制上,Canary 在被调用时会对代码库做一次冷快照,把传入的意图与团队知识同来自 Notion、Linear 等工具的需求、决策和既往问题结合起来。如果遇到模糊之处,它可以通过编码智能体向用户提问。其验证框架协调智能体集群,利用不同模型家族各自的优势,对比变更前后的代码,并沿调用方、依赖、状态转换等路径追踪影响。每个疑似故障都会变成一个具体场景,包含参与者、状态、触发条件、结果及更多运行时状态。对于每个疑似故障,Canary 会选择最合适的方式来提供证据,例如运行时验证、静态分析、单元测试、集成测试,有时甚至组合多种手段。智能体在远程沙箱中执行这些检查,包括播种数据、配置权限、模拟依赖和第三方集成等操作,随后返回发现。

为什么重要

团队认为,仅基于源码的代码审查能捕捉实现中的静态问题,但即便审查干净,仍有相当一部分仅与行为相关的问题未被测试。单元测试、集成测试、端到端测试、静态分析、运行时实验和形式化验证都是确立行为的手段,各自产生不同类型的证据和保证。因此他们主张,在通用智能之上,需要一个专门的验证框架,能够思考并推理所有这些模态和不变量。该框架需要从系统的预期行为出发,发展出一系列潜在故障场景,并选择如何调查它们;其唯一功能就是压力测试并挑战变更背后的假设,创造测试疑似故障所需的条件,并评估所得证据能确立什么。

背景补充

Canary 是 YC 支持的项目,目前通过官网提供 CLI 接入方式。该项目的思路反映了当前 AI 编码工具普及后,对生成代码进行独立、多模态验证的需求正在上升。

来源:Show HN: Canary (YC) – Independent verification for AI code(发布于 2026-09-24)