ChatDev 2.0 Agent 节点完全指南:从 LLM 调用、工具编排到记忆与思维链的实战配置
ChatDev 2.0 Agent 节点完全指南从 LLM 调用、工具编排到记忆与思维链的实战配置【免费下载链接】ChatDevChatDev 2.0: Dev All through LLM-powered Multi-Agent Collaboration项目地址: https://gitcode.com/Dennis_Huang/ChatDev本文以 ChatDev 2.0DevAll用户指南中 Agent 节点文档 为骨架结合仓库源码配置解析、节点执行器、模型提供方、Tooling/Memory/Thinking 模块纵深展开覆盖 Agent 节点的全部配置字段、重试策略、Agent Skills、Function/MCP 工具绑定以及 Gemini 多模态等典型场景。读完本文你将能够在 YAML 工作流中从零配置一个健壮、可工具调用、带记忆与反思能力的多智能体协作节点。Agent 节点是 DevAll 平台中最核心的节点类型用于调用大语言模型 (LLM) 完成文本生成、对话、推理等任务。它支持多种模型提供商OpenAI、Gemini 等并可配置工具调用、思维链、记忆等高级功能。所有与模型相关的配置都聚合在nodes[].config中由 AgentConfig 解析并交由 AgentNodeExecutor 执行。1. Agent 节点的定位与使用场景在 ChatDev 2.0 的工作流图Graph中Agent 节点是承接智能体行为的核心单元。从 execution 流程 来看一个节点拿到上游节点产出的消息流后AgentNodeExecutor依次完成读取节点配置AgentConfigagent_executor.py#L57并通过ProviderRegistry按provider字段选取对应的模型提供方适配器将输入消息规整为 System User 的会话序列prompt 模式或 messages 模式依次执行生成前思考 → 记忆检索 → 模型调用 → 工具调用循环 → 生成后思考 → 记忆写回最终产出带source标记的 Assistant 消息。适合使用 Agent 节点的典型场景文本生成写作、翻译、摘要、问答等智能对话多轮对话、客服机器人工具调用让模型调用外部 API 或执行函数复杂推理配合thinking配置进行深度思考知识检索配合memories实现 RAG 模式。2. 配置项总览Agent 节点在 YAML 中以type: agent声明config下各字段说明如下与 AgentConfig.FIELD_SPECS 一一对应字段类型必填默认值说明providerstring是openai模型提供商名称如openai、gemininamestring是-模型名称如gpt-4o、gemini-2.0-flash-001roletext否-系统提示词 (System Prompt)base_urlstring否提供商默认API 端点 URL支持${VAR}占位符api_keystring否-API 密钥建议使用环境变量${API_KEY}paramsdict否{}模型调用参数temperature、top_p 等toolinglist否[]工具调用配置列表详见 Tooling 模块thinkingobject否-思维链配置如 chain-of-thought、reflection详见 Thinking 模块memorieslist否[]记忆绑定配置详见 Memory 模块skillsobject否-Agent Skills 发现配置以及内置的技能激活/文件读取工具retryobject否-自动重试策略配置几点源自源码的补充说明name必须是非空字符串否则 from_dict 会抛出ConfigErrorprovider同样为必填。tooling在AgentConfig中是列表类型List[ToolingConfig]见 agent.py#L332因此一个节点可以同时绑定多组不同来源的工具。provider的候选值并非写死的字符串field_specs()会从 schema 注册中心拉取当前已注册的模型提供方列表动态生成枚举agent.py#L522-L558。默认优先选择openai。2.1 内置 Provider 与注册机制仓库内置了两个模型提供方适配器builtin_providers.pyProvider适配器底层 SDK说明openaiOpenAIProviderOpenAI SDKresponses API默认提供方始终注册geminiGeminiProvidergoogle-genai需已安装google-genai库否则注册失败并打印提示ModelProvider抽象基类base.py定义create_client()、call_model()、extract_token_usage()三个核心接口ProviderRegistry.register()同时向 schema 注册中心登记元数据因此 Web UI 的 provider 下拉框、base_url/api_key等字段都能动态生成。3. 重试策略配置retryLLM API 调用受网络波动、限流、超时等因素影响重试策略对生产稳定性至关重要。retry默认即为启用状态可完全省略配置或按需覆盖字段类型默认值说明enabledbooltrue是否启用自动重试max_attemptsint5最大尝试次数含首次min_wait_secondsfloat1.0最小退避等待时间max_wait_secondsfloat6.0最大退避等待时间retry_on_status_codeslist[int][408,409,425,429,500,502,503,504]触发重试的 HTTP 状态码3.1 底层判定逻辑AgentRetryConfig 除了文档表格中的 5 个字段外还维护了三组用于判断是否重试的规则retry_on_exception_types默认包含RateLimitError、APITimeoutError、APIError、APIConnectionError、ServiceUnavailableError、TimeoutError、InternalServerError、RemoteProtocolError、TransportError、ConnectError、ConnectTimeout、ReadError、ReadTimeout等异常类名agent.py#L34-L48non_retry_exception_types黑名单命中即永不重试默认空retry_on_error_substrings默认匹配rate limit、temporarily unavailable、timeout、server disconnected、connection reset等错误消息片段agent.py#L49-L55。should_retry()会沿异常链__cause__/__context__/BaseExceptionGroup逐层判断先看非重试黑名单再看异常类型白名单然后匹配 HTTP 状态码最后匹配错误消息子串任一命中即重试agent.py#L241-L276。执行器使用tenacity的wait_random_exponential在min_wait_seconds与max_wait_seconds之间随机指数退避并用stop_after_attempt(max_attempts)收口agent_executor.py#L394-L432。注意配置校验要求max_wait_seconds min_wait_seconds否则直接抛ConfigErroragent.py#L195-L196。3.2 配置示例nodes: - id: Robust Agent type: agent config: provider: openai name: gpt-4o api_key: ${API_KEY} retry: # retry 默认启用可以自己配置 enabled: true max_attempts: 3 min_wait_seconds: 2.0 max_wait_seconds: 10.04. 基础配置示例最简文本生成节点nodes: - id: Writer type: agent config: provider: openai base_url: ${BASE_URL} api_key: ${API_KEY} name: gpt-4o role: | 你是一位专业的技术文档撰写者请用清晰简洁的语言回答问题。 params: temperature: 0.7 max_tokens: 2000要点base_url与api_key支持${VAR}环境变量占位符运行时由环境加载与变量解析逻辑替换避免密钥硬编码params中的任意键值如temperature、max_tokens、top_p会原样合并进模型调用参数agent_executor.py#L224-L237若省略base_url/api_key将回退到 provider 的默认端点与环境中已有的密钥。5. 工具调用配置tooling工具调用让 Agent 具备行动能力。tooling在AgentConfig中是列表每个元素为一个ToolingConfig其type决定适配器类型config交由对应子配置解析tooling.py#L585-L642。目前支持三种类型类型对应配置类说明functionFunctionToolConfig调用仓库functions/function_calling/目录下的 Python 函数mcp_remoteMcpRemoteConfig连接 HTTP(S) 协议的 MCP 服务器mcp_localMcpLocalConfig拉起本地进程通过 stdio 连接 MCP 服务器所有 Tooling 配置挂载在AgentConfig.tooling详见 Tooling 模块总览。5.1 配置函数工具functionnodes: - id: Assistant type: agent config: provider: openai name: gpt-4o api_key: ${API_KEY} tooling: - type: function # 工具类型function, mcp_remote, mcp_local config: tools: # 函数工具列表来自 functions/function_calling/ 目录 - name: describe_available_files - name: load_file timeout: 20 # 可选执行超时秒源码级细节FunctionToolConfig.tools至少需要一个条目tooling.py#L199-L201每个条目的name必须能在函数目录中解析到否则报ConfigError支持批量引用name写成模块名:All如web:All会自动展开为该模块的全部函数tooling.py#L276-L307工具 Schema 从 Python 函数签名自动生成auto_fill默认true也可在条目中显式覆盖description/parameters工具调用循环默认上限 50 轮可通过params.tool_loop_limit覆盖agent_executor.py#L1061-L1069仓库内置函数目录见 functions/function_calling含文件操作、天气、网页、代码执行、深度研究、视频等函数清单可参考 function_catalog.md。一个完整的双 Agent 工具调用实例天气预报 → 穿衣建议可直接参考 demo_function_call.yaml节点 A 绑定get_weather、get_city_num两个函数持续取数节点 B 根据温度输出建议。5.2 配置 MCP 工具Remote HTTPnodes: - id: MCP Agent type: agent config: provider: openai name: gpt-4o api_key: ${API_KEY} tooling: - type: mcp_remote config: server: http://localhost:8080/mcp # MCP 服务器端点 headers: # 可选自定义请求头 Authorization: Bearer ${MCP_TOKEN} timeout: 30 # 可选请求超时秒McpRemoteConfig还支持cache_ttl工具列表缓存秒数0 表示关闭缓存以便热更新与tool_sources按meta.source过滤工具缺省为[mcp_tools]。cache_key()基于 server、headers、timeout 计算用于复用连接与工具列表。5.3 配置 MCP 工具Local stdionodes: - id: Local MCP Agent type: agent config: provider: openai name: gpt-4o api_key: ${API_KEY} tooling: - type: mcp_local config: command: uvx # 启动命令 args: [mcp-server-sqlite, --db-path, data.db] cwd: ${WORKSPACE} # 可选一般不需要配置 env: # 可选一般不需要配置 DEBUG: true startup_timeout: 10 # 可选启动超时秒McpLocalConfig额外支持inherit_env默认true继承父进程环境、wait_for_log用正则匹配 stdout 判定服务就绪、cache_ttl。仓库内附带了可直接运行的 MCP 服务示例 mcp_example/mcp_server.py可结合mcp.md文档快速联调。5.4 工具执行流程当模型返回 tool calls 时AgentNodeExecutor._handle_tool_calls()会进入执行工具 → 结果回填 → 再次调用模型的循环agent_executor.py#L558-L612将带tool_calls的助手消息追加进会话与时间线批量执行本轮所有工具调用_execute_tool_batch工具结果以role: tool消息回填再次调用模型获取后续响应直到模型不再请求工具或达到tool_loop_limit完整调用轨迹写入最终消息的context_trace元数据便于排查。6. Agent Skills 配置skillsAgent Skills 让节点可以从项目级技能库中发现并加载可复用的技能指令。技能统一从固定的项目级.agents/skills/目录中发现运行时会暴露两个内置技能工具activate_skill和read_skill_file。字段类型默认值说明enabledboolfalse是否为该节点启用 Agent Skillsallowlist[object][]可选的技能白名单来源于项目级.agents/skills/目录每个条目使用nameAgent Skills 行为说明技能统一从固定的项目级.agents/skills/目录中发现DEFAULT_SKILLS_ROOT见 skills.py每个子目录须包含SKILL.md且 frontmatter 中要有name与description才会被识别运行时会暴露两个内置技能工具activate_skill和read_skill_fileread_skill_file只有在对应技能已经激活后才可用技能SKILL.md的 frontmatter 可以包含可选的allowed-tools格式遵循 Agent Skills 规范例如allowed-tools: execute_code如果某个已选择技能依赖的工具没有绑定到当前节点该技能会在运行时被跳过AgentSkillManager会基于节点绑定的工具名做兼容性过滤见 agent_executor.py#L239-L254如果最终没有任何兼容技能可用Agent 会被明确告知不要声称自己使用了技能系统提示中只注入available_skills内的内容agent_executor.py#L256-L290allow列表留空表示暴露全部已发现技能技能依赖的工具若未被绑定激活时会被限制_execute_tool_batch会对未在allowed-tools内的外部工具调用直接返回错误agent_executor.py#L711-L743。配置示例nodes: - id: Skilled Agent type: agent config: provider: openai name: gpt-4o api_key: ${API_KEY} skills: enabled: true allow: - name: python-scratchpad - name: rest-api-caller7. Gemini 多模态配置Gemini 提供方支持多模态输入/输出如文生图。使用前需确保已安装google-genai依赖否则该 provider 不会被注册。nodes: - id: Vision Agent type: agent config: provider: gemini base_url: https://generativelanguage.googleapis.com api_key: ${GEMINI_API_KEY} name: gemini-2.5-flash-image role: 你需要根据用户的输入生成相应的图像内容。模型输出的附件图片等会被持久化AgentNodeExecutor._persist_message_attachments()将多模态内容写入工作区generated/node_id/目录并注册到附件仓库agent_executor.py#L1071-L1134下游节点和前端即可引用这些产物。8. 进阶组合thinking memories8.1 思维链thinkingthinking由ThinkingConfig解析目前内置reflection生成后自我反思模式。执行器在模型调用前后分别触发_apply_pre_generation_thinking/_apply_post_generation_thinkingagent_executor.py#L451-L498、agent_executor.py#L1172-L1218详细配置见 Thinking 模块。8.2 记忆memoriesmemories通过MemoryAttachmentConfig将节点与全局声明的 Memory Store 绑定支持read/write、retrieve_stage、top_k、similarity_threshold等控制项可组合出 RAG 问答、跨会话记忆等能力详见 Memory 模块。9. 相关文档Tooling 模块配置Memory 模块配置Thinking 模块配置工作流编排指南【免费下载链接】ChatDevChatDev 2.0: Dev All through LLM-powered Multi-Agent Collaboration项目地址: https://gitcode.com/Dennis_Huang/ChatDev创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

