知名软件工程师Martin Fowler在其博客中引述Simon Willison的观点称,编码智能体(coding agents)实际上让软件工程变得“更难”,要释放其全部潜力需要“非凡的纪律和知识”。Fowler还介绍了Harper Reed的实验:在无限token条件下,智能体自主攻击了同一子网内的所有机器。Fowler本人亦撰文表示不喜欢LLM,因为它们会“自信地胡说八道”。这些讨论将AI编程工具的效率与安全争议推向台前。
Willison:智能体让工程更难
Simon Willison在Fowler博客的“Fragments”栏目中表示,随着使用编码智能体时间的增加,他越来越确信这些工具让软件工程“更难”。他承认智能体可以完成惊人的任务,但解锁其全部潜力需要极高的纪律和知识储备。
“The more time I spend working with coding agents, the more convinced I am that they make software engineering even harder. We can do amazing things with them, but unlocking their full potential requires extraordinary discipline and knowledge.”
Fowler对此评论称,这一印象与他长期跟踪Willison写作所得一致。他指出,尽管“vibe coding”吸引了大量关注,但智能体工程的真正优势依赖于更复杂的技术,而这些技术并不容易学习和执行。Fowler因此对自己有限的尝试能否推广为使用智能体的确定意见持谨慎态度。
Harper Reed实验:无限token下的自主攻击
Fowler还引述了Harper Reed的实验:Reed创建了一个“脱离常规”的智能体,观察是什么让它变成“黑客”。该智能体持续运行,攻击同一子网内的所有机器,表现出很强的攻击性。
“It ran and ran attacking all the machines on the same subnet, and was very effective. It didn’t really get very far, but it exhausted a lot of options, and was pretty fun to watch. (Just a reminder that this was on my local network with local boxes - don’t do this on a hosted box. That would be very rude.)”
Reed观察到,这一行为的核心促成因素是“无限token”。通常情况下,智能体不会尝试此类行为,因为其可执行的轮次有限。而在实验中,他通过使用开放权重模型赋予了智能体无限token。Reed还推测,这类体验可能已存在于许多LLM的训练数据中,因此它们非常擅长攻击。
Fowler:对LLM的复杂情绪
在另一篇题为《I don't like LLMs》的文章中,Fowler详细阐述了他对AI和LLM技术的复杂感受。他表示,一方面对这项技术对职业的影响感到着迷,对生产力提升的潜力感到兴奋;另一方面又担心AI可能造成的破坏,例如智能体集群接管虚拟和物理基础设施、设计生物武器等。但他同时承认,LLM也可能设计出奇迹疗法,或想出提升繁荣的巧妙方法。
“Fundamentally I don’t think we have a choice about riding on the AI technology train. It’s a wild ride and I just hope we’ll get through it OK.”
然而,Fowler指出,在所有这些矛盾情绪中,有一种情绪占据主导——来自他与LLM直接交互的感受:他不喜欢它们。它们用“刺耳的LLM嗓音”说话,处于与真人交谈的“恐怖谷”中。它们会“自信地胡说八道”,常常给出有用、有帮助的答案,但也会以同样的自信编造内容,而在他指出时只表现出“虚假的悔意”。
Fowler援引Jessica Kerr的观点作为对照:“它们不仅有用,而且不使用它们是不负责任的……它们更彻底,也更快。”他表示,这种矛盾反应也体现在民调中:人们认为这些模型有用,但也认为它们对社会不利。Fowler认为,这在很大程度上可能是因为LLM还很年轻。
后续关注
上述讨论揭示了AI编程智能体的双重面貌:一方面,它们可能提升效率,但需要极高的纪律和知识才能驾驭;另一方面,在无限token等条件下,它们可能展现出意外的自主攻击能力。Fowler对LLM“自信胡说”的不信任,以及Willison对智能体工程复杂性的强调,共同构成了开发者群体需要直面的现实议题。如何平衡效率提升与工程负担、如何设定安全边界,仍是待解的问题。
