章节 01
导读 / 主楼:自主研发系统:将创意转化为完整研发工作流的多智能体架构
介绍一个基于Google ADK的多智能体系统,通过技术负责人、研究代理和Scrum主管的协作,将单个高层次创意自动转化为结构化的研发工作流,集成Firebase持久化、Notion项目管理和Google Calendar调度能力。
正文
介绍一个基于Google ADK的多智能体系统,通过技术负责人、研究代理和Scrum主管的协作,将单个高层次创意自动转化为结构化的研发工作流,集成Firebase持久化、Notion项目管理和Google Calendar调度能力。
章节 01
介绍一个基于Google ADK的多智能体系统,通过技术负责人、研究代理和Scrum主管的协作,将单个高层次创意自动转化为结构化的研发工作流,集成Firebase持久化、Notion项目管理和Google Calendar调度能力。
章节 02
project_memory集合中,建立项目的初始上下文。\n\n### 2. 技术调研阶段\n\n研究代理被激活,执行以下任务:\n- 分析项目的技术可行性\n- 调研现有的类似解决方案(通过arXiv API获取相关论文)\n- 识别关键技术栈和依赖项\n- 评估潜在的技术风险和挑战\n\n调研结果同样被持久化到Firestore,供后续代理使用。\n\n### 3. 项目规划阶段\n\nScrum主管代理基于研究结果,生成:\n- 用户故事(User Stories)\n- 任务分解(Task Breakdown)\n- 优先级排序\n- 预估工时\n\n### 4. 工作空间设置\n\n系统通过Notion集成自动创建项目工作空间:\n- 创建项目页面\n- 设置任务看板(Kanban Board)\n- 配置数据库结构\n\nNotion集成支持三种运行模式:\n- Runs Hub模式(默认):每次触发在指定父页面下创建子页面,任务以待办事项块形式追加\n- Runs + 每运行Kanban模式:在子页面中创建新的数据库,支持属性管理\n- 仅模板模式:使用共享的Kanban数据库,适合固定流程的项目\n\n### 5. 日程调度\n\n通过Google Calendar集成,系统可以:\n- 创建项目里程碑事件\n- 设置任务截止日期提醒\n- 安排团队同步会议\n\n这需要OAuth 2.0认证,系统提供了auth_setup.py脚本辅助完成授权流程。\n\n## 技术实现亮点\n\n### Google ADK与Gemini集成\n\n系统基于Google的Agent Development Kit(ADK)构建,使用Gemini 2.5 Flash作为底层模型。ADK提供了:\n\n- 工具调用能力:代理可以调用外部API和自定义函数\n- 多代理编排:支持代理之间的委托和协作\n- 状态管理:内置的会话状态持久化机制\n\nGemini通过Vertex AI或Developer API接入。对于参加Google Gen AI Hackathon的团队,推荐使用Vertex AI,可以利用GCP积分。\n\n### 环境变量与配置管理\n\n系统采用分层的环境变量配置:\n\n| 变量 | 用途 |\n|------|------|\n| GOOGLE_APPLICATION_CREDENTIALS | Firebase和Vertex AI的服务账号密钥 |\n| GOOGLE_API_KEY | Gemini Developer API密钥(非Vertex模式) |\n| GOOGLE_GENAI_USE_VERTEXAI | 是否使用Vertex AI |\n| ADK_MODEL | 模型ID,默认gemini-2.5-flash |\n| ADK_LITE | 是否启用精简模式(减少工具调用) |\n| NOTION_TOKEN | Notion集成密钥 |\n| NOTION_RUNS_PARENT_PAGE_ID | Runs Hub父页面ID |\n\n### 线程安全与并发控制\n\n由于工具调用可能在worker线程中执行,而ADK的ContextVar可能为空,系统采用了一种巧妙的解决方案:\n\n在每次请求期间,将活动运行的上下文镜像到短生命周期的环境变量(_RND_NOTION_REQ_*)中。这样即使在线程切换后,Notion工具仍能正确定位目标页面或数据库。\n\n这种设计保证了同一时间每个进程只运行一个流水线,避免并发冲突。\n\n## 应用场景与价值\n\n该系统特别适合以下场景:\n\n快速原型验证:产品经理或创业者有一个初步想法,希望快速了解技术可行性和实现路径。系统可以在几分钟内输出一份包含技术调研、任务分解和初步时间线的完整报告。\n\n标准化项目启动:对于需要遵循固定流程的团队,系统可以自动执行项目初始化 checklist,确保不遗漏关键步骤。\n\n知识管理:通过Firestore持久化,系统积累了组织级的项目知识库。新项目可以参考历史项目的经验和教训。\n\n远程协作支持:自动创建的Notion工作空间和Calendar日程,为分布式团队提供了即用的协作基础设施。\n\n## 局限性与改进方向\n\n当前版本存在一些值得注意的局限:\n\n研究能力受限:目前的研究代理使用mock搜索(mock_search_arxiv)作为占位符,实际生产部署需要接入真正的学术搜索引擎或知识库。\n\n上下文窗口限制:随着项目复杂度增加,累积的上下文可能超出模型窗口。需要引入更智能的上下文压缩或检索机制。\n\n成本考量:多代理、多轮调用意味着较高的token消耗。ADK_LITE模式可以在一定程度上缓解这一问题,但精细的成本控制策略仍需完善。\n\n错误恢复:当前流程对工具调用失败的处理较为简单,生产环境需要更健壮的异常处理和重试机制。\n\n## 快速开始指南\n\n对于希望尝试该系统的开发者,以下是简化的启动步骤:\n\n1. 克隆仓库并创建虚拟环境\nbash\ngit clone <repo-url>\ncd autonomous-rnd-system\npython3 -m venv .adk_env\nsource .adk_env/bin/activate\npip install -r requirements.txt\n\n\n2. 配置Firebase\n- 在Firebase Console创建项目\n- 启用Firestore(建议使用生产模式规则)\n- 在Google Cloud Console创建服务账号并下载JSON密钥\n\n3. 配置Notion集成\n- 在Notion创建集成并获取token\n- 将集成连接到目标工作空间\n- 获取Runs Hub页面的页面ID\n\n4. 设置环境变量\nbash\ncp .env.example .env\n# 编辑.env文件填入各项配置\n\n\n5. 启动服务\nbash\npython main.py\n\n\n服务启动后,访问http://localhost:8000/docs即可看到Swagger UI,通过POST /trigger-pipeline端点触发研发流程。\n\n## 结语\n\n自主研发系统展示了多智能体架构在软件工程领域的应用潜力。通过将创意转化为结构化工作流,它有望显著降低项目启动的认知负担,让团队更快进入执行阶段。随着底层模型能力的提升和工具生态的完善,这类系统将在未来的软件开发流程中扮演越来越重要的角色。章节 03
自主研发系统:将创意转化为完整研发工作流的多智能体架构\n\n在AI技术日新月异的今天,如何将一个模糊的创意快速转化为可执行的研发计划,是许多团队面临的挑战。本文将介绍一个创新的自主多智能体系统,它能够接收单一的高层次项目提示,自动完成研究、规划、调度和工作空间设置,输出完整的R&D工作流。\n\n系统架构概览\n\n该系统采用多智能体协作架构,核心组件包括:\n\n技术负责人代理(Tech Lead Agent):作为整个流程的协调中枢,负责接收用户输入、分解任务、调度子代理,并整合最终结果。\n\n研究代理(Research Agent):专注于技术调研和背景研究,收集与项目相关的技术资料、最佳实践和潜在风险。\n\nScrum主管代理(Scrum Master Agent):负责项目管理和流程规划,将技术方案转化为可执行的任务列表和时间安排。\n\n持久化层:使用Firebase Firestore存储项目记忆、操作日志和运行历史,确保跨会话的状态连续性。\n\n外部工具集成:包括Notion(项目管理)、Google Calendar(日程调度)等,将AI生成的计划同步到实际工作环境中。\n\n工作流程详解\n\n整个研发流程通过FastAPI暴露为HTTP端点,用户可以通过Swagger UI或Postman触发。一次典型的执行流程如下:\n\n1. 创意输入与上下文持久化\n\n用户通过POST请求发送项目创意,例如:"开发一个基于AI的代码审查工具"。系统首先将这一输入存储到Firestore的project_memory集合中,建立项目的初始上下文。\n\n2. 技术调研阶段\n\n研究代理被激活,执行以下任务:\n- 分析项目的技术可行性\n- 调研现有的类似解决方案(通过arXiv API获取相关论文)\n- 识别关键技术栈和依赖项\n- 评估潜在的技术风险和挑战\n\n调研结果同样被持久化到Firestore,供后续代理使用。\n\n3. 项目规划阶段\n\nScrum主管代理基于研究结果,生成:\n- 用户故事(User Stories)\n- 任务分解(Task Breakdown)\n- 优先级排序\n- 预估工时\n\n4. 工作空间设置\n\n系统通过Notion集成自动创建项目工作空间:\n- 创建项目页面\n- 设置任务看板(Kanban Board)\n- 配置数据库结构\n\nNotion集成支持三种运行模式:\n- Runs Hub模式(默认):每次触发在指定父页面下创建子页面,任务以待办事项块形式追加\n- Runs + 每运行Kanban模式:在子页面中创建新的数据库,支持属性管理\n- 仅模板模式:使用共享的Kanban数据库,适合固定流程的项目\n\n5. 日程调度\n\n通过Google Calendar集成,系统可以:\n- 创建项目里程碑事件\n- 设置任务截止日期提醒\n- 安排团队同步会议\n\n这需要OAuth 2.0认证,系统提供了auth_setup.py脚本辅助完成授权流程。\n\n技术实现亮点\n\nGoogle ADK与Gemini集成\n\n系统基于Google的Agent Development Kit(ADK)构建,使用Gemini 2.5 Flash作为底层模型。ADK提供了:\n\n- 工具调用能力:代理可以调用外部API和自定义函数\n- 多代理编排:支持代理之间的委托和协作\n- 状态管理:内置的会话状态持久化机制\n\nGemini通过Vertex AI或Developer API接入。对于参加Google Gen AI Hackathon的团队,推荐使用Vertex AI,可以利用GCP积分。\n\n环境变量与配置管理\n\n系统采用分层的环境变量配置:\n\n| 变量 | 用途 |\n|------|------|\n| GOOGLE_APPLICATION_CREDENTIALS | Firebase和Vertex AI的服务账号密钥 |\n| GOOGLE_API_KEY | Gemini Developer API密钥(非Vertex模式) |\n| GOOGLE_GENAI_USE_VERTEXAI | 是否使用Vertex AI |\n| ADK_MODEL | 模型ID,默认gemini-2.5-flash |\n| ADK_LITE | 是否启用精简模式(减少工具调用) |\n| NOTION_TOKEN | Notion集成密钥 |\n| NOTION_RUNS_PARENT_PAGE_ID | Runs Hub父页面ID |\n\n线程安全与并发控制\n\n由于工具调用可能在worker线程中执行,而ADK的ContextVar可能为空,系统采用了一种巧妙的解决方案:\n\n在每次请求期间,将活动运行的上下文镜像到短生命周期的环境变量(_RND_NOTION_REQ_*)中。这样即使在线程切换后,Notion工具仍能正确定位目标页面或数据库。\n\n这种设计保证了同一时间每个进程只运行一个流水线,避免并发冲突。\n\n应用场景与价值\n\n该系统特别适合以下场景:\n\n快速原型验证:产品经理或创业者有一个初步想法,希望快速了解技术可行性和实现路径。系统可以在几分钟内输出一份包含技术调研、任务分解和初步时间线的完整报告。\n\n标准化项目启动:对于需要遵循固定流程的团队,系统可以自动执行项目初始化 checklist,确保不遗漏关键步骤。\n\n知识管理:通过Firestore持久化,系统积累了组织级的项目知识库。新项目可以参考历史项目的经验和教训。\n\n远程协作支持:自动创建的Notion工作空间和Calendar日程,为分布式团队提供了即用的协作基础设施。\n\n局限性与改进方向\n\n当前版本存在一些值得注意的局限:\n\n研究能力受限:目前的研究代理使用mock搜索(mock_search_arxiv)作为占位符,实际生产部署需要接入真正的学术搜索引擎或知识库。\n\n上下文窗口限制:随着项目复杂度增加,累积的上下文可能超出模型窗口。需要引入更智能的上下文压缩或检索机制。\n\n成本考量:多代理、多轮调用意味着较高的token消耗。ADK_LITE模式可以在一定程度上缓解这一问题,但精细的成本控制策略仍需完善。\n\n错误恢复:当前流程对工具调用失败的处理较为简单,生产环境需要更健壮的异常处理和重试机制。\n\n快速开始指南\n\n对于希望尝试该系统的开发者,以下是简化的启动步骤:\n\n1. 克隆仓库并创建虚拟环境\nbash\ngit clone <repo-url>\ncd autonomous-rnd-system\npython3 -m venv .adk_env\nsource .adk_env/bin/activate\npip install -r requirements.txt\n\n\n2. 配置Firebase\n- 在Firebase Console创建项目\n- 启用Firestore(建议使用生产模式规则)\n- 在Google Cloud Console创建服务账号并下载JSON密钥\n\n3. 配置Notion集成\n- 在Notion创建集成并获取token\n- 将集成连接到目标工作空间\n- 获取Runs Hub页面的页面ID\n\n4. 设置环境变量\nbash\ncp .env.example .env\n编辑.env文件填入各项配置\n\n\n5. 启动服务\nbash\npython main.py\n\n\n服务启动后,访问http://localhost:8000/docs即可看到Swagger UI,通过POST /trigger-pipeline端点触发研发流程。\n\n结语\n\n自主研发系统展示了多智能体架构在软件工程领域的应用潜力。通过将创意转化为结构化工作流,它有望显著降低项目启动的认知负担,让团队更快进入执行阶段。随着底层模型能力的提升和工具生态的完善,这类系统将在未来的软件开发流程中扮演越来越重要的角色。