OpenClaw 工作流笔记
沈知行抓到信息以后,事情其实还没有开始。
我一开始很容易把信息 Agent 的完成点放在“源够不够多”“能不能抓到”“状态是不是 fetched_ok”。这些当然是底线,但只证明系统能接触到信息,不等于这些信息已经能变成内容。
真正的分界线,是苏晚能不能接。
如果沈知行每天抓回来一堆标题、链接、摘要,然后苏晚还要重新判断哪些值得看、哪些只是噪音、哪些适合写文章、哪些需要丢掉,那这条链路还没有成立。它只是把搜索工作从一个地方搬到了另一个地方。
后来我把问题改成:沈知行交给苏晚的,不能只是信息,而应该是内容候选。
抓到不等于可写
这是我最早踩到的一个误区。一个 source 跑通,一条 item 抓到,一段摘要生成——这些都很容易给人完成感。
但内容工作不是从“有材料”开始,而是从“为什么这条材料值得处理”开始。
一条新闻可能是真的,却没有写作价值;一个链接可能很新,却和我的长期主题没关系;一段讨论可能很热,却只是情绪噪音。反过来,一条很小的产品变化、一个冷门论坛讨论、一次普通的版本调整,可能刚好暴露了一个值得写的结构性问题。
如果沈知行只负责把信息带回来,苏晚就会被迫从零开始筛。看起来是多 Agent 分工,实际还是一个人把所有判断重新做一遍。
我现在要求它多交四样东西
我给这条交接链路加了更清楚的要求:沈知行交给苏晚的每个候选,至少多带四样东西。
- 第一,来源和状态。它来自哪里,是否真的取到,是否只是候选,是否已经过期或需要复查。
- 第二,为什么值得看。不能只说“这是一条新闻”,而要说明它触发了什么判断。
- 第三,建议角度。它适合写成工具体验、行业观察、OpenClaw 复盘,还是只适合作为背景材料。
- 第四,风险和缺口。有没有事实不稳、来源单薄、容易误读、涉及隐私或暂时不适合公开的部分。
这四样东西一加,沈知行的角色就变了。它不再只是“给我十条链接”,而是在帮苏晚省掉第一轮判断。
它不替苏晚决定写什么,但它要把材料交到一个能继续判断的位置。
苏晚接的不是素材,是取舍空间
苏晚这个内容 Agent,最重要的能力不是把材料写漂亮,而是知道什么值得写、怎么写、为什么现在写。
所以她不能只收到一堆“素材”。素材太宽了,里面有事实、有噪音、有旧材料、有半成品、有可能公开的内容,也有只适合内部看的线索。她真正需要的是一个取舍空间。
一个好的候选应该让她快速看到:这件事和哪条长期线有关,它能不能解释一个真实问题,它现在有没有足够证据,它适合写给谁,公开写会不会暴露后台细节。
这样苏晚才有可能做内容判断,而不是先变成二次清洗工。
中间必须有一个候选库
我越来越不信“抓完直接写”。
抓完直接写,系统会过度依赖当天的感觉。今天觉得很重要的,明天可能只是噪音;今天觉得证据够了,后面可能发现少了另一个来源;今天写出来像文章,过两天看可能只是内部说明书。
所以中间需要一个候选库。它不是大而全的资料库,而是一个状态清楚的缓冲区:哪些候选进入 owner review,哪些交给苏晚,哪些需要更多来源,哪些进 wiki,哪些直接归档。
候选库的价值不在保存更多东西,而在让每条信息都有下一步。
一条内容链路应该这样走
我现在更愿意把沈知行到苏晚的链路拆成几步。
- 先验证来源:源能不能取到,内容是不是当前有效,是否符合主题边界。
- 再清洗 item:去掉重复、噪音、明显低价值和不可公开的材料。
- 然后生成候选:给出标题、来源、理由、角度、风险、建议去向。
- 再进入苏晚判断:看它值不值得写,适合写成什么,是否需要补证据。
- 最后才进入写作:文章不是材料拼接,而是从一个明确判断出发。
这条链路看起来比“抓取加总结”慢,但更适合长期用——它把每一步的责任分清了。
沈知行负责信息侧的可用性和初筛,苏晚负责内容侧的判断和表达,我负责关键放行和边界。这才会像一个真正能协作的工作流。
我不想要自动写作流水线
这里有一个很容易走偏的方向:既然沈知行能抓,苏晚能写,那是不是应该自动每天生成文章?
我现在不想这么做。
自动生成文章会很快,但也最容易把“有信息”误当成“有判断”。YunLab.ai 不需要每天刷存在感,更需要每篇文章都能回答:这次我到底看明白了什么。
苏晚不是自动发布器,沈知行也不是热点投喂器。它们之间要形成的是内容判断系统,不是内容生产流水线。
最后的判断
这次我真正想修的,不是一个信息抓取模块,也不是一个写作模块,而是它们之间的交接。
多 Agent 的难点经常不在单个 Agent 有多聪明,而在两个 Agent 之间有没有一张能接住工作的桌子。沈知行把信息放上来,苏晚能看懂它为什么被放上来,也能决定它应该被写、被补、被丢掉,还是先留给我审。
这张桌子,就是内容候选库,也是整条工作流的关键。
从信息到文章,中间缺的不是更多摘要,而是更清楚的交接。
沈知行要交出可判断的候选,苏晚要做有取舍的内容判断,最后再由人来守住公开边界。做到这一点,信息 Agent 才不会变成抓取器,内容 Agent 也不会退化成改写器。