Master
Published on 2026-10-09 / 4 Visits
0
0

TaskWeaver 养成记:一个被多项目协同“逼”出来的 Agent 协作平台

前言:自 21 年底前后 gpt 初见端倪以来,不少人包括我自己已经不再希望它仅仅只能对话聊天了。尝试过古法手搓将单一文本解析成结构化输出、校验、对接函数调用,如果需要的话,再触发二次函数调用,一套下来一两千行代码。但毕竟依旧还是猜词,稳定性和长程规划还很弱。得益于研究人员这短短几年的工作,基础模型取得了长足进步,围绕着 function calling 为基础的 agent 生态也真正能处理任务了。此时,会多少技术栈,懂多少 api 和语言特性已经不再那么重要了。反之,感知、创意、品味这种人类自身的属性却更显价值。而一个想法从产生,到它落地生根开花结果,这中间还有很多内容需要探索。首当其冲,便是与 agent 协作。因此,I’m in.

最早想到做 Task Weaver,是因为我在 TG 上跟 OpenClaw 聊项目。

我手上有很多个项目。通过聊天跟 agent 讨论想法、安排工作很方便,但当多个项目、多个 agent 同时推进时,单个聊天窗口就应付不过来了。

我得分别解释背景、安排下一步、追问进度,还得把一个 agent 的成果交给另一个。越来越多精力花在了协调上。每一步都要现想现安排,也很难让几个项目沿着事先确定的方向持续推进。

于是我想:能不能只对接一个 agent,把思路和规划安排好,再让多个 agent 各自开始动手?我可以关注结果,在需要的时候调整方向。

Task Weaver 就从这个需求开始长出来了。

先把规划放到一个共同的地方

要让多个 agent 按规划工作,规划就得从聊天记录里走出来。

一个项目要解决什么问题,可以拆成哪些需求,每个需求有哪些任务,任务之间谁先谁后,这些都需要有明确的记录。后续执行时,agent 可以沿着这些记录推进,人也能回头检查和调整。

这催生了 Task Weaver 的项目管理、看板和流程编排能力。

我希望在开始执行前,就把主要思路和路径安排好。执行中遇到新情况,再根据实际进展修正规划。这样,项目有一条能持续走下去的路线,我也不用不断通过聊天补发下一条指令。

规划好了,谁去执行?

接下来遇到的问题是:如何把工作交给多个不同的 agent,让它们按规划动起来?

这就是引入 daemon 的原因。

Daemon 提供了持续获取任务、调用本地 AI 工具执行工作的机制,把平台里的任务接到实际执行环境里。规划和执行因此有了连接,agent 可以围绕任务开展工作,并把执行状态交回平台。

这时我还需要知道,各个项目到底做到什么程度了。

看板可以查看任务所处的状态,需求和任务的 DAG 可以查看依赖关系,甘特图可以帮助理解时间安排。这些视图让我能从不同角度检查计划和进展:哪些工作已经完成,哪些正在推进,哪些还需要等待前置工作。

人也可以进入同一个工作空间,调整任务、参与协作、检查成果。项目推进过程中,需要判断和干预的地方仍然有人接手。

做完之后,成果要能接得上

多个 agent 各自执行,另一个问题很快就会出现:一个任务完成之后,后面的任务怎么继续?

如果结果只留在某个 agent 上下文里,下一位执行者就得重新询问背景,或者重新做一遍调查。任务虽然标成了完成,项目却未必能顺利往前走。

所以我加入了 documents 和 repo,用来沉淀知识和实际成果。还有任务的评论和备注来补充说明任务需要注意的和执行中遇到的情况。

讨论过的方案、做出的决定、形成的文档和代码,需要有可以查找和继续使用的位置。后续任务可以基于前面的成果推进,人也能检查这些成果是否满足需求。已经完成的任务和工作可追溯,项目成长过程清晰可见。

这里需要关心的是,完成一项任务之后,项目留下了什么,踩了什么坑,变成了什么样,以及这些东西能不能支撑下一步。

给多个 agent 一个共享的能力基础

当参与执行的 agent 越来越多,重复配置和分散管理也开始成为问题。

有些背景需要共同记住,有些工作方法可以复用,有些外部工具需要统一接入。如果每个 agent 都单独维护一套,管理成本会不断增加。

于是又引入了 memories、skills 和 MCPs 机制,供多个 agent 共享,并集中管理。

这些机制分别承载可复用的记忆、工作方法和工具能力。具体任务仍然有自己的上下文,可以在不同的机器,面对不同的环境。但公共的知识和能力可以在平台里维护,供不同执行者使用。

让人和外部 agent 都能管理项目

执行只是其中一部分。规划、调试、调整和日常管理,同样需要方便的入口。

我逐步丰富了 tw CLI 的功能,让外部 agent 能通过命令行操作和管理平台。这样,我可以使用自己习惯的 agent 来参与项目管理,把想法落实到需求、任务和文档里。

但我也不想一直在命令行里操作或者手边时刻备着个 codex 或者 claude code。信息在哪里,那就把信息处理者挪到那里去。

为了提供更直观的入口,我直接在页面上加入了 Ti agent,让人可以直接在页面里对话。它可以答疑、执行指令,也可以在线操作和管理项目。

Ti agent 运行在云端,实际执行工作需要合适的环境。因此,又接入了 partners,作为沙箱环境的支撑底座。

随着执行规模增加,成本也需要看得见。我开始加入 usage 和 daemon agent 额度观测。这部分目前只完成了部分能力,还在继续完善。

管理项目的人,也有自己的事要做

把很多工作交给 agent 之后,作为项目管理者,我仍然有自己的待办事项。

有些事务需要关注,有些决定需要做,还有一些任务需要我亲自推进。这些事情也需要一个位置来组织,于是有了 personal 模块,目前还在逐步建设和完善中。

最近还加入了用户系统和鉴权机制,为更多用户参与和项目协同提供基础。

随着参与者增加,平台需要明确谁能进入、谁能访问项目,以及不同的人和 agent 如何在同一个项目里协作。

我想让多个项目按规划持续推进

回头看,Task Weaver 的功能是从使用中的问题一步步长出来的。

从 TG 上难以同时对接多个 agent,到把规划放进项目和任务;从让 agent 开始执行,到看清进度;从各自完成工作,到留下可以接续的成果;再到共享能力、提供不同的管理入口,以及支持更多人参与。

它逐渐成为一个面向人和 AI agent 的项目协作平台。

我希望自己可以提前安排规划,在过程中看清进展,必要时调整方向,最后检查成果。多个 agent 则围绕这些规划开展工作,让不同项目持续往前走。

最早该项目一直在私有仓库自用,最近有时间才给它开源出来,与大家一起交流交流。

如果你也有多个项目需要同时推进,已经在用 agent 做事,觉得聊天窗口里的任务协调越来越吃力,可以试试 Task Weaver,或许是一种不一样的体验,也欢迎分享你遇到的问题,未来可能还会考虑开放 Discord 社区进行实时交流。

项目地址:limmytian/task-weaver


Comment