我们构建了一个包含6个作用域代理、1个协调器和3个反馈循环的软件工厂
摘要
他们使用TypeScript和Mastra构建了一个端到端代理工作流的参考实现,包含6个作用域代理、1个协调器和3个反馈循环,用于自动化代码生成、验证和监控任务。
我们想看看在连接了代码生成相关部分后,端到端的代理工作流是什么样的。因此,我们使用TypeScript和Mastra构建了一个参考实现。它接收来自GitHub、Sentry、部署事件和手动请求的任务,然后将其通过分类、实现、验证、发布、文档和监控流程。
构建概览:
- 6个作用域代理:分类、代码生成、验证、发布、文档和监控
- 1个协调器:在固定工作流不足时路由任务
- 7个类型化工作流:每个阶段一个,加上主SDLC路由器
- 3个反馈循环:开发、生产监控和文档漂移
- 3个工具组:GitHub、Sentry和工厂指标
- 1个共享LibSQL数据库:存储工作流状态、记忆、调度和跟踪
- 15分钟监控间隔:按计划检查生产健康
- 4个验证检查:正确性、安全、测试和性能
这是一个参考架构,所以我们不声称这些数字能带来吞吐量、成本或准确性的提升。
生产错误可以通过系统像这样流动:监控工作流拉取带有堆栈跟踪和事件上下文的Sentry问题。分类将其从P0到P3分级,检查是否重复现有工作,并进行路由。代码生成读取相关文件,编写更改及其测试,然后打开一个PR。验证为正确性、安全、测试和性能返回结构化判定。发布处理版本、变更日志、部署、健康检查和回滚。文档将合并的更改与现有文档进行比较,并在漂移时打开文档PR或新的分类项。完整路径大致如下:Sentry → 监控 → 分类 → 代码生成 → 验证 → 发布 → 文档
每个工作流步骤都有类型化的输入和输出模式。如果代理返回格式错误的数据,工作流会在此边界停止,而不是将错误上下文交给下一个代理。代理还获得不同的工具权限。代码生成可以读取仓库并打开PR,但不需要生产访问权限。验证审查PR,而不必是编写它的代理。监控可以读取生产健康状态并创建事件,但不能发布代码。
适用场景:
- 具有良好Sentry上下文的重复性生产bug
- GitHub问题和过时PR的分类
- 在已测试代码库中进行的小型、定义明确的更改
- 发布任务,如版本控制、变更日志、健康检查和回滚
- PR合并后的文档漂移
- 可以创建自己的事件工作的定期生产检查
需要人工介入的场景:
- 架构决策
- 破坏性更改
- 验证失败
- SEV1事件
- 需要视觉审查的UX敏感前端更改
不适用的场景:
- 需求每天都在变化的早期产品
- 没有有用测试套件的代码库
- 需要人工批准每个diff的受监管工作
相似文章
我们的小型初创公司如何在生产环境中运行多智能体架构(orchestrator + workers,全部通过 Slack 操控)
一家小型初创公司分享了其生产级多智能体架构:一个协调者将任务路由给专门的工作智能体,这些智能体负责监控广告、产品评论、流失和 SEO,全部通过 Slack 频道进行协调。
@sspaeti: 数据工程花了十五年构建编排器——Airflow、Dagster、Prefect、Kestra。现在我们正在做同样的事情…
数据工程多年来一直在构建编排器,如Airflow和Dagster,现在同样的模式正在AI代理中兴起,出现了来自各大公司的Agor、Agent Teams和Omnigent等项目。
@kmeanskaran: https://x.com/kmeanskaran/status/2071160257943052683
一个关于为多智能体LLM系统构建生产级Agent框架的详细指南,涵盖编排器、子代理、技能、后端状态管理和上下文工程等组件。
我们构建了一个编排层和一个可即时创建的智能体团队,快来尝试并给我们反馈!
文章宣布了一个新的编排层和一个可即时创建的智能体团队,邀请用户尝试并提供反馈。
你的编排器是个中层经理,你的审查代理是个马屁精,你的群体是个狗屁工作制造厂
一篇批判性评论,将AI代理编排器比作中层管理者,审查代理比作马屁精,群体比作生产狗屁工作的工厂,旨在揭示多代理系统中的感知低效问题。