「搭好了没?」
我切回那台机器敲了一句。我给七亿批量远程管理工具加的 AI 助手,正一步一步给这台机器配 SOCKS5,配到一半我去处理别的事了,回来想确认下进度。
它回我一段话,大意是:先做个全面体检——磁盘、内存、端口、谁在登录,从头到脚捋一遍。
我盯着屏幕看了半天。我明明问的是「你刚装的那个东西好了没」,它跑去给我做全身检查。
不是它笨。是它手里的历史里,没有这一段。
我在七亿批量远程管理工具里给它做的叫「逐步执行」:每次只给一条命令(放在代码块里),在目标机上跑完,把真实回显喂回去,它再决定下一条。参考的是 FinalShell 那种「边看真实结果边走」的路子,不是一口气吐一堆命令让你自己跑。
坑就在这。逐步执行的每一步,我当初没写进对话历史——代码里那段是写死的,不记录。理由当时也说得通,怕一条条命令把历史撑爆。可结果是:装 SOCKS5 这一整趟,从改配置到起服务,除了最后那条回复,前面全不在它的上下文里。
它回头一看,手里只有「当前快照」,没有「我干过什么」。你问它进度,它没这份账,一急就只能重开一轮体检。
改法不复杂:每轮任务结束,把「任务经过」记进历史——目标是啥、走到第几步、最新那条回复摘要一句。不是把每条命令都原样塞进去,是把「经过」压成一条。这样下次有人问进度,它至少知道自己在干什么。
也得说明白,压成摘要不等于丢细节。真会撑爆历史的是把原始命令一条条灌回去,那才是我一开始想防的;单独留一条「经过」,占不了多少地方。
那天从 V95 一路改到 V113,一天 18 个版本,基本全是「边用边冒坑、冒一个补一个」。这条是我印象最深的,不是因为它难,是它太容易被忽略——你只把最终回复写进历史,看着好像也「记住」了,可用户一追问,中间那段就是空的。
这块在七亿批量远程管理工具里最后是这么定的:每轮任务结束,后台顺手记一笔经过。不占多少地方,但它再没在「你问进度」这件事上翻过车。
至于要加 AI 这事,我在下一步计划里早提过(那篇在这里),当时只想着把群控和 AI 放一块儿,真做起来才发现,麻烦的根本不是接模型,是我自己没想到的地方太多。
评论