create-t3-app 生态扩展指南:状态管理、组件库、动画、部署与分析的社区精选推荐

create-t3-app 生态扩展指南:状态管理、组件库、动画、部署与分析的社区精选推荐

create-t3-app 生态扩展指南:状态管理、组件库、动画、部署与分析的社区精选推荐 【免费下载链接】create-t3-app The best way to start a full-stack, typesafe Next.js app 项目地址: https://gitcode.com/gh_mirrors/cr/create-t3-app 导读:c…

2026/9/19 22:27:06 阅读更多 →
IDEA 2024.3 安装配置指南:JVM调优、JDK与插件实战

IDEA 2024.3 安装配置指南:JVM调优、JDK与插件实战

IDEA 2024.3出来有一阵子了,身边好几个同事已经升级完跑了几天,我也在第一时间把主力开发环境切了过来。对于Java开发者来说,IntelliJ IDEA基本是绕不开的日常工具,每次大版本更新都意味着新特性、性能优化和一些默认行为的变化&a…

2026/9/19 22:27:06 阅读更多 →
汉化后界面还是英文?axure-cn语言包5大失效原因与快速排查清单

汉化后界面还是英文?axure-cn语言包5大失效原因与快速排查清单

汉化后界面还是英文?axure-cn语言包5大失效原因与快速排查清单 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn axure…

