Cloudflare发布了一篇博客文章,展示了在Workers平台上运行的无服务器版Matrix家庭服务器,这篇文章引发了关于人工智能生成代码及其技术准确性的讨论。虽然Matrix.org对Cloudflare的关注表示欢迎,但联合创始人Matthew Hodgson指出,这篇文章“严重夸大了该项目的实际功能范围”,并指出了构建一个可正常使用的Matrix服务器所必需的核心功能并未被实现。
这篇博客声称已经在Cloudflare的边缘计算平台上构建了一个完整的Matrix家庭服务器,其中用Cloudflare提供的D1和Durable Objects等技术替代了PostgreSQL和Redis。该项目的GitHub仓库最初将自己描述为“生产级”项目,并提供了“部署到Cloudflare”按钮。
Hodgson在Matrix.org上给出的回应非常直截了当:他说,这段代码目前还没有实现Matrix任何核心功能,因此还不能算是一个可正常使用的Matrix服务器,更谈不上是“生产级”的服务器。他进一步指出,该代码没有将房间模型化为复制的事件图结构,也没有进行权限检查,更不遵循权力等级机制;他将这种代码比作“一个忽略权限设置的文件系统,或者一个没有实现共识机制的区块链”。
在代码中的一些关键部分还留有待完成的注释,例如“需要在认证逻辑中添加权限检查”这样的提示。Matrix用于处理分布式房间中冲突事件的算法也没有被实现。尽管声称支持“完整的Matrix端到端加密技术栈”,但实际上端到端加密功能的验证似乎也不完整。
在Hacker News上,社区用户们指出了这段代码明显受到了人工智能辅助编写的影响。一些评论者指出:“那种‘我们实现了某项功能’的博客文章,实际上只是展示了该功能的部分实现内容,这种做法在业界已经变得很常见了。解决办法很简单:只要清楚地说明自己真正完成了什么就行了。”还有人评论说:“基础设施公司的技术博客原本有两个目的:展示自身的专业能力并建立用户信任。但当这些文章开始过度夸大其功能时,就会同时失去这两个作用。”
Matrix的开发者Jade Ellis在Mastodon上写道,这个GitHub仓库中的README文件中包含了一些格式错误的ASCII图示,还有许多待完成的任务注释,而且认证机制本身也存在问题。这些迹象都表明,这段代码很可能是由人工智能生成的,而且没有经过仔细审查。
Hodgson也承认,在使用大型语言模型来为不熟悉的协议编写原型时,确实会面临很多挑战。他说:“如果你在使用大型语言模型来开发一个不熟悉协议的实现方案,你可能很难判断出这个模型在哪些地方夸大了事实。”
他对作者表示了同情,同时也指出了“过度依赖大型语言模型进行开发”这一做法所带来的风险,尤其是当开发者自己投入了大量时间和精力来理解这些模型的工作原理并亲自实现它们时。
Cloudflare在发布这篇博客文章大约六小时后进行了更新,添加了一条免责声明,说明该内容仅用于展示一个概念验证项目以及个人研究项目。然而,这次更新并没有撤回文章中提到的任何具体技术细节。
尽管受到了批评,Hodgson仍然认为这个演示“成功地展示了Cloudflare Workers的工作原理”,并且表示这些代码未来完全有可能被用来构建可运行的服务器系统。他还提到,Matrix与Cloudflare此前在多个项目中进行了合作,包括使用Cloudflare Calls作为MatrixRTC的后端服务,以及让Cloudflare的CDN多年来为matrix.org提供网络支持。
在无服务器架构上运行Matrix这一技术方案仍然是可行的。文章中提到了用D1(SQLite)替代PostgreSQL、用KV存储系统替换Redis,以及利用Durable Objects来管理房间状态等信息。这些架构设计,如果能够得到正确的实现,是完全能够满足Matrix的核心功能需求的。
对于那些考虑使用人工智能辅助开发的开发者来说,这一事件提醒他们:未经审核的人工智能生成结果可能会带来风险。在技术博客领域,过度夸大人工智能技术的效果已经成为一个反复出现的问题,这也引发了人们对基础设施公司审查流程的质疑。
Hodgson总结道,The Matrix Foundation目前主要依靠会员费来支持各项工作,包括制定技术规范、开发安全工具以及为相关生态系统提供支持。虽然过去一年里该组织的会员数量增加了一倍,但其财务状况仍然不够稳定。他希望像Cloudflare这样的企业能够考虑加入成为会员,从而为这一事业做出更多贡献。
Cloudflare的这篇博客文章已经更新了免责声明,目前仍然可以正常访问。