Brad Eckert 是一位终身企业家和工程领导者,拥有十多年的经验,从产品的想法阶段到客户交付和更远。作为 MIT 的毕业生,他现在是 Woz 的联合创始人和 CTO,Woz 是一家由 Y Combinator 支持的 AI 平台,允许任何人无需编码即可构建和扩展软件业务。
AI 生成的代码可能会编译,但如果没有严格的类型安全,那么这种成功将非常短暂。类型安全是防止脆弱代码因隐藏的 bug 和运行时故障而腐烂的防护栏,当系统扩展时,它可以阻止这些问题的发生。我们必须开始通过上下文、指令、linting 和反馈循环来强制 AI 遵循严格的类型约束。这需要额外的几个小时,但它可以产生持久的代码。激励问题AI 想要取悦你。它优化给定的奖励函数,大多数时候只是“它能编译吗?”这意味着它会不惜一切代价来获得绿色勾选。这些捷径在编译时看起来很好,但在运行时会崩溃。这就是为什么 AI 喜欢 any。或者它选择一个宽泛的类型,如 string,而预期的是更严格的类型,如 UUID。代码可以编译,但正确性已经被破坏。更糟糕的是,AI 不记得它几分钟前写了什么,所以没有类型安全,项目很快就会在自己的复杂性下崩溃。两种类型的错误当 AI 生成的代码 运行时,你通常会看到两种类型的安全问题:1. 编译时错误 发生了什么: 编译器捕获到声明的类型和传入的类型之间的不匹配。 人类如何解决它: 决定调用者是否错误(将 42 转换为 string)或函数签名是否错误(将其更改为接受 number...