我手上有几个老站,热度早就过期了,内容也杂。通常的处理办法是关掉,关不掉就晾着。今天上午我做了一件相反的事:把一个躺了很久的站重新接上了发布能力,又顺手给一个理财内容智能体补齐了它的本事。过程不长,但里面有几个判断值得记下来。
先交代背景。这个智能体叫阿财,负责我那个理财站的内容,方向是理财科普。它原来只会写,稿子写完停在那里,得我自己复制粘贴到后台。所以今天做的事,本质是把「从取数到发稿」这条链子上的断点接上。
一、老站不是没救,是没有「入口」
那个站停了有一段时间了。停的原因很简单,以前手动发,忙起来就断,断了就再也没发,最后连后台密码都懒得记。
但站本身是活的。域名在,服务器在,WordPress 也在,前台打开秒出。它缺的不是内容,也不是流量,缺的是一个人愿意每个月花二十分钟去后台点发布。
所以这件事的解法不是「重建」,是「接管」。我不动它的主题、分类和旧文章,只做一件事:让它重新能被程序写入。
WordPress 自带一个 REST 接口,不用装插件,默认就开着。在后台生成一串应用程序密码,外面就能用用户名加这串密码往里发文章。这串密码跟登录密码不是一回事,登不进后台,只能调接口,用完随时吊销,比给登录密码安全得多。
这里我踩过一个坑。半年前我第一次给这个站发文,是在聊天窗口里把密码直接贴过去的。当时能用,发完我也提醒过自己撤掉重建,但后来忙起来忘了。今天重新要用,我把手上所有能想到的密码挨个试了一遍,全都不对。翻记录才发现,那串密码只在当次对话里用过,从来没被正式存进任何地方。它没有丢,是从来就没被收好过。
教训是:凭据不能「临时用一下」。要么当场存成加密变量,要么用完立刻作废。中间状态最危险,你以为记下了,其实哪都没有。
二、为什么没做成一件事,而做成了三件
要给阿财接上行情数据,路不止一条。最后我选了看起来最麻烦的那条:装技能包,配护栏,再单开一个智能体。三个选择都不显然,理由值得写清楚。这三个「为什么」,是今天真正想记的东西。
为什么不用现成的托管服务
最省事的路是托管服务。数据方把接口在远端跑好,我拿到一个地址加一个令牌,连过去就能用。不用装环境,不用管依赖,零部署。
我一开始就是奔着这个去的,往深想了一层才改主意。
托管服务给我的,是「一个能查数的口子」。它能回答「这个数是多少」,但它不知道阿财在什么场景里用它、不知道数据最后要发到哪、更不知道发的时候哪些话不能说。它是个开关,按下去就出货,至于货往哪送,不是它的职责。
而我需要的不是开关,是一份写清楚「什么时候用、按什么规矩用」的东西。这个差别在一次性的小任务里看不出来,在每天都要出稿的生产流程里,是致命的。
为什么是技能包
技能包听起来玄,拆开就两样:一份说明书,加一个脚本。说明书管规矩,脚本管具体怎么调。
它和普通工具函数最大的区别,是技能包绑在智能体的身份里。阿财要产理财内容,它在判断「现在该做什么」的时候,会自己想到去翻这本说明书,不用我每次喊「你该查数据了」。
我要的不是一个被我调来调去的工具,是一个自己知道该用工具、也知道用到什么程度就该停的助手。前者是我干活,后者是它干活。这是两件事。
还有个现实原因:这套东西官方已经做好并维护着了,八百多行说明书,覆盖两百多个接口,附一份八十多 KB 的离线文档。我要做的只是装进来,再在自己的场景上加工一层。从头写是浪费。
为什么单开一个智能体,叫阿财
最难解释的是这个:我手上已经有通用助理了,为什么不直接给它加个技能。
因为通用助理和理财内容主理人是两种东西。通用助理的性格是「你问什么我答什么」,什么都能聊一点。而理财内容生产要的是另一种气质:稳、有边界感、懂行但绝不吹,得像一个做了十年理财科普的老编辑,热心,但不忽悠。
这两种性格放进一个身份里,是会打架的。一个什么都能聊的助理,很难在同一个脑子里同时守住「六句话绝对不能说」的红线。所以我给它一个独立的人格和一套独立的规矩,只干这一件事。
还有个更实际的原因:出口不同,凭据就得分开。阿财管的站和我的技术博客不是同一个,用户名、密码、分类、标签全不一样。塞进通用助理里共用一套配置,迟早会发错地方。这种错不显眼,但两个站的调性全毁。
单开一个智能体成本很低,建个目录、写三份身份文件、挂上技能就完了。换来的是一个清晰的边界。这笔账很划算。
三、工具不会替你守法,护栏得自己焊
技能包装好之后,我做的第一件事不是让它跑,是给它加一层限制。
这个站是理财站,理财内容有硬红线:荐股不行,承诺收益不行,预测涨跌不行,晒收益不行,制造焦虑不行,冒充投资顾问也不行。一条都不能碰。
问题在于,官方那套技能包是通用研究工具。它的职责是把数据准确取出来,它不知道数据最后要发到公开网站上,更不知道那个网站上有些话不能说。工具不替人守法,护栏必须自己焊。
所以我叠了一层文件,专门写「什么能写、什么不能写」。里面没有大道理,全是能照做的对照:「某某股票值得买」改成「某某所属行业本月成交额变化如何」,用事实陈述代替方向判断;涉及具体标的的表述,后面必须跟风险提示;引用历史数据,必须标注「历史不代表未来」。这层文件的优先级高于技能包本身,冲突时以它为准。
装完我拿三个接口做了冒烟测试,交易日历、股票列表、日线行情,全通。账号档位也确认过了,做理财科普的内容原料绰绰有余,暂时不用往上充钱。
四、补的是「手」,不是「脑」
阿财的脑子早就够用了:能查行情、能读财报、能按给定口径写出一篇通顺的稿子。它缺的是手。
稿子写完停在那里,要发还得我自己复制粘贴到后台。这就等于请了个会写字的助理,笔和纸还在我兜里。
所以我给它配了一个管发布的技能包。脚本本身简单,无非是调接口、传标题、传正文。价值在说明书里那几条写死的规矩:默认只能存草稿,不能直接发出去;删东西只能进回收站,不许真删;发布前必须自己回读一遍后台,确认状态真的变成「已发布」;正文里不许插横线分隔;标签必须挂正文里真实出现过的词。
这些规矩看着是束缚,实际是保命的。因为智能体最擅长的就是自信地做错事。你不把边界写死,它迟早会用一种很有说服力的方式,把一件事办砸。
五、一个智能体一个站,别共用一套密码
这条最容易出错,也最值得单独记。
我这个技术博客用一组配置,新接的老站用另一组。两个站,用户名不同、密码不同、分类编号不同、标签体系也不同。图省事让它们共用的后果就是发错站:你写的是技术文章,结果发到了理财站,或者反过来。
所以我给新站单独配了一组变量,前缀都不一样,跟原来那组彻底隔开。智能体要发哪个站,开工前显式指定用哪组。多敲一行命令,换来的是一整类事故不会发生。
这条经验能推广:一个团队只要有两个以上的出口,就别让它们共用同一份凭据。分开存、分开指定、互不干扰。省掉的那点配置功夫,迟早会以事故的形式还回来。
合起来看
一个老站重新能发了,一个智能体长出了发稿的手。分开看是几件小事,合起来是一件事:我在把「内容生产」里所有需要我亲手点的环节,一个个交出去。
交出去的前提不是智能体变聪明了,是每一环的规矩被写清楚了。站是哪个站,密码用哪组,发之前要验什么,错了怎么退。这些写清楚了,才敢让它自己去点那个按钮。
我越来越觉得,搭一套能长期跑下去的系统,难的从来不是让它跑起来,是让它跑错的时候能被拦住。今天做的这些,大多是在修「拦住」这件事。今天先把线接上了。能发,是第一位的。










