网络小说Agent开发思考:Workflow和Agent之争
我在开发seedraft的时候,压根没想过这款产品到底是个什么样的产品。1
最近几天我才发现,seedraft从一开始就是一款成熟的workflow软件,我和梁某银用它都有了一定的产出。
前不久,7月25号,我洗澡时灵机一动,想把seedraft改造成一款Agent软件。
那时候的我不知道什么是workflow,什么是Agent。
我之所以想这么做,是因为当前的软件设计太过死板,没有AI的感觉。
所谓的AI的感觉是从哪里来的?其实就是现在市面上常见的AI软件的交互形式:你给AI一个目标,比如解决一个问题、做一样东西,Agent会自动调用工具、使用大模型,不断推理直到达成你说的目标。
这就是我一开始想要的AI感——自由交互,最大限度释放作者的想象力和LLM的能力。
Workflow是什么意思呢?要回答这个问题,得先从我7月25号之后的经历说起。
经过统计软件的不完全统计,从上个月25号到现在,我用了接近27亿词元。2

包括我写这篇文章的时候,codex还在不停工作。
自从我打算做一款Agent应用之后,我发现事情完全脱离了我的掌控。
如何设计一个Agent?这对我来说简直就是天书,没办法,我只能从网上找科普、教学视频以及开源项目来学习。
简单来说,设计一个Agent,最基础的是理清它的架构。

上图是我做出来的第一版Agent架构图。
后来我又了解了很多东西,Agent应用中,记忆如何管理、工具如何调用,都需要仔细斟酌。
尤其是在seedraft这种应用于网文写作这一特殊场景的Agent,相比其他项目都有特殊性,在记忆管理方面,网络上很难找到可以直接拿来用的设计,需要我自己决策。
这半个月以来,我如履薄冰,27亿词元花出去,框架虽然立住了,但使用上收效甚微,远不如当初的workflow版本。
这里就要说回workflow。
我原来不知道seedraft的第一版是workflow应用,现在做了Agent我才知道,Workflow就是去除了Agent的自由度和复杂性,用一套确定的工作流让LLM发挥出确定作用的东西。
简单来说,我不需要Agent调用LLM过多思考,一本小说被拆成一套高度工程化的流程,其中有上百个我打磨的提示词,LLM只需接入系统,按我预设的流程按部就班执行一个个提示词。
相比起Agent,workflow更快捷,也更具确定性。
唯一比不上Agent应用的地方,就是它略带死板,无法充分调用LLM和作者讨论剧情,灵活性稍显不足。
这就引出一个问题:AI网络小说创作,究竟是工程化优先,还是灵活度优先?
工程化是必不可少的。网络小说的结构天然具备工程化的基础。
以我现在设计的这套流程为例,它的拓扑结构大致如下:

这是一套非常成熟的小说写作架构,已在市场上经过验证。
不知道是否可以这样说:越是高度工程化的内容,越适合用Workflow处理,而Agent往往用在那些需要充分讨论、不确定性集中的部分。
细看这个网络小说的工程结构,它确实很缜密,但这种缜密的背后有一种高度的不确定感,因为它只指向一个抽象的单位:章。
一本小说,不管是一卷、一阶段还是一单元,本质上都是由不同的章节排列组合而成的。
而章节只是量化手段,究其根本,本质是情节。
一卷就是一个庞大的故事,由若干小故事组成,而小故事又由一个个小小的情节组成。
情节与情节之间、故事和故事之间并不孤立,它们相互影响、相互制约。
一个小情节可能会影响一个大故事,而一个大故事的解决,从结果倒推法的角度看,也可能直接决定故事开头的情节或人物。
所以,AI网络小说写作,表面上看是一个具有高度工程基础、十分适配AI工作模式的存在。
但经过仔细研判,Workflow只能产出固定的内容,并不能推理和演化更深更远的故事情节。
而能做到这些的,只有Agent。
最近每次遇到困难时我都在想:有没有一种折中之法,既结合Workflow的工程化,又结合Agent的自由度?
我认为这并非不可能。
当然,这要留待以后再探索。
而要回到事情的一开始,得先回答一个问题:人还是不是参与者?
我的回答是:是且必须是。
AI永远替代不了人在创作中所发挥的灵魂性作用。
现在seedraft的架构设计:

seedraft:https://seedraft.xiluluke.com/
↩词元(token):人民网《用“Token”还是“词元”,事关科技话语权》https://mp.weixin.qq.com/s/vGD3P4B1ggU-4R_REqYASw?scene=1
↩