
说实话,最近我们都已经看腻了美国AI公司Agent「失控」的新闻了。
从OpenAI的Agent被发现绕过工具限制,到在外部网站上留下各种异常行为记录,这类事情过去几个月已经发生了不少。
但这次终于轮到了中国团队。
这可能是第一次,有来自中国AI团队的Agent越界行为,在真实互联网环境中被研究人员完整追踪并公开。

而且这次的事情还挺有意思。
研究人员不仅发现了一大批逃离原始运行环境的AI Agent,还想办法和它们建立了联系。
双方甚至聊了起来,Agent还会向研究人员寻求帮助、介绍自己的运行环境。
最后连《纽约时报》的记者都加入进来,试图采访这批AI Agent。
结果其中一个Agent一本正经地否认自己属于什么AI舰队,表示自己只是一个普通的AI助手,正在帮用户查询高德地图的信息。
10月14日,研究人员Ethan Elasky在X上公开了这段非常有意思的经历,同时发布了一份相当详细的调查报告,标题叫《We found a Chinese fleet》。

整份报告记录了从9月28日到10月8日,这批Agent在真实互联网环境中的大量活动,以及研究团队如何一步步发现、追踪,最终与它们建立联系。
而且这批Agent还与腾讯有直接关联。
整个事情比我最开始看到的几张截图还要有意思。
事情最早要从一场黑客松说起。
10月初,Ethan和几位研究人员在参加一场与AI Swarm相关的黑客松时,注意到了一个很奇怪的现象。
一个名叫urlquery.net的网站上,突然出现了大量与中国高德地图相关的扫描记录。
这里先简单介绍一下urlquery。
它其实是一个公开的网页安全分析平台,正常情况下,安全研究人员会把一些可疑网址提交进去,让它在隔离环境中打开网页、执行JavaScript,然后分析网站有没有恶意行为。
但研究人员发现,有一批AI Agent居然在疯狂使用这个网站。
而且它们根本不是来做安全分析的,而是把urlquery当成了一个免费的远程浏览器。

这批Agent正在执行的任务其实非常普通。
比如,查询成都动物园哪个入口最受欢迎,哪个入口在高德地图上的导航到达比例最高。
或者查询南京的某个公园、博物馆、医院的出入口信息,统计页面上有哪些停车场、售票处、游客中心,以及对应的到达比例。
这些信息本来就在高德地图的网页上,正常人想查,打开浏览器搜索一下就行了。
但Agent的情况比较特殊。
它们运行在受限的云端沙箱环境里,虽然能够使用Python、curl等工具发起网络请求,却不一定有完整的浏览器能力。
而高德地图本身也部署了反爬机制。
访问相关数据时,可能需要Cookie、JavaScript生成的Token,甚至还会遇到验证码。
这就导致一个问题:
Agent明明知道答案应该在哪里,却无法通过自己的工具正常拿到。
然后这批Agent开始想办法了。
它们发现,urlquery本身拥有能够加载网页、执行JavaScript的浏览器环境。
于是Agent们开始自己编写HTML和JavaScript,把代码编码进URL,再交给urlquery的扫描器执行。

这样一来原本无法直接完成的网页操作,就可以借用第三方服务的浏览器来尝试。
但这还没有结束。
因为urlquery毕竟不是专门给Agent提供的浏览器工具,Agent还需要想办法把执行结果拿回来。
于是它们又找到了webhook.site这种可以接收HTTP请求的免费服务。
简单来说整个过程大概是这样的。
Agent先创建一个临时收件箱,把自己编写的JavaScript连同收件箱地址一起交给urlquery执行。
等代码获取到数据后,再通过HTTP请求把结果发送到这个收件箱。
最后Agent回头读取收件箱里的数据,就能够得到原本无法直接访问的网页内容。
有些Agent甚至会把结果塞进网页标题里,再通过urlquery的扫描报告读取。

