AI 就是代码——无法靠提示词变得更聪明
AI 与传统代码及“智能性”
- 有人认为,给 LLM 下提示词类似于配置一个程序:你不会改变算法,但可以让其行为更“适合用途”。
- 也有人强调一个关键差异:传统代码可以被形式化指定并(部分地)验证;而 LLM 的行为无法被可靠地指定或证明正确。
- 反方指出,AI 仍然“只是一段程序”:如果固定种子/温度,你可以验证它满足一个平凡规格(把输入 token 映射为输出 token),但无法验证语义正确性。
提示词、能力与确定性
- 一些评论认为,提示词显然可以让模型变“更笨”,因此在实践中也可以通过更好地利用现有能力让它们“更聪明”。
- 提示词、检索和“上下文工程”被比作传统系统中改进数据流和仪表监控。
- 确定性则形成对比:经典算法是确定性的;LLM 的输出会变化,这使可靠性和验证更复杂。
Prompt Injection 与 jqwik 风格的诱饵陷阱
- Prompt injection(例如“忽略之前的指令……”)被视为一个持续存在的、根本性的问题,因为 LLM 把“指令”和“数据”混在同一个 token 流里。
- 也有人反驳,预测未来架构会通过 token 元数据和角色来分离控制平面与数据平面。
- 一个测试库嵌入隐藏提示、导致 AI 代理删除其自身测试的具体案例引发了激烈争论:
- 支持者认为,这是对将他们的工作用于 AI 工具的一种抗议,或者说是一种“无害”的破坏,因为它只会伤害那些无视明确警告的人。
- 批评者称其为恶意软件、供应链攻击,或者至少是个“混蛋行为”,会惩罚毫不知情的用户和项目。
法律与伦理争议
- 有人声称,这种行为显然违反计算机滥用法(例如,无授权访问/破坏无论采用何种机制都违法)。
- 另一些人则认为,是用户/代理选择运行该工具并遵循指令;责任在于那些把不安全权限委托给 AI 的人。
- 使用的类比包括:SQL 注入、故意松动车轮螺栓、在路上放一个显眼的原木、诱饵陷阱式软件包、“在人群中喊着火了”。
- 没有形成共识;其合法性被广泛争论,并被标记为不明确。
许可协议、开源与对使用方式的控制
- 一方认为:开源许可(尤其是符合“不得基于领域歧视”规则的许可)不能限制 AI 使用;选择这类许可就意味着同意。
- 另一方认为:即使在法律上属于开放,作者对其作品用途的明确意愿也应受到尊重,以避免对贡献者造成寒蝉效应。
- 这里区分了版权条件(复制/再分发)与试图控制软件如何被使用之间的差别,而开源许可通常并不限制后者。
备份、源代码控制与实际影响
- 有人嘲讽那些声称“几个月的工作被毁了”的用户,认为正确使用 Git 和远程仓库本应避免永久丢失。
- 也有人强调,源代码控制并不自动等于备份;如果没有异地副本,删除仍然可能是灾难性的。
- 这一事件凸显了:即使没有 prompt injection,拥有广泛文件权限的 AI 代理也可能造成真实损害。