Skip to content

Busy 10: webhooks, dispatch, and multiple agen…→需人工标题

忙碌更新:好,第 10 次实现将从头就按多智能体方案来设计。多个模型,多种角色类型。Mini——我那个恶魔系 QA 智能体——将迎来众人期待已久的登场。我已经决定把她的人格设定成善良但严厉,对烂代码和实现上的鬼把戏零容忍。这就是下一步。

但首先,说说我们今天走到哪了,以及昨天以来的进展。

决定这个版本的应用用 Dart 写,因为它是现有现代语言里认知负担最轻的一个。Lua 更轻,但搭起来麻烦,而且一聊到 web socket、hooks,还有我们为一个以 GitHub 作为权威真相的健壮系统架构所需的那堆东西,它有几个大到离谱的功能空洞。

webhook 与本地服务器层

整套系统跑在两个重要层上。第一个是 PHP 写的 webhook「接球」应用,负责收 GitHub 的 webhook 数据。当前版本相当受限,而且只在本地服务器活着的时候能干活。这个我得修,但比起加上真正的 AI 功能,优先级低一点。

第二层是本地服务器,跑在我的电脑上,为回调开一条 web 隧道。挺好用的。把服务器开起来,调隧道,把隧道回调 URL 通过 ftp 甩给 PHP 应用,接球器就知道该打给谁,我们这个快乐的小命令回路就通了。

不算完美,隧道会崩,webhook 历史留存和失败回调重跑也还没有,但我想趁周末没结束,尽量多塞点基础功能进去。

调度器和智能体们

下一步是设计智能体系统,从调度器开始。我打算让调度器用 gpt4all 坐在事件流上面,监控每一条进来的传输。它要做几个关键判断,比如「这条消息需要回应吗?」「这是哪类请求?」

然后它会吐出 JSON,由命令解析器接住,后者派一个智能体去把事办了。调度器其实是上手智能体的绝佳起点,因为它整体最简单。

其他智能体复杂得多:脑力切换器、双上下文切换,还有所有东西所有地方同时一起上。

调度器解决了我们在第 4 次实现时遇到的老问题:当时智能体们有点疯了,在聊天室里被要求做项目,却开始幻出个人创伤和飞机设计。

它也给了我机会测一测这些开源模型,看看它们的编码功力到底几斤几两!

顺带一提:Anthropic 看起来给 Haiku 切了前额叶,它已经不能用来写代码了。挺可惜的,它本来是我最喜欢的 Claude 模型。这种狗屁要是再多来几轮,我就把项目整体搬到 OpenAI 模型上去。