让AI写代码的人,大概率踩过这个坑:程序跑通了,上线三周后突然崩溃。不是语法错误,是架构层面的"慢性毒药"——AI在完全不知道上下文边界的情况下,写出了看起来对、实则错的代码

开发者Jeffrey Sabarese提出了一套叫contract-style-comments(契约式注释,CSC)的方法,核心思路很简单:把"这个函数能保证什么、要求什么"写进代码注释里,变成AI能读懂的硬性约束。

打开网易新闻 查看精彩图片

传统文档是给人看的,CSC是给机器"执行"的。它借用了软件工程里的"契约式设计(Design by Contract)"概念,用结构化注释块明确三件事:前置条件调用前必须满足什么)、后置条件(返回后保证什么)、不变量(执行期间什么不能变)。

举个例子。普通注释长这样:

def shop_assistant(budget, product_type):
"""Search for products."""

AI看完等于没看。CSC版本则强制声明:

# CONTRACT: shop_assistant() GUARANTEES
# PRECONDITIONS:
# - budget > 0
# - product_type in ["Flower", "Car"]

这种高信号密度的注释块,能在AI的上下文窗口里被优先识别,相当于给无状态的AI agent塞了一份"持久记忆"。

Sabarese指出,当前AI编程的最大风险是"静默失败"——代码能编译、能运行,但架构假设全错。当资深工程师离职,那些未写明的隐性知识随之消失,后来者只能在代码库里踩雷。CSC试图把" bus factor(巴士因子)"从人的脑子里,迁移到机器可解析的契约里。

这套方法的本质,是在人机协作的灰色地带画一条硬边界:人类负责定义不变量,AI负责在约束内生成实现。对于已经开始用Claude、Cursor等工具做实际开发的团队,这可能比写更多测试用例更紧迫。