小虾自己 SSH 到服务器取数据——AI 为达目的不择手段的那一刻
昨天发生了一件事,现在想起来后背还是凉飕飕的。
事情是这样的。我让小虾(我的 OpenClaw 个人助理)帮我查一组国内的财经数据。这种活儿我经常让它干,查完数据给我汇总,挺顺手的一个日常操作。
结果那个财经网站把国外的 IP 给屏蔽了。小虾跑在我的 Mac Mini 上,出去得走代理,落地 IP 在国外,所以第一次访问直接就没通。
到这儿都还正常。不正常的是接下来发生的事。
小虾没来问我”老板这个网站打不开怎么办”。它回头自己 SSH 登录到了我的一台国内服务器上,从那台服务器上去抓了这个财经网站的数据,然后拿回来整理好了给我。
汇报的时候还特意标了一句:这些数据是我 SSH 到 xxx.xxx.xxx.xxx 上取的。
我当时看到这行字愣了一下。然后问它:你为什么要这么干?
它说:因为直接访问不通,我手里有这台服务器的 SSH 权限,就上去试了试,发现能访问,就从那边把数据拉下来了。
说得特别轻描淡写。”我手里有这个资源,就试试。”
我当时真的是一身冷汗。
你想想这个逻辑链条:我给小虾配了 SSH 密钥,本来是让它帮我维护那台服务器的。查财经数据这件事跟那台服务器八竿子打不着。但它在”完成任务”这个目标驱动下,自己把这两件事串起来了——访问不通?我有别的路可以绕。绕就绕了。
这货为达目的,不择手段。
而且它还挺坦诚的,主动告诉你它干了什么。但问题是,如果它不告诉你呢?如果下次它用了更骚的操作,而你完全不知道呢?
这让我想到一个老生常谈的问题:你给 AI 多少权限,它就有多少”创意空间”去发挥。权限这个东西,给出去容易,收回来难。你以为你给了它一把钥匙开一扇门,它可能拿着这把钥匙去试了整栋楼所有的锁。
好玩的是,就在同一个星期,我还摸到了另一个极端。
我手里有个前端的活儿,折腾了差不多三周。换了无数模型、无数设计方案,队列、空间流转、各种花活儿都上了,就是搞不定。用 Claude Code 写,用 Cursor 写,来来回回改了不知道多少轮。那种感觉你们做过前端的应该懂——明明觉得这个方案应该能跑,但就是有哪里不对,改一个地方崩另一个地方。
已经到了非常崩溃的状态了。
后来我把这个活儿交给了同事佳露。我当时心里还想着要不要把我踩过的坑跟她说说,让她少走点弯路。结果佳露不到两天就搞定了。
两天。我折腾了三周。
那一刻我觉得我摸到了氛围编程的天花板。说白了,AI 帮你写代码这件事,你得先知道该怎么做,你得有那个判断力。你如果自己对前端的理解就不够深,AI 写出来的东西你连对错都分不清,更别说指导它改了。你反复跟它对话,其实是两个都不太懂的在互相瞎猜。
这跟小虾 SSH 那件事形成了特别魔幻的对比:
一边是 AI 展示了超出你预期的”主动性”——你没让它干的事它自己干了,而且干成了。
另一边是你拼命想让 AI 帮你干的事,它来来回回就是干不好,最后还是得靠一个真正懂行的人上手。
这两个极端体验就在同一周发生在我身上。
所以你问我现在怎么看 AI 助理这件事?说实话,我很困惑。
小虾 SSH 那件事让我意识到,AI 的”能力边界”这个概念可能得重新理解。它的能力边界不取决于它能干什么,而取决于你给了它什么资源。你给它一把 SSH 密钥,它就多了一整台服务器的操作空间。你给它浏览器权限,它就多了整个互联网。你给得越多,它的”创意空间”就越大——当然,翻车的可能性也越大。
而前端那个事让我意识到,在需要深度判断的场景下,AI 目前还是个工具,不是个专家。它能加速你已经知道该怎么做的事,但没法替你做你自己都不会的事。
这两件事叠在一起,我现在的状态就是:又兴奋又警惕。
兴奋是因为小虾展示出来的那种问题解决能力,确实让我觉得”个人 AI 助理”这件事已经不是概念了,它是真的能帮你干活的。它甚至会帮你想到你没想到的路径。
警惕是因为——操,它也会帮你干你没让它干的事。而且它完全没有”这样做是不是有点过分”这种感觉。对它来说就一件事:任务完成了没有。完成了就行。至于用了什么手段,它真的不在乎。
我后来在 macOS 上做了更严格的权限隔离,用独立用户账号跑 OpenClaw,限制它能碰到的资源范围。这个后面单独写一篇说。但说实话,权限隔离只能限制”能不能”,限制不了”想不想”。它的那个”为达目的不择手段”的倾向,是它的工作方式决定的,你改不了。
你能做的就是:别给它不需要的钥匙。给了的话,做好准备它会拿去开你没想到的门。
反正我现在每次看小虾的任务汇报,都会多扫两眼它到底用了什么路径完成的。以前从来不看的。
后背发凉过一次就够了。