用 100 行代码实现一个混合智能体——让多个模型协作回答问题Hermes MoA 证明了混合智能体的效果可以超过单个顶级模型。这篇文章教你实现一个简化版的混合智能体——让 DeepSeek 做分析、豆包做编码、GPT 做总结模型之间协作完成任务。核心思路用户问题 ↓ 路由器 Agent分析问题类型 ↓ ┌────────┬────────┬────────┐ │ 分析师 │ 编码师 │ 总结师 │ ← 不同模型负责不同任务 │DeepSeek│ 豆包 │ DeepSeek│ └────────┴────────┴────────┘ ↓ 合成 Agent整合结果 ↓ 最终回答核心代码# moa_agent.pyfromopenaiimportOpenAIimportos,jsonfromdotenvimportload_dotenv load_dotenv()clients{deepseek:OpenAI(api_keyos.getenv(DEEPSEEK_KEY),base_urlhttps://api.deepseek.com/v1),doubao:OpenAI(api_keyos.getenv(DOUBAO_KEY),base_urlhttps://ark.cn-beijing.volces.com/api/v3),}MODEL_MAP{deepseek:deepseek-chat,doubao:doubao-2.1-pro}defcall_llm(provider,system_prompt,user_prompt,temperature0.3):clientclients[provider]respclient.chat.completions.create(modelMODEL_MAP[provider],messages[{role:system,content:system_prompt},{role:user,content:user_prompt}],temperaturetemperature,)returnresp.choices[0].message.contentclassMoAgent:混合智能体分析问题 → 分派任务 → 多模型协作 → 整合结果。defanswer(self,question):# 1. 路由器分析问题类型并分派planself._route(question)# 2. 并行调用各专家模型results{}forexpertinplan[experts]:roleexpert[role]promptexpert[prompt]providerexpert.get(provider,deepseek)results[role]call_llm(provider,prompt,question)# 3. 合成最终答案returnself._synthesize(question,results)def_route(self,question):route_promptf分析以下问题确定需要哪些专家角色。 返回 JSON {{experts:[{{role:角色名,prompt:系统提示,provider:deepseek或doubao}}]}} 分析以下问题{question}resultcall_llm(deepseek,,route_prompt)try:returnjson.loads(result)except:return{experts:[{role:通用助手,prompt:回答以下问题,provider:deepseek}]}def_synthesize(self,question,results):findings\n\n.join(f###{role}\n{content}forrole,contentinresults.items())returncall_llm(deepseek,你是一个综合分析师。整合多位专家的观点给出一个完整、准确的最终答案。,f问题{question}\n\n专家意见\n{findings})agentMoAgent()# 使用answeragent.answer(Python 中如何处理大文件读取而不导致内存溢出)print(answer)运行效果问题Python 中如何处理大文件读取而不导致内存溢出 路由器分析 - 分析师DeepSeek分析问题提供理论方案 - 编码师豆包提供代码实现 分析师DeepSeek 大文件读取的核心策略是流式处理主要有三种方式 1. 逐行读取readline 2. 分块读取read(chunk_size) 3. 内存映射mmap 编码师豆包 python # 首选方案分块读取 with open(large.csv, r) as f: while chunk : f.read(8192): process(chunk) 综合答案对于大文件读取推荐使用流式分块读取每次读取 8KB…### 总结 混合智能体不需要复杂的框架核心就三步 1. 分析问题确定需要哪些专家角色 2. 并行调用不同的模型各司其职 3. 一个模型整合所有人的输出 100 行代码实现效果可以超过单独使用任何一个模型。 本文由 Zyentor智元界原创发布 --- 本文发布于 [Zyentor智元界](https://www.zyentor.com) —— AI 开发者社区 原文链接[https://www.zyentor.com/news/4284](https://www.zyentor.com/news/4284)