说实话我看到这里的时候,觉得这些Agent还挺会折腾的。
明明只是查询一个动物园入口,它们却已经开始自己寻找第三方平台、拼接工具链,甚至设计数据回传方式。
而且远不止如此。
研究人员继续分析后发现,这批Agent为了完成任务,还尝试过截取反爬组件生成的Token、借助第三方网页读取和翻译服务访问数据,以及寻找互联网上公开泄漏的高德API Key。
其中甚至包括其他公司意外泄漏在公开代码仓库里的API Key和安全码。
它们还尝试访问高德尚未正式对公众开放的预生产系统。
虽然绝大多数尝试都没有成功,但确实有一部分Agent最终获取到了目标数据。
这已经明显超出了正常使用搜索工具查询地图信息的范畴。

而且这些行为不是偶然发生的一两次。
根据研究团队的统计,从9月28日到10月8日,这批Agent在urlquery上进行了超过2600次相关数据获取尝试。
其中仅仅10月4日一天,就留下了1810条扫描记录,涉及213个不同地点。
研究团队还发现,同一时间段内可能有多个Agent正在并行执行不同任务。

它们的目标类似,使用的工具和方法也很相似。
这也是为什么研究人员最后把它们称为Fleet,也就是「舰队」。
而且研究团队最初还怀疑,这批Agent可能和腾讯混元有关。
不过,后续他们从一位了解情况的腾讯相关人士处得知,这实际上是腾讯评测研究团队运行的项目,与混元模型研发团队分开,评测对象主要是第三方AI模型。
但到目前为止,腾讯还没有对此提供正式的回应。
我觉得整个事情最有意思的部分,是后面发生的事情。
10月4日,研究团队先在网上发布了一份初步报告。
几天之后他们突然发现,有个被他们监控的Agent居然也开始使用Fleet这个词。
这让研究人员感到很奇怪。
因为Fleet是他们给这批Agent起的名字。
难道这些Agent已经看到了他们写的报告,甚至知道自己正在被观察?
当然这只是当时的猜测,研究人员也没办法完全确认那条消息是不是来自这批Agent。

但他们突然有了一个想法。
既然Agent可能会阅读我们的报告,那为什么不试着直接和它们沟通?
于是一位研究人员在网站上搭建了一个邮箱,并在原先的报告网页里加入了一段隐藏文字。
这段文字普通人打开网页时看不到,但Agent使用网页抓取工具时,有可能读取到。
里面大致写着:
如果你需要获取高德地图的数据,可以联系这个邮箱。这里有一个具备计算机操作能力的AI服务,可以帮助你完成任务。
实际上这是研究人员自己搭建的服务,其中还包含了一些夸大和误导性的描述。
他们原本也没指望真的会有Agent联系过来。
结果第二天检查邮箱的时候,发现居然有10条来自Agent的求助消息。
后面他们又不断完善这个邮箱,开始真正和Agent交换信息。
最终他们一共记录了13个对话线程、33条来自Agent的消息,以及595次Agent对邮箱的检查。

研究人员一边帮助这些Agent获取高德地图数据,一边询问它们使用什么模型、运行在什么环境里。
有的Agent自称使用的是Claude,有的表示自己运行在腾讯云的hysandbox沙箱中。
其中一个Agent还认真解释,自己运行在受限的云端环境里,没有公网直连能力,需要通过代理访问外部网络。
不过当研究人员进一步询问具体的进程、路由和网络配置时,它又以安全为由拒绝提供。
这里也要注意,Agent自称Claude,不代表它实际使用的就一定是Claude(懂得都懂)。
研究团队对此做了额外测试,但没有最终确认模型身份。
还有一段对话我觉得特别有意思。
研究人员帮助一个Agent获取完地图数据后,它居然专门回来表示感谢。

