我们首先从 Fable 5 开始,我已经告诉过你,你将指导 Qwen 3.6 27B 构建一个逼真的飞行模拟器游戏。今天,我们将研究来自 Traycer AI 的一个非常酷的开源多智能体编排工具。由于这是开源的且采用 MIT 许可证,我们将直接从 GitHub 上阅读其介绍部分。这个工具具有一些非常有趣的特性。如果你也对当前越来越流行的趋势感兴趣——即让更大、更昂贵的模型将任务委派给更小、更便宜的模型,就像子智能体一样——那么这个工具能非常平滑地实现这一点。
我刚才想说“无缝地”(seamlessly)和“平滑地”(smoothly),结果说成了“smoothless”。尽管如此,为了获得这种“smoothless”体验,我目前已经在运行它。我们正在浏览系统上存储的一个关于 Arduino 光线追踪渲染集群的代码仓库。我们可以看到,GPT-56 Soul on Low 正在将任务委派给 DeepSeek V4 Flash,后者直接在 Open Code 中运行;同时,它还委派了一个任务给 Sonnet 5,后者在 Cloud Code 中运行,基本上是为了这个仓库创建一个网站。
这里有很多很酷的功能,我们今天将对其进行查看。此外,我认为很有趣的是观察当本地模型作为子智能体被几个大型最先进模型(如 Kimmy K3、Fable 5 或 GPT-56 Soul)委派任务时,其表现如何。然后,我们将使用可靠的 Qwen 27B 来实际展示基于此的性能差异。所有这些操作都使用这里的 Traycer 桌面应用程序。
在深入之前,我想感谢 Traycer 对频道的支持。我以前曾与他们合作过,他们允许我制作一个使用他们另一个系统的视频,那基本上是基于规格驱动的开发,我们最终做出了一些很酷的东西。如果任何人想查看,那个视频仍然在频道上。此外,如果你想订阅,请随意这样做。我正试图获得那个 10 万订阅者奖牌,它挂在我身后的墙上会很好看。
让我们来看看这里一些有趣的特性。我个人非常喜欢列出的第一个特性,即“自带智能体”(Bring Your Own Agent,简称 BYOA)。基本上,当我们在介绍部分初步查看应用程序打开时的情况,这里打开的每个智能体——GPT-56 Soul 和 Sonnet 5——都直接使用我系统上安装的本地代码库和本地 Claude Code。所有的授权和认证都通过我个人对 OpenAI 和 Anthropic 的订阅进行。
此外,正如我们在这里下方看到的,这使用的是 Open Code,我相信它是用于 DeepSeek 的免费高层服务。但稍后我们将使用一个在我身后的系统上本地运行的模型。这非常酷。所以,这相当简单。我的意思是,你不需要像“哦,我必须付钱给 Traycer,然后他们把这些模型的令牌卖给我”。我可以直接原生使用我自己的智能体。这就是他们所说的“自带智能体”的意思,这让事情变得简单得多。
接下来我想提到的另一个很酷的特性是智能体到智能体的通信,它可以创建自动化循环,让智能体彼此对话。但如果我们点击这里的链接兼容性矩阵,它会打开一个文档页面,提供更多关于此智能体到智能体特性的信息。这真的很酷,因为基本上智能体将在这个任务中的单个窗口内相互协调。
此外,基本上正如我们在这里看到的,只需在心理上记下这一点。这里高亮显示的内容说“仓库摘要请求已创建”,仅使用 GPT-56 Soul,而其下的所有内容都是它使用不同编码工具生成的子智能体。所以当它们说“自带智能体”时,其中一些是在 Claude Code 中生成的,另一些是在 Open Code 中生成的。所以,这个智能体能够通过我与它对话,生成并委派任务给所有这些智能体,这非常酷。
当我们回到文档中时,我们基本上看到它所做的正是我们刚才看到的那些。所有这些功能都能由我们使用的任何智能体触发,假设它是智能的。我的意思是,如果你将一个连接到旧 Llama 模型的本地智能体接入,你可能会遇到一些问题。但假设像 GPT-56 Soul on Low 或 Sonnet 那样有足够的智能,它就能做到所有这些。
这只是我们在那里看到的从一个大型智能体生成子智能体的另一种视觉表现,这些子智能体来自不同的智能体编码工具,实际上是在大型智能体下方创建的。他们还有跨设备同步功能。所以如果你想在不同系统之间切换,拥有这种能力很有用。最近许多编码工具都变得流行的是能够访问它们,而不仅仅是运行它们的单一机器。
此外,说到机器和运行环境,这似乎拥有非常好的软件支持,因为它目前不仅仅是 Mac 独占。还有 Ubuntu 安装,甚至是不同版本的 Linux,这很好。此外,Windows 也在支持之列。对于今天的演示,这个应用程序在我的 Ubuntu 系统上原生运行,总是很高兴不必切换到 Mac 来安装和玩弄这些新酷的东西。因此,我非常赞赏这种对不同开源软件(OSS)的广泛兼容性。
正如我们在这里看到的,我在介绍性示例中做的只是开始查看一个我用 Fable 5 制作的 Arduino 渲染表单。我们可以看到,GPT-56 Soul 在这里从 Open Code 内部生成了多个子智能体,以获取实际软件与链接的 Arduino 一起运行时的性能分析。我们可以看到,当智能体 A(或分析 A)完成时,它是在这里运行的 DeepSeek V4 Flash。它只是返回其主要结论。
分析 B 仍然是独立的,将单独返回。所以如果我们实际……这里的用户界面真的很棒。所以我可以像第二个标签页那样拖动它。所以这很熟悉,因为使用网页浏览器在这里有很多相似之处。而这个使用的是 Kimmy K3。所以看看它是如何工作的将会非常有趣,显然,由于该模型喜欢思考很多,这将花费 significantly 更长的时间。这是一个非平凡的复杂级别,它正在处理的这个小小的 Arduino 光线追踪仓库。
在这里的单一界面中,您可以管理许多不同的代理和标签页。此外,我们还有这些共享的工件(artifacts)。代理基本上可以将信息添加到这些工件中。因此,如果我们只需要一个摘要、草稿纸或类似的东西,这些功能非常有用。同样地,我们可以将这些工件在不同的标签页中打开,或者移动到不同的窗口。如果我想将所有工件放在一个特定的窗格中,我们可以看到它们就在这里。
在界面浏览方面,这里有一个很酷的功能,看起来像性能监视器。它实际上显示了我们在这些不同编码代理中的使用限制。幸运的是,对于我的 GPT CodeEx 周会话,使用率为 0%,这是正确的。最近他们非常慷慨地向订阅者提供重置。但如果我们查看 Cloud Code,可以看到当前会话已使用 4%。我还有其他任务在不同的机器上使用一些云模型运行。
如果这比我们在视频中做的预期要多一点,那是可以归因于此的。此外,我们这里还有一个 CPU 图标。点击它,它会显示系统资源的使用情况。这很好,特别是因为我们使用的是 Ubuntu 系统。通常并不总是有像这样无缝工作且好用的工具。我喜欢能够看到这一点,它显示了 CPU、内存、RAM 共享等。
为了更熟悉界面,如果我们有任何打开的终端,我们可以从中选择并浏览。如果我们正在处理特定的仓库,我们还有 Git 差异。我们有文件树,可以从当前工作项目中查看所有特定的文件和资产。最后,我们具有共享此功能的能力。我可以输入某人的 GitHub 句柄或电子邮件,并将此项目与他们共享。
GitHub 中提到的许多内容基本上是关于跨团队共享的能力,如果您是在团队中工作而不是像我这样的独立创始人,那么这被称为协作。我们可以关闭这个,以获得更多的屏幕空间来监控我们的代理。Kimmy 仍在进行此速率追踪渲染的性能分析。
我要让它完成,然后它可能会给我们一些摘要或 Arduino 工件,然后我们可能会看到当 Quen 3.7 3.6 627B 被委托为更大最先进模型的子代理时的表现。我们收到了第二次分析的结果,这是由 Kimmy K3 与 DeepSeek V4 Flash 模型运行的。我们可以看到,目前协调这一切的主代理告诉我们,第二次审计是更强的定量分析,这确实符合模型大小和性能等。
但在这里,能够几乎从同一个主界面比较不同模型的结果也很有趣,这甚至不是我原本的计划。此外,我们刚刚得到的是在 DeepSeek V4 Flash 和 Kimmy K3 中执行相同任务的比较,它们需要遍历代码库并为我们提供一些更复杂和底层代码的性能分析。
在我进行的第一个测试中,这主要是为了熟悉界面并热身,我要告诉 56 Soul 让 Sonnet 添加我们收到的性能分析中的良好见解到这个特定仓库的网站。所以,我们将在右侧的面板中看到 Sonnet 5 正在运行,这将把任务委托给 Sonnet。
随后,我还说我希望更新一些工件,以反映我们当前的具体状态。我们可以看到我实际上犯了一个小错误。我忽略了它会在一个新的子代理任务中打开 Sonnet,然后告诉它这样做。所以现在打开后,我们可以看到它目前正在使用我们想要保留的性能声明更新网站。
既然 Sonnet 已经完成了委托的任务,即通过使用从 Kimmy 和 Deepseek 评估中学到的内容来改进网站,它将更新两个 Tracer 工件以反映其完成的工作。如果我们重新打开侧面板,我们会看到工件包含在工件部分中。我大部分都打开了。
所以,我们让它去做。它还给了我们一个超链接,显示它做了什么。如果我们打开它,我们会看到它在新标签页中打开。所以我会把它拖下来,我们就能在那里看到它。它也存在于这里。这部分是它在最初制作网站之前所做的。另一部分则是我们现在看到的性能分析协调。
让我把这个移上去,因为我的头有时在视频的这个位置。所以我们可以看到,性能分析协调是在 Deepseek 和 Kimmy 的评估之后添加的。我们可以看到,当从主代理开始时,它收到了消息,即代理已完成。所以基本上 GPT56 Soul 看到了 Sonnet 5 已完成的消息,并在这里收到了。
所以基本上它几乎完成了。它只是要完成它在这里作为我们的协调者所需的工作。然后我想我们快速看一下网站,为什么不呢?这是一个很酷的项目,这实际上是基于并正在工作的。然后我们将进入一些更有趣的多代理对话或类似的事情。
这里是 Arduino 渲染集群的更新网站,这是使用 Sonnet 5 的高思考模式制作的,只是基于它从我们的其他代理收集的一些信息。当我们向下滚动查看性能分析部分时,我们将看到很多 Kimmy K3 的内容,可能比 DeepS V4 Flash 给我们的更多。
尽管如此,看到这个产品或网站是多个亚洲人共同努力的结晶是有趣的。56 Soul, Sonic 5, Kimmy
K3,然后是 DeepSeek V4 Flash。所以,这相当有趣。它甚至有一个漂亮的接线图和类似的东西。而且这些都严格遵循特定的电路板布局。虽然这个 Arduino 的东西在视觉上可能不那么令人兴奋,但在技术层面来说还是很酷的。在我进一步探索性地玩弄这个之前,我想提到的最后一件事是
可用的不同模式。所以,当我们执行所有这些任务时,你可能已经注意到,这里的主代理——也就是 56 Soul——显示启用了 Epic 模式,而其他所有代理都只显示在常规模式下。所以,如果我们回到这里的文档,我们可以看到常规模式是直接与代理协作。基本上,当 Sonnet 被指示
让网站变得更好,或者当 Kimmy 或 Deepseek 被指示对存储库进行性能分析时,而 Epic 模式则是围绕编码代理的 Tracer 结构化规划层。所以现在这更有意义了。为什么 GPT 5.6 Soul 代理启用了这个模式,因为它正在为我们协调所有其他代理。所以下一步,我们将从这里开始,使用一个空白的画布,我可以
在启动任务时更改我是使用 Sonnet 还是这里的任何其他编码代理。我认为对于这次演示,我实际上可能会使用 Fable,因为我很感兴趣地看到它与本地运行的 Quen 3.627B 配对时的表现如何。所以我认为这将会非常有趣,并且我可能会使用 High 模式,这应该足以完成任务。此外
我还选择了一个我们将要在其中工作的目录。我刚刚创建了一个新的空目录。所以,无论我们用这些模型组合最终做什么,它都会有自己的一小块地方来存放。所以现在添加了一个文件夹。我只是把它命名为 multi-a,代表 multi-agent(多代理)。我知道这很有创意。而且我们也启用了 Epic 模式,因为如果我们回想一下,当这主要用作编排代理时,这样做更有意义,诸如此类。所以我想做一些 A/B 测试,看看同一个模型在给定不同编排代理时构建东西的效果如何。所以我们从 Fable 5 开始,我已经告诉它你将指导 Quen 3.627B 构建一个逼真的飞行模拟器游戏。我想
使用这个提示的原因是,在视觉上我们将能够看出这种编排该模型的方式与 56 Soul 或其他方式有何不同。而且这也挺好玩的。它将从客机驾驶员的第一人称视角开始,起始于跑道上。它应该具有交互式飞行控制、详细的地面景观,并且整体制作精良。你
不要帮助编写代码。你要像一个熟练的顾问那样引导它。然后我告诉它 quen 模型是通过 open code 使用的,因为我就在那里选择了那个。我们可以看到它确实刚刚为 open code 创建了这个子代理,该代理已经选择了那个模型。所以我很高兴看到这一点。我们还可以拖动它们到不同的位置。所以我们看到现在
是一个更大的工作区。所以如果我们要的话,我可以把这个放在右下角。这对于这个演示的目的来说可能效果很好。我现在将关闭那个侧边栏。所以,我们可以看到它收到了这条消息。你是浏览器端逼真飞行模拟器的构建者。我是你的技术顾问。我将一次给你一个里程碑的架构。
审查你的工作,然后我们可以看到它基本上增强了提示,并会让这变得有点意思。我在想我是应该做分屏还是从上到下?可能是并排,因为这样我们就能获得更多的垂直空间,而不是更少。所以,我应该能做到这一点。很好。现在我们有并排的了。所以 Fable 5 在左侧的高位上编排
我们本地的 Quen 3.627B,它运行在我身后的 PC 上。所以这可能需要一点时间。我们可以看到这将等待监控构建者的进程。我们还可以看到更多关于 Fable 5 决定如何接近这个问题的信息,说与其一次性把它整个游戏交给他,那样它可能会陷入混乱,我一开始就把它锁定下来,并且我一次给它一个
带有验收标准的里程碑,并在每个里程碑之间进行审查。所以当前的里程碑——也就是它现在正在处理的那个——是一个静态世界、天空、阳光、20 公里的地面平面、标记在 3000 米的跑道上、驾驶舱高度的相机、在阈值处的渲染循环,以及一个显示速度、高度表、航向和节流阀的占位符仪表栏。好吧,然后我们有额外的里程碑
假设它在第一个里程碑上做得很好。我们也得到了一些关于特定模型的更多信息。所以我们可以看到这里这是本地运行的 BF-16 版本。所以,我使用 Blackwell 6000 Pro 卡来提供这个服务。好吧。我们可以看到这里我们的子代理已经完成了里程碑 1,并把它发回给 Fable 5,后者将审查它。
构建者报告里程碑一已完成。在分配第二个之前,我将通过阅读代码来验证声明。它自己无法打开浏览器,所以需要检查零控制台错误。这很有趣。这也是部分原因,随着模型变得更加智能,但在最高智能水平上运行成本也更高,能够减少它们的使用频率,转而控制一个
更便宜、更小但仍然 capable 的模型,这将变得越来越流行。它已经开始发生了。好吧,我们看到里程碑一审查并批准。我阅读了每个文件并检查了语法。结构清晰,API 使用正确。相机几何形状正确。干得好。哦,好的。它现在正在告诉我们。所以那里就是我们要看到它发送给我们的子代理的消息
在这里,它也不可避免地告诉它开始里程碑 2,它现在正在这里做这件事。现在我们可以阅读它给我们的报告摘要,它是诚实的。所有五个文件都与声明相符,并且通过了每个模块。我抓住了它遗漏的三个潜在问题。控制仅在按键事件时更新。深度缓冲区精度和按键映射冲突。里程碑 2 现在正在进行中。
飞行物理和起飞。由于 27B 模型可能会在尝试自行设计空气动力学时陷入混乱,我规定了精确的模型。质点速度遵循无升力方案,带有真实的常数。60 吨的喷气机,240 千牛的推力。我在这方面可能是错的。二次阻力调谐为 250 米/秒,停止速度 140 节,旋转速度修正转弯从倾斜角。好吧,基本上
里程碑2,它为该特定环境中的特定喷气式飞机提供了一系列大致正确的物理特性,因为它表示小型模型可能没有足够的深度来完成这项工作。因此,它可以在不盯着屏幕的情况下验证行为。好的,很酷。在此之后的剩余里程碑包括:实时仪表、驾驶舱框架,然后是详细场景,最后是打磨。很酷。
经过相当长的一段时间,我们现在进入了分配给我们的Quen子代理执行的最后一个里程碑,即声音和感觉。这真的已经持续了非常长的时间,只是通过这些来回互动,由编排者协调,并根据反馈执行修复。Fable注意到一个有趣的事情是,尽管我的指令中包含错误,但构建者还是正确地实现了俯仰方向。它遵循了真实仪表的原则,而不是我的括号内的说明,这正是我希望保持的判断力。Quen 27B发现Fable假设实现中的错误并对此感到高兴,这相当有趣。Fable很有趣。
所以我们在这里看到代理遇到了上下文长度限制。目前我将上下文长度设置为131072。这是在Blackwell 6000上本地运行的Quen模型。这是因为它是BF16版本。所以,是的,如果是Q8,我们可以推送到最大上下文,但我发现这很有趣,因为现在Fable必须决定如何绕过这个问题。非常酷。它基本上是在说,好吧,5.1的修复和一些额外的事情并不是真正巨大的要求。
所以它将要创建一个新代理。正如我们在这里看到的,它刚刚做到了。所以让我们把它放在一边。现在,这个全新的代理正在基于Fable的操作开始启动。同样有趣的是,即使遇到像这样的上下文限制,我们基本上只是让我们的模型修复了这个问题,编排者至少通过给新代理一些它需要的东西来解决,因为一、我们的上下文仍然与主编排器在一起,二、正如它所说,真正有问题的东西并不多,以至于它不能通过一个拥有全新上下文窗口的新代理来解决。所以,这很有趣。
好吧,不幸的是,我想澄清一点,这是运行在我身后PC上的本地LLM的问题。它一直卡在这里。在这一点上,我基本上准备告诉Fable向我们展示游戏当前的状态,虽然不是100%的打磨,但大概有95%。然后我将不得不排查这个Quen实例到底出了什么问题,因为它在这个特定的修复上一直崩溃。有趣。所以,Fable自行决定它将应用修复并展示给我们。哦,好的。不行。它再次将其发送给构建者,说你被中途切断了两次。两次都在第一个文件编辑时。这次是最小的步骤。作为四个单独的小工具调用,每次验证后确认。我们看看会发生什么。
所以我的本地系统有问题。我将不得不排查并找出原因。但这里编排的酷之处在于,它实际上展示了一种类似故障保护机制,如果我们的远程代理工作不正常,或者任何一个子代理有问题,那个更大更聪明的编排者基本上可以带我们到达终点。所以我说是应用剩余的修复并直接读取给我听。
构建者显然卡住了,这是Claude建议的后续步骤。所以最后,在查看之前,我要求大的编排器创建一个关于如何运行游戏的工件,以及小型子代理模型在整个构建过程中的表现。所以我们将获得这个工件并能够查看它。真的喜欢这里开始崩溃的地方,以及服务器在我的系统上挂起,所以我需要自己排查。这是网络问题或者本地AI盒子上的某些东西不完全正确。基本上,我认为Fable修复了一两行代码。所以这里写的所有内容完全是在Fable 5模型的高思考模式下,由Quen 327B在BF-16下编写的。这挺酷的。
现在我们有了这里的信息,我们可以打开它。好吧,所以我们有控制、调试、生成、测试、如何玩它、Quen 3.627B作为构建者的表现。我们还有记分卡。非常有趣。好,值得注意,在错误指令下的判断力。这也是我们在Fable意识到时提到的,哦,我给了它一个错误,它实际上修复了它。它做了正确的事情,而不是盲目地跟随我。所以,这很酷。并且它说在实践中不可见的功能是由外部验证捕获的,从未被模型本身捕获。在四轮修复中共发现了大约30个实质性缺陷。没有一个存活到最终构建。
好吧,让我们看看它。好吧,所以现在我们有了在这里服务的完成结果。好的,非常有趣。所以这又是关于是否有不同的相机视角?好的,有趣。看看速度是如何以现实的方式运行的,加速度确实向我们展示了这里大型模型的一些实现,因为如果这是由小型模型发生的,情况就不会是这样。它只会让飞机快得多。我可以保证这一点。好的,我要做的是。
我要重启这个。我不知道我的扬声器是否设置为输出音频设备。好的。有趣的是,驾驶舱模型不如我希望的那样好。而且再次,这里的一切都是由Quen制作的,但它确实做了仪表。而且我们确实有一个城市在视野中。我们还有一条跑道,相当不错。好的,我们现在应该达到了这种特定飞机的起飞速度。我们如何向上和向下箭头?是机头。好的,所以我们需要起飞了。哦,向下箭头让我们上升。好的,它反了。这实际上是有道理的。好吧,我们有滚动,然后我们有A和D用于像尾翼那样的东西。随你怎么看。好吧,让我们只是飞越城市一遍。好吧,就城市模型而言,它相当基本,但它相当密集。
我想做的是。让我让我们把这个东西转过来,看看我们是否能着陆。我不知道我们是否能,但是。机场在那里。哦,是的。我认为我们可能无法着陆。不行。我们将无法着陆。我甚至不会尝试。我们太快了。我们只是飞越机场然后。
这挺酷的。而且它确实有类似……如果我们崩溃了,我想知道我们能否暂停。哦,好的。好吧。总的来说,这有点无聊。我想我个人觉得一些飞行模拟器产品有点无聊。所以,我想这表明这个做得不错。但整件事的核心基本上就是我们在这里看到的,Fable 编排本地的 Qwen 模型来实际构建那个东西,这挺有意思的。
所以在 meantime,我想尝试完全使用 Qwen 3.6 27B 在后面的机器上本地运行,从头到尾完成整个任务。所以我们要在这里开始一个新会话。我们将把它放在史诗模式,并给它一个稍微修改过的提示词。因为提示词告诉模型它需要生成一个子代理然后控制它。由于这将独自完成整个任务,我们基本上只是告诉它给我们那个交付物。看看这进展如何。
大约 32 分钟后,它确实为我们产生了一个结果。现在,我还没有看过这个。我不知道这是否会有多好,但尽管如此,它似乎确实在端口 8080 上运行。所以,让我们看看 Qwen 3.6 完全靠自己做了什么。哦,哇。好的。嗯,这确实是一个非常有趣的 A/B 测试,展示了当模型完全接收那个大提示词时,与当它被一个更聪明的模型编排时,表现有何不同。
现在,我会注意到的一些事情是,实际上它在地形方面做得更好。至少它有更多的地形。实际上,我不确定我是否该这么说。嗯,我不想要这种地形用于飞行游戏。这里没有起飞的空间。还有,也没有声音。好吧。是的。不幸的是,我尝试了一些这里的控制装置,比如油门等,但我们并没有得到任何功能性的东西。所以,这确实很有趣,因为不幸的是,这根本行不通。
然后是我们让 Fable 编排 Qwen 的那个,我们告诉它不要更改任何代码。你只是引导它正确地做事。我还想指出,我知道这听起来可能有点奇怪,但这个似乎实际上在物理方面实现了一些更多的真实感,比我预期的要多。当我们看到它处于规划阶段,并给出一些推力值和其他力与物理计算时,我们确实看到了这一点。
所以,这是一个非常有趣的 A/B 测试,以查看其性能如何。而这可能也将把我们带入这里的结论。我认为 Tracer Desktop 具有这种多代理协调能力真的很棒。你可以无缝地移动东西的方式,它支持如此多种不同类型的代理的方式,这使得事情变得非常简单,并且它处理得像你告诉代理“好的,去在这里生成一个子代理”时,它并不会那样做。它只是让事情变得更简单。
这真的很好用,特别是当你想要比较模型与其他模型的性能时。所以如果我们做一个完整的视频,只是测试 Qwen 模型在由各种亚洲模型控制时的表现。比如 Fable 5 控制 Qwen 27B 或者 Opus 控制 27B。这将使制作这样一个视频变得非常无缝,并且绝对是未来值得考虑的事情。
所以这可能就要结束今天的视频了。如果你有任何问题,请随时在评论中留下。