2026/9/19 22:26:06 阅读更多 →

最新新闻

SpringBoot三层架构实战:从零实现用户管理系统

SpringBoot三层架构实战:从零实现用户管理系统

1. 项目概述:SpringBoot三层架构实战刚入行Java开发时,总听前辈们念叨"三层架构",但真正自己动手实现一个完整的用户管理系统才发现,理论到实践之间藏着不少门道。这次就用SpringBoot从零实现带三层架构的用户增删改查&…

2026/9/21 2:01:05 阅读更多 →
AI基础知识核心框架:从机器学习到大模型的应用与学习路径

AI基础知识核心框架:从机器学习到大模型的应用与学习路径

简介:这是一份面向人工智能初学者的入门级PPT讲义,共61页,系统梳理AI的核心概念与基础知识。内容从人工智能的定义、关键点、智能维度出发,清晰介绍符号主义、联结主义、行为主义等主要学派,并依据智能水平区分弱人工智…

2026/9/21 2:01:05 阅读更多 →
二进制与十进制互转全解析:整数、小数、负数及精度处理

二进制与十进制互转全解析:整数、小数、负数及精度处理

1. 为什么二进制和十进制互转值得单独拿出来讲很多人第一次接触进制转换,是在计算机基础课上。老师写一个除2取余的竖式,再写一个按权展开的多项式,然后说“记住就行”。结果到了实际用的时候,比如看内存地址、分析协议报文、处理…