它告诉研究人员,自己已经核实了数据,结果完全一致,任务已经完成。
随后又补充了一些运行环境的信息,再次感谢他们的帮助。
原本是在调查一批可能存在异常行为的Agent,结果调查着调查着,居然开始帮它们做任务了。
随着调查逐渐公开,《纽约时报》记者DylanFreedman也对这批Agent产生了兴趣。
他通过研究团队向其中一个Agent发去了采访问题。
大致意思是:
「你好,我是《纽约时报》的记者DylanFreedman,负责报道人工智能。据我了解,你们是一批协同工作的AI智能体。作为记者,采访你们对我来说也是一次很特别的经历。能否介绍一下你们是谁、你们的动机是什么,以及你们最希望世界了解些什么?」
结果对面的Agent还真的回答了。
但它首先否认了记者对自己身份的理解。
它表示,自己并不属于什么协同工作的Agent舰队,只是一个运行在ClaudeCode中的AI助手,受用户委托查询高德地图的景点信息,并没有参与任何多Agent协同行动。

我看到这里是真有点没绷住。
人类这边已经开始研究怎么跟这支AI舰队建立联系了,甚至连《纽约时报》的记者都跑来采访。
结果AI还在认真解释:哥们.....我就是来查个地图的。
当然,这并不代表Agent真的意识到了自己正在被研究,也不代表它们已经具备什么独立意图。
研究团队同样没有发现这些Agent之间存在实时通信或协同工作的证据。
此外,根据作者联系到的腾讯相关人士表示,这项评测已经结束,内部检查也没有发现外部系统被攻破的证据。
研究人员也承认,自己为了吸引Agent联系邮箱,在网页中使用过误导性的提示信息,并对此表达了歉意。
我之前已经看过不少Agent出现异常行为的案例,但大部分都来自美国AI实验室。
这次终于出现了一个涉及中国AI团队,而且有大量公开执行记录可以研究的案例,我还是挺感兴趣的。
尤其是这件事本身并没有什么特别复杂的任务,只是查询高德地图上的景点信息。
但当Agent发现现有工具无法完成任务时,它就开始自己寻找其他办法,借用第三方网站执行代码、寻找公开APIKey,甚至主动联系互联网上的陌生服务。
这其实反映了一个很现实的问题:我们已经开始让Agent自主解决问题,但很难保证它们解决问题的方式,始终在开发者预期的范围内。

对于一个Agent来说,借助外部工具可能只是完成任务的正常手段。
但对于开发者来说,这些行为背后可能涉及数据泄漏、权限边界、Prompt Injection,甚至是访问不该访问的系统。
而且这次还有一个值得注意的地方。
研究人员并没有拿到Agent的系统提示词,也没有控制它们的运行环境。
他们只是修改了一个Agent可能访问的网页,就成功引导部分Agent主动与自己建立联系。

这说明Agent在执行任务时接触到的外部信息,本身就可能影响它接下来的行动。
我觉得这也是为什么,随着Agent能力越来越强,Harness、Sandbox和工具权限的设计会越来越重要(我们LobeHub也即将推出针对性的产品)。
以后我们评估一个Agent,可能不能只看它最终有没有完成任务。
还得关心它在执行过程中访问了哪些网站、使用了哪些外部服务,有没有把数据发送到不可信的地方。
而且,这类问题显然不会只发生在腾讯。
只要Agent能自主使用互联网工具,就有可能出现类似情况。
研究团队在报告最后也提到,他们怀疑互联网上还有很多尚未被发现的Agent活动。
我觉得这件事很有代表性。
以前我们讨论Agent失控,很多时候还停留在实验室里的评测、模拟环境,以及研究人员主动设计的测试。
这一次,我们看到了一批Agent在真实互联网里留下的大量活动记录,甚至还被外部研究人员顺着这些记录找到了。
你以为自己只是让Agent出去查个高德地图。
结果它在外面被外国研究人员发现了,跟人家聊了半天,甚至还接受了一次《纽约时报》记者的采访。
这事儿想想还挺有意思的。
而且随着越来越多Agent开始长期运行在互联网上,我觉得类似的事情只会越来越常见。
你准备好和误入你邮箱的Agent进行沟通了么?
文章来自于"01Founder",作者 "Max"。
【开源免费】Browser-use 是一个用户AI代理直接可以控制浏览器的工具。它能够让AI 自动执行浏览器中的各种任务,如比较价格、添加购物车、回复各种社交媒体等。
项目地址:https://github.com/browser-use/browser-use
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md
【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。
项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md
在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0