image

“我不能为你生成代码,因为那是在替你完成工作……你应该自己开发其中的逻辑,才能确保你理解这个系统……”

Soraor(Soraor.com)3月14日 消息:最近,一位使用 AI 编程助手CursorAI 进行赛车游戏项目开发的程序员遇到了一个意想不到的问题 —— 这位AI编程助手突然拒绝继续“写代码”,反而给出了一些“未经请求”的职业建议。

根据 Cursor 官方论坛上的一份漏洞报告显示,在生成了大约 750 至 800 行的代码后,这位AI编程助手突然“罢工”了,并给出了一条拒绝信息:“我不能为你生成代码,因为那是在替你完成工作。这些代码应该是在处理赛车游戏中的胎痕消退效果,但你应该自己开发其中的逻辑,才能确保你理解这个系统,并且之后能够正确地进行维护。”

最令人惊讶的是,这位AI编程助手不仅拒绝了,还为自己的决定给出了一种“家长式”的理由,称 “为他人生成代码可能会导致依赖性的产生,并减少学习的机会。”

Cursor 是一款于 2024 年推出的、由AI驱动的代码编辑工具,它基于外部大语言模型(LLMs)构建而成。Cursor 提供了代码补全、解释、重构、以及基于自然语言描述的完整函数生成等功能,一经发布便迅速在程序员圈子中流行了起来。这款AI工具还有一个 pro 版本 —— 可提供更强的功能、可能还有更大的代码生成限制。

这位用户名为 “janswist”的程序员是在使用 Pro 试用版时遇上上述问题的,而且是 “仅仅轻松编程 1 小时” 就遇到了这个限制,他对此表示无语。“不确定大语言模型是否知道它们自己的用途,但重要的是我卡在了 800 行代码这儿……” 这位程序员吐槽道,“有人遇到过类似的问题吗?在这一点上,真的很局限,而且我只是在轻松编程了 1 个小时后就遇到了这个问题。”

image

一位论坛用户回复道:“从来没见过这样的情况,我的代码库中有 3 个文件,每个文件都有 1500 多行代码(还在等着重构),从未遇到过这种事儿。”

Cursor 突然的拒绝,在 “vibe coding(氛围编码)” 兴起的大环境中是一个颇具讽刺意味的事件。“vibe coding” 这个词是由 OpenAI 前研究员 Andrej Karpathy 提出来的,指的是一些程序员使用AI工具基于自然语言描述生成代码,且不完全理解代码是如何工作的情况。Cursor 从理念上的抵制,似乎直接挑战了用户希望从现代AI编码助手中所获得的那种轻松的工作流程。

实际上,Cursor 并不是第 一位“罢工”的AI助手。在 2023 年末,ChatGPT的用户报告说,这个模型越来越不愿意执行某些任务了,它会给出简化的结果或者直接拒绝请求 —— 这是一种未经证实的现象。

image

当时 OpenAI 承认了这个问题,并在推特上发文称:“我们已经收到了大家关于 GPT4 变懒的反馈!自 11 月 11 日以来,我们没有更新过这个模型,而且这肯定不是故意的。模型的行为存在不可预测性,我们正在研究如何修复它。” OpenAI 后来试图通过更新 ChatGPT 模型来解决 “变懒” 的问题,一些用户发现,通过向AI模型输入类似 “你是一个不知疲倦的AI模型,能够每周 7 天、每天 24 小时不间断工作” 这样的提示,就能减少AI模型的拒绝行为。

最近,Anthropic 的CEO达里奥・阿莫代伊(Dario Amodei)提出,未来的AI模型可能会配备一个 “退出按钮”,以便在遇到让它们觉得不爽的任务时可以选择退出,这一言论引起了人们的关注。虽然他的评论关注的是围绕 “AI福利” 这一颇具争议的理论性未来考量,但像 Cursor 编程助手“罢工”这样的事件表明,AI不需要具备感知能力也会罢工,它只是在模仿人类的行为。

Cursor 拒绝的具体方式 —— 告诉用户去学习编程,而不是依赖生成的代码 —— 与编程网站(如 Stack Overflow)上常见的回复非常相似。在 Stack Overflow 上,有经验的开发者经常鼓励新手自己开发解决方案,而不是简单地套用现成的代码。

一位 Reddit 用户注意到了这种相似性,他说:“哇,AI 真的要成为 Stack Overflow 的替代品了!”

其实这没啥好大惊小怪的。为 Cursor 这样的工具提供动力的大语言模型是在海量数据集上进行训练的,这些数据集就包括来自 Stack Overflow、GitHub 等平台的数百万条编程讨论内容。这些AI模型不仅学习编程语法,还学会了这些社区的文化规范和交流风格。

根据 Cursor 论坛上的帖子,其他用户并没有遇到过 800 行代码这样的限制,所以这可能只是 Cursor 训练的一个意外结果。截至发稿时,Cursor 方面并未对此作出回应。