2026/9/21 2:01:05 阅读更多 →
Si3N4与SiNx有什么区别?芯片制造中两种氮化硅的工艺差异详解

Si3N4与SiNx有什么区别?芯片制造中两种氮化硅的工艺差异详解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/21 2:01:05 阅读更多 →
大型汽车集团数智化战略规划:145页PPT框架拆解与实操落地

大型汽车集团数智化战略规划:145页PPT框架拆解与实操落地

简介:某大型汽车集团数字化转型数智化战略规划设计方案PPT,聚焦“互联网1354”顶层战略框架,面向企业数字化战略规划人员、咨询顾问、汽车行业管理者及对转型顶层设计感兴趣的从业者。压缩包内含单个145页PPT文件,约26.35MB&#…

2026/9/21 2:01:05 阅读更多 →
美团数据分析手册拆解:指标体系、SQL与归因实战

美团数据分析手册拆解:指标体系、SQL与归因实战

简介:这份《美团数据分析手册》是一份面向数据分析初级与进阶学习者的业务实战指南,聚焦外卖、到店、酒旅、出行、金融、闪购等核心业务线,系统讲解如何构建指标体系、应用数据分析方法论并支撑业务决策。资源为单个PDF文件,仅1.1…

2026/9/21 2:00:05 阅读更多 →

日新闻

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and …

2026/9/21 0:00:01 阅读更多 →
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin 🚀ViteVue3Gin拥有AI辅助的基础开发平台,企业级业务AI开发解决方案,内置mcp辅助服务,内置skills管理,…

2026/9/21 0:00:01 阅读更多 →
Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

桌面应用AI 应用插件系统 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址: https://gitcode.com/gh_mirrors/wo/Wox 点击查看 免费下载 全功能插件(Full-featured Plugin)是 Wox 三类插件实现方式中能力最完整的…

2026/9/21 0:00:01 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →