当前位置: 首页 > article >正文

从 0 到 1 搭建基于 AutoGen 的多智能体群聊系统

从 0 到 1 搭建基于 AutoGen 的多智能体群聊系统:解锁 AI 协作的无限可能关键词AutoGen多智能体框架、LLM群聊、Agent协作模式、工具调用链、代码执行沙箱、自动任务拆解、群聊编排策略摘要想象一下:你有一个由AI“程序员”、“测试工程师”、“产品经理”、“UI设计师”甚至“法律合规员”组成的虚拟团队,他们不用你指挥每一步,就能自动拆解复杂任务(比如开发一个简单的记账小程序后端+API文档+单元测试+成本效益分析)、互相辩论验证、调用外部工具/代码库、生成完整交付物——这就是AutoGen多智能体系统的魅力!本文将带你从完全陌生的“0”开始,到成功运行第一个自己定制的AutoGen群聊系统的“1”,再到深入理解其底层原理、掌握高级编排技巧、探索真实商业场景。我们会用**“虚拟装修队”**这样的生活化比喻把抽象的Agent、群聊管理器、工具注册等概念讲得明明白白;会一步一步拆解AutoGen的核心架构(包括LLM后端配置、Agent类型选择、群聊模式分类、工具与沙箱机制);会提供完整的Python代码示例,涵盖从基础群聊到带工具调用的代码协作场景;还会讨论边界条件、性能优化、最佳实践以及行业发展趋势。无论你是想体验“AI团队协作”的AI爱好者,还是想把AutoGen应用到公司项目的开发者/产品经理,这篇文章都能给你带来实实在在的收获!1. 背景介绍:为什么我们需要多智能体群聊系统?1.1 问题背景与重要性1.1.1 单LLM的“能力天花板”自从ChatGPT、GPT-4o、Claude 3等大语言模型(LLM)横空出世,我们已经习惯了用它们写文案、做翻译、解答问题、甚至写简单的代码。但单LLM始终存在几个不可忽视的能力天花板:专业领域深度不足:比如用通用LLM写法律文书可能不够严谨,写医疗诊断代码可能会有专业漏洞——除非你是该领域的专家,能给出足够精准的提示词(Prompt Engineering),但Prompt Engineering本身就是个技术活,而且很难覆盖所有专业细节的“盲区”。任务拆解与规划能力有限:单LLM可以拆解简单的线性任务(比如“先写前端界面草稿,再写后端API接口”),但遇到复杂的非线性、多分支、需要反馈验证的任务(比如“开发一个带实时支付功能的二手交易小程序”),单LLM很容易“漏项”或者“逻辑混乱”,比如写完支付逻辑就忘了测试支付失败的边界情况,或者写完前端界面才发现和后端API的字段格式不匹配。执行效率与可靠性低:单LLM一次只能处理一个任务步骤,而且经常会犯“低级错误”(比如写代码时少写一个括号、做数学计算时出错、引用过时的API文档),需要用户反复检查、修改提示词、重新生成——这个过程既耗时又耗力,可靠性也无法保证。工具调用链管理困难:虽然现在很多LLM(比如GPT-4o、Claude 3 Opus)都支持“Function Calling”,但单LLM很难管理长工具调用链(比如“先搜索最新的Python数据分析库,再安装这个库,再读取本地的CSV数据,再用这个库做可视化,再把可视化结果导出为PNG并发送到我的邮箱”),一旦中间某个步骤出错,整个调用链就会中断,需要用户手动重启。1.1.2 多智能体系统的“破局之路”为了突破单LLM的能力天花板,学术界和工业界提出了多智能体系统(Multi-Agent System, MAS)的概念——简单来说,就是把一个复杂的大任务交给多个“专门化”的AI智能体(Agent),让它们通过沟通协作来共同完成任务。而AutoGen(全称Auto Generative Agents)是微软研究院在2023年10月开源的轻量级、可扩展、可定制的多智能体框架,它最大的特点就是把多智能体协作封装成了“群聊(Group Chat)”——就像我们在微信、钉钉群里和同事沟通一样,AutoGen的Agent可以在群里“发言”、“回复”、“@指定Agent”、“调用工具”、“执行代码”,而群聊管理器(Group Chat Manager)则负责管理群聊的流程(比如谁先发言、发言顺序怎么安排、什么时候结束群聊)。AutoGen的出现,让多智能体系统的搭建门槛从“专家级”降到了“入门级”——你不需要懂复杂的分布式系统、强化学习或者博弈论,只需要掌握Python基础、会配置LLM后端、会写简单的提示词,就能搭建一个属于自己的多智能体群聊系统!1.1.3 AutoGen的“行业影响力”AutoGen开源至今(202X年X月),已经在GitHub上获得了超过30K的Star,成为了全球最受欢迎的多智能体框架之一;它的生态系统也在不断完善,目前已经支持了主流的LLM后端(OpenAI、Azure OpenAI、Anthropic Claude、Google Gemini、本地LLM如Llama 3/Qwen 2等)、主流的开发工具(Jupyter Notebook、VS Code插件)、以及多个行业的应用场景(软件开发、数据分析、客服机器人、教育辅导、医疗辅助诊断等)。很多知名的公司和研究机构都在使用AutoGen或者基于AutoGen开发自己的产品:微软:把AutoGen集成到了Microsoft 365 Copilot的内部测试中,用于辅助开发团队协作;Salesforce:基于AutoGen开发了Salesforce Multi-Agent Copilot,用于辅助销售团队处理客户需求;斯坦福大学:用AutoGen搭建了AI科研助手团队,用于辅助生物学家分析基因数据;阿里巴巴:把AutoGen集成到了阿里云的AI开发平台ModelScope中,为用户提供多智能体协作的能力。1.2 目标读者本文的目标读者包括:AI爱好者:想体验“AI团队协作”的乐趣,了解多智能体系统的基本原理;Python开发者:有一定的Python基础,想学习AutoGen的使用方法,把多智能体系统应用到自己的项目中;产品经理/项目经理:想了解AutoGen的功能和应用场景,考虑把AutoGen集成到公司的产品/项目中;学生/研究者:想学习多智能体系统的最新技术,做相关的课题研究。为了让不同水平的读者都能读懂本文,我们会:对于AI爱好者:重点看背景介绍、核心概念解析、实际场景应用和未来展望部分;对于Python开发者:重点看技术原理与实现、算法源代码、系统核心实现源代码和最佳实践部分;对于产品经理/项目经理:重点看背景介绍、核心概念解析、实际场景应用、最佳实践和行业发展与未来趋势部分;对于学生/研究者:重点看背景介绍、核心概念解析、技术原理与实现、数学模型和行业发展与未来趋势部分。1.3 核心问题或挑战在从0到1搭建AutoGen多智能体群聊系统的过程中,我们会遇到以下几个核心问题或挑战:核心概念理解不清:什么是Agent?什么是User Proxy Agent?什么是Assistant Agent?什么是Group Chat Manager?它们之间有什么关系?LLM后端配置困难:如何配置OpenAI/Azure OpenAI/Anthropic Claude/本地LLM作为AutoGen的LLM后端?如果LLM调用失败怎么办?Agent类型选择与提示词设计不当:不同的任务需要不同类型的Agent,提示词的质量直接影响Agent的协作效果——如何选择合适的Agent类型?如何设计高质量的提示词?群聊模式与编排策略不合理:AutoGen提供了多种群聊模式(比如Round Robin、Random、Selector、Custom),不同的群聊模式适用于不同的任务——如何选择合适的群聊模式?如何设计自定义的群聊编排策略?工具调用链与代码执行沙箱不安全:AutoGen的Agent可以调用外部工具(比如搜索API、数据库API)和执行代码——如何安全地注册和使用工具?如何配置代码执行沙箱,防止Agent执行恶意代码?任务终止条件设置不合理:如果任务终止条件设置得太松,群聊会一直进行下去,浪费LLM的调用成本;如果设置得太紧,任务可能无法完成——如何设置合理的任务终止条件?本文的后续内容会逐一解决这些核心问题或挑战!2. 核心概念解析:把AutoGen当成“虚拟装修队”2.1 核心概念:生活化比喻在深入了解AutoGen的技术细节之前,我们先用**“虚拟装修队”**这个大家都熟悉的生活化场景来解释AutoGen的核心概念——这样你就能在几分钟内理解AutoGen的基本运作原理!2.1.1 User(用户):装修业主角色定义:是整个装修任务的发起者和最终决策者,负责提出装修需求(比如“我要把这套100平米的房子装修成现代简约风格,预算20万,3个月内完成”)、检查装修进度、确认装修成果、支付装修费用(对应AutoGen中的LLM调用成本)。AutoGen对应实体:AutoGen中没有专门的User类,但可以通过UserProxyAgent来模拟用户的部分行为(比如提供手动输入、确认Agent的成果),或者直接通过代码向群聊发送初始消息。2.1.2 User Proxy Agent(用户代理智能体):装修队长助理生活化比喻:是装修业主的“全权代表”,负责帮业主传达装修需求、记录装修进度、收集业主的反馈、甚至代替业主做一些简单的决定(比如“如果装修师傅提出一个1000元以内的小修改,不需要问业主,直接同意”);同时,它也是装修队长(Group Chat Manager)和装修业主之间的桥梁。AutoGen对应实体:autogen.UserProxyAgent类,是AutoGen中最常用的Agent类型之一。核心特点:可以代表用户发言:可以自动向群聊发送消息,也可以等待用户的手动输入;可以执行代码:可以在本地或者远程的代码执行沙箱中执行Agent生成的代码;可以调用工具:可以注册和调用外部工具;可以控制任务终止:可以设置任务终止条件(比如“当收到包含‘任务完成’的消息时,终止群聊”)。2.1.3 Assistant Agent(助理智能体):装修师傅/设计师生活化比喻:是装修队中的专门化人才,比如“水电工”、“木工”、“瓦工”、“油漆工”、“室内设计师”、“预算师”——每个助理智能体都有自己的专业领域和职责,比如水电工负责安装水电管道,室内设计师负责设计装修方案,预算师负责控制装修预算。AutoGen对应实体:autogen.AssistantAgent类,是AutoGen中另一个最常用的Agent类型。核心特点:有专门的提示词:可以通过提示词来定义它的专业领域、职责、沟通方式等;可以和其他Agent沟通:可以在群里“发言”、“回复”、“@指定Agent”;可以生成工具调用请求:可以向User Proxy Agent发送工具调用请求;可以生成代码:可以向User Proxy Agent发送代码执行请求。2.1.4 Group Chat(群聊):装修队微信群生活化比喻:是装修队中所有成员(包括用户代理智能体、助理智能体)沟通协作的平台——就像我们在微信群里聊天一样,大家可以在群里发表自己的意见、提出问题、回答问题、分享文件、确认任务。AutoGen对应实体:autogen.GroupChat类,负责存储群聊的历史消息、管理群聊的成员列表。2.1.5 Group Chat Manager(群聊管理器):装修队长生活化比喻:是装修队的负责人,负责管理装修队的整个协作流程——比如谁先发言(比如一开始肯定是预算师先发言,做初步的预算方案)、发言顺序怎么安排(比如预算师做完预算方案后,室内设计师再发言,设计装修方案,然后水电工再发言,确认水电管道的布局)、什么时候让某个Agent发言(比如当室内设计师提到“需要确认预算是否够买某个材料”时,装修队长会@预算师)、什么时候结束装修任务(比如当所有的装修成果都得到了业主的确认)。AutoGen对应实体:autogen.GroupChatManager类,是AutoGen中负责管理群聊流程的核心组件。核心特点:有专门的提示词:可以通过提示词来定义它的管理规则;支持多种群聊模式:比如Round Robin(轮询)、Random(随机)、Selector(选择器)、Custom(自定义);可以根据群聊历史消息选择下一个发言的Agent。2.1.6 Tool(工具):装修工具/材料供应商生活化比喻:是装修队中所有成员完成任务所需要的工具或外部资源——比如“电钻”、“锤子”、“瓷砖供应商”、“家电供应商”、“天气预报API”(比如装修队需要根据天气预报安排室外作业的时间)。AutoGen对应实体:可以是Python函数、API接口、数据库查询等,通过autogen.register_function或者autogen.agentchat.register_tools来注册到Agent中。2.1.7 Code Execution Sandbox(代码执行沙箱):装修工地的安全作业区生活化比喻:是装修队中专门用于执行危险作业的区域——比如“电焊作业区”、“高空作业区”,这些区域有专门的安全措施(比如防火设备、安全绳),防止危险作业对周围的环境造成损害。AutoGen对应实体:可以是本地的Python环境(不安全,不推荐生产环境使用)、Docker容器(推荐生产环境使用)、或者远程的代码执行服务(比如Microsoft Azure Container Apps)。核心特点:隔离性:代码执行环境和主机环境完全隔离,防止Agent执行恶意代码(比如删除主机上的文件、访问主机上的敏感数据);可控性:可以限制代码执行的时间、内存、CPU使用量;可重复性:每次代码执行的环境都是一样的,保证代码执行的结果可重复。2.2 问题背景:为什么要用“虚拟装修队”的比喻?在学习AutoGen的过程中,很多初学者会因为核心概念太多、概念之间的关系太复杂而感到困惑——比如分不清UserProxyAgent和AssistantAgent的区别,不知道GroupChatManager是如何管理群聊流程的。而“虚拟装修队”是一个大家都非常熟悉的生活化场景,几乎每个人都有过装修或者看别人装修的经历——用这个场景来解释AutoGen的核心概念,可以让初学者快速建立起对AutoGen的整体认知,把抽象的技术概念和具体的生活场景联系起来,从而更容易理解和记忆。2.3 问题描述:如何用“虚拟装修队”的比喻理解AutoGen的协作流程?假设你是一个装修业主,你有一个装修需求:“我要把这套100平米的房子装修成现代简约风格,预算20万,3个月内完成”。我们来看一下“虚拟装修队”是如何协作完成这个任务的——这个流程和AutoGen多智能体群聊系统的协作流程几乎一模一样:装修业主(User)向装修队长助理(User Proxy Agent)传达装修需求;装修队长助理(User Proxy Agent)把装修需求转发到装修队微信群(Group Chat);装修队长(Group Chat Manager)看到装修需求后,根据自己的管理规则选择下一个发言的Agent——预算师(Assistant Agent);预算师(Assistant Agent)在群里做初步的预算方案,@装修队长助理(User Proxy Agent)确认;装修队长助理(User Proxy Agent)把预算方案转发给装修业主(User),装修业主确认后,装修队长助理(User Proxy Agent)在群里回复“预算方案已确认”;装修队长(Group Chat Manager)看到“预算方案已确认”的消息后,选择下一个发言的Agent——室内设计师(Assistant Agent);室内设计师(Assistant Agent)在群里设计装修方案(包括平面布局图、效果图、材料清单),@预算师(Assistant Agent)确认材料清单是否在预算范围内,@装修队长助理(User Proxy Agent)确认装修方案;预算师(Assistant Agent)检查材料清单,确认在预算范围内,在群里回复“材料清单已确认”;装修队长助理(User Proxy Agent)把装修方案转发给装修业主(User),装修业主提出一些小修改(比如“把客厅的沙发换成真皮的”),装修队长助理(User Proxy Agent)在群里回复业主的修改意见;室内设计师(Assistant Agent)根据业主的修改意见调整装修方案,再次@预算师(Assistant Agent)和装修队长助理(User Proxy Agent)确认;重复步骤8-10,直到装修方案得到业主的确认;装修队长(Group Chat Manager)看到“装修方案已确认”的消息后,选择下一个发言的Agent——水电工(Assistant Agent);水电工(Assistant Agent)在群里确认水电管道的布局,@室内设计师(Assistant Agent)和装修队长助理(User Proxy Agent)确认;重复步骤12-13,直到所有的装修任务都完成;装修队长(Group Chat Manager)确认所有的装修任务都完成后,选择装修队长助理(User Proxy Agent)发言;装修队长助理(User Proxy Agent)把所有的装修成果(包括预算方案、装修方案、水电管道布局图、验收报告)转发给装修业主(User),装修业主确认后,装修队长助理(User Proxy Agent)在群里回复“任务完成”,并终止群聊。2.4 问题解决:如何把“虚拟装修队”的比喻转化为AutoGen的代码?在后面的章节(技术原理与实现、算法源代码、系统核心实现源代码)中,我们会把这个“虚拟装修队”的比喻转化为完整的AutoGen代码——你只需要按照代码中的步骤操作,就能运行一个自己的“虚拟装修队”!2.5 边界与外延2.5.1 边界:AutoGen不是什么?虽然AutoGen非常强大,但它也有自己的边界——也就是说,AutoGen不是万能的,有些事情它做不到或者做得不好:AutoGen不能替代人类的创造性思维:虽然AutoGen的Agent可以生成很多创意,但这些创意都是基于LLM训练数据中的内容生成的,很难产生“突破性的创新”——比如AutoGen可以帮你设计一个现代简约风格的装修方案,但它很难设计出一种“从未存在过的装修风格”;AutoGen不能替代人类的道德判断:虽然AutoGen的Agent可以遵循一定的道德准则(通过提示词定义),但这些道德准则都是人类输入的,AutoGen本身没有“道德感”——比如AutoGen可以帮你写一篇文案,但它无法判断这篇文案是否会对他人造成伤害;AutoGen不能替代人类的最终决策权:虽然AutoGen的Agent可以帮你做很多决定,但最终的决策权必须掌握在人类手中——比如AutoGen可以帮你做一个投资建议,但你必须自己判断这个投资建议是否适合你;AutoGen的LLM调用成本可能很高:如果你的群聊系统中有很多Agent,或者群聊的时间很长,那么LLM的调用成本可能会很高——你需要合理设置任务终止条件,控制LLM的调用成本;AutoGen的协作效果取决于提示词的质量:提示词的质量直接影响Agent的协作效果——如果提示词写得不好,Agent可能会“答非所问”、“逻辑混乱”、甚至“互相打架”。2.5.2 外延:AutoGen可以和哪些技术结合使用?AutoGen的生态系统非常开放,它可以和很多其他技术结合使用,从而扩展它的功能和应用场景:和本地LLM结合使用:比如Llama 3、Qwen 2、Mistral等——这样你就可以在没有互联网连接的情况下使用AutoGen,同时也可以保护你的数据隐私;和向量数据库结合使用:比如ChromaDB、Pinecone、Weaviate等——这样你就可以让AutoGen的Agent访问你的私有数据(比如公司的内部文档、客户的历史数据),从而生成更准确的回复;和RAG(Retrieval-Augmented Generation,检索增强生成)技术结合使用:和向量数据库结合使用就是一种RAG技术——这样你就可以让AutoGen的Agent访问最新的外部数据(比如新闻、API文档),从而避免“幻觉(Hallucination)”;和强化学习结合使用:比如让AutoGen的Agent通过强化学习来优化自己的协作策略——这样群聊系统的协作效率会更高;和视觉/听觉模型结合使用:比如GPT-4o、Claude 3 Opus、Google Gemini Ultra等——这样你就可以让AutoGen的Agent处理图像、视频、音频等多模态数据;和低代码/无代码平台结合使用:比如Microsoft Power Platform、Airtable等——这样你就可以让没有编程基础的用户也能搭建AutoGen多智能体群聊系统。2.6 概念结构与核心要素组成2.6.1 AutoGen的整体概念结构AutoGen的整体概念结构可以分为三层:底层:LLM后端层:负责提供LLM的调用能力——AutoGen支持主流的LLM后端,比如OpenAI、Azure OpenAI、Anthropic Claude、Google Gemini、本地LLM等;中间层:Agent与群聊层:是AutoGen的核心层——包括Agent(UserProxyAgent、AssistantAgent、GroupChatManager等)、Group Chat、工具注册、代码执行沙箱等;顶层:应用层:是用户直接使用的层——包括各种基于AutoGen开发的应用,比如软件开发助手、数据分析助手、客服机器人、教育辅导等。我们可以用一个文本示意图来表示AutoGen的整体概念结构:┌─────────────────────────────────────────────────────────────────────────┐ │ 应用层(Application Layer) │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────┐ │ │ │ 软件开发助手 │ │ 数据分析助手 │ │ 客服机器人 │ │ 教育辅导 │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ └──────────┘ │ └─────────────────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────────────────┐ │ Agent与群聊层(Agent Group Chat Layer) │ │ ┌─────────────────────────────────────────────────────────────────────┐│ │ │ Group Chat Manager ││ │ │ ┌─────────────────────────────────────────────────────────────────┐ ││ │ │ │ Group Chat │ ││ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ ││ │ │ │ │UserProxy │ │Assistant │ │Assistant │ │Assistant │ ... │ ││ │ │ │ │ Agent │ │ Agent 1 │ │ Agent 2 │ │ Agent 3 │ │ ││ │ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ ││ │ │ └─────────────────────────────────────────────────────────────────┘ ││ │ └─────────────────────────────────────────────────────────────────────┘│ │ ┌──────────────────────┐ ┌─────────────────────────────────────────┐│ │ │ 工具注册模块 │ │ 代码执行沙箱模块 ││ │ └──────────────────────┘ └─────────────────────────────────────────┘│ └─────────────────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────────────────┐ │ LLM后端层(LLM Backend Layer) │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐│ │ │ OpenAI │ │Azure Open│ │Anthropic │ │ Google │ │ 本地LLM ││ │ │ │ │ AI │ │ Claude │ │ Gemini │ │(Llama 3)││ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘│ └─────────────────────────────────────────────────────────────────────────┘2.6.2 AutoGen的核心要素组成AutoGen的核心要素包括7个:LLM配置(LLM Config):用于配置LLM后端的参数,比如API密钥、模型名称、温度(Temperature)、最大生成令牌数(Max Tokens)等;Agent(智能体):是AutoGen的基本单元,负责执行特定的任务——AutoGen提供了多种预定义的Agent类型,比如UserProxyAgent、AssistantAgent、GroupChatManager、RetrieveUserProxyAgent、RetrieveAssistantAgent等,你也可以自定义Agent类型;Group Chat(群聊):用于存储群聊的历史消息、管理群聊的成员列表;Group Chat Manager(群聊管理器):用于管理群聊的流程,比如选择下一个发言的Agent;Tool(工具):用于扩展Agent的能力,比如搜索API、数据库API、Python函数等;Code Execution Sandbox(代码执行沙箱):用于安全地执行Agent生成的代码;Message(消息):是Agent之间沟通的基本单位——AutoGen的消息格式是一个字典,包含role(角色,比如user、assistant、system、tool)、content(内容,比如文本、图像、代码、工具调用请求)等字段。2.7 概念之间的关系2.7.1 概念核心属性维度对比:Markdown表格为了帮助你更好地理解AutoGen的核心概念,我们用一个Markdown表格来对比它们的核心属性:概念名称核心角色主要职责是否需要LLM是否可以执行代码是否可以调用工具预定义类名User任务发起者与最终决策者提出任务需求、检查任务进度、确认任务成果、支付LLM调用成本否否否无(可通过UserProxyAgent模拟)User Proxy Agent用户代理与执行者传达用户需求、记录任务进度、收集用户反馈、执行代码、调用工具、控制任务终止可选是是autogen.UserProxyAgentAssistant Agent专门化任务执行者在特定专业领域内完成任务、和其他Agent沟通、生成工具调用请求、生成代码是否否(需通过UserProxyAgent)autogen.AssistantAgentGroup Chat沟通协作平台存储群聊历史消息、管理群聊成员列表否否否autogen.GroupChatGroup Chat Manager群聊流程管理者管理群聊流程、选择下一个发言的Agent是否否autogen.GroupChatManagerTool外部资源与能力扩展为Agent提供完成任务所需的外部资源或能力否否是(需注册到Agent)无(可以是Python函数、API等)Code Execution Sandbox安全代码执行环境安全地执行Agent生成的代码,隔离主机环境否是否无(可以是本地环境、Docker等)2.7.2 概念联系的ER实体关系图:Mermaid架构图为了帮助你更好地理解AutoGen的核心概念之间的联系,我们用一个Mermaid ER实体关系图来表示:

相关文章:

从 0 到 1 搭建基于 AutoGen 的多智能体群聊系统

从 0 到 1 搭建基于 AutoGen 的多智能体群聊系统:解锁 AI 协作的无限可能 关键词 AutoGen多智能体框架、LLM群聊、Agent协作模式、工具调用链、代码执行沙箱、自动任务拆解、群聊编排策略 摘要 想象一下:你有一个由AI“程序员”、“测试工程师”、“产品经理”、“UI设计师…...

C语言编程手机版 随时编译代码

社会持续向前发展,当下那些在进行编程学习的用户数量日益增多,然而借助电脑去学习会相对麻烦些。鉴于此,小编给大伙带来了C语言编译器手机版,它是一款功能表现非常强,操作实施较为简便的C语言编程软件,其主…...

告别复杂配置!用SGLang+Docker轻松部署bge-large-zh-v1.5

告别复杂配置!用SGLangDocker轻松部署bge-large-zh-v1.5 1. 为什么选择bge-large-zh-v1.5 bge-large-zh-v1.5是目前中文语义理解领域表现最优秀的嵌入模型之一。它能将任意长度的中文文本转换为1024维的高质量向量表示,这些向量能够精准捕捉文本的深层…...

​从散户到 “跟庄” | 职业交易者的聪明金钱心法 :看结构、抓流动性,提高胜率!​

从散户到 “跟庄” | 职业交易者的聪明金钱心法 :看结构、抓流动性,提高胜率! 聪明金钱概念是交易中能帮你建立巨大盈利优势的核心逻辑——它能让你看透价格走势的本质,精准找到高盈亏比入场点,而不是被表面波动牵着走。 今天就把聪明金钱的核心逻辑、实战方法和交易设置…...

Nano-Banana快速上手指南:5分钟完成首个产品平铺图生成

Nano-Banana快速上手指南:5分钟完成首个产品平铺图生成 1. 项目简介 Nano-Banana是一款专门为产品拆解和平铺展示设计的智能图像生成工具。它能帮你快速创建专业级的产品爆炸图、部件拆解图和平铺展示图,无需任何设计基础,5分钟就能生成你的…...

看看MusePublic能做什么?高清、细腻光影的艺术人像生成案例分享

看看MusePublic能做什么?高清、细腻光影的艺术人像生成案例分享 1. 惊艳的艺术人像生成效果 当我第一次看到MusePublic生成的艺术人像时,确实被惊艳到了。这不是普通的AI生成图片,而是充满艺术感和故事性的作品。光影的处理尤其出色&#x…...

什么是可扩展、可接入的智能运维体?

Lerwee运维智能体作为面向企业IT运维的AgenticAIOps开放生态核心平台,其核心特性与价值集中体现在三大维度: 1.底层深度融合DeepSeek、Qwen等主流大模型,具备感知、记忆、规划、决策、执行的完整智能闭环能力,为生态运转提供核心智…...

使用GitHub管理Pixel Dream Workshop的提示词工程与风格模板

使用GitHub管理Pixel Dream Workshop的提示词工程与风格模板 1. 为什么需要版本管理AI绘画项目 如果你经常使用AI绘画工具,可能会遇到这样的困扰:上周调出一个特别棒的赛博朋克风格参数组合,这周想再用却找不到了;团队里有人发现…...

边走边聊 Python 3.8:Chapter 3:控制流与循环

Chapter 3:控制流与循环 程序的逻辑由控制流决定,而循环则让程序拥有“重复的力量”。本章将带你理解 if、for、while 背后的思维方式,掌握 Python 独有的 for-else 结构,并通过实际案例让你真正体会“程序为什么这样走”。当你能控制程序的节奏,你就能让代码按你的意图行…...

NCM格式解密与转换完全指南:5大核心技巧释放音频文件价值

NCM格式解密与转换完全指南:5大核心技巧释放音频文件价值 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 在数字化音乐收藏日益普及的今天,网易云音乐的NCM加密格式成为许多音乐爱好者的困扰。ncmdump作为一款…...

Z-Image-ComfyUI零基础入门:5分钟学会阿里文生图神器

Z-Image-ComfyUI零基础入门:5分钟学会阿里文生图神器 你是不是也遇到过这样的烦恼?想用AI生成一张图片,要么模型太大电脑带不动,要么生成速度慢得让人抓狂,要么就是输入中文提示词,出来的效果完全不是那么…...

协程异常捕获失效?超时自动恢复失败?PHP 8.9 Fiber生产级错误处理全链路解析,

第一章:协程异常捕获失效?超时自动恢复失败?PHP 8.9 Fiber生产级错误处理全链路解析PHP 8.9 引入的 Fiber 原生协程机制虽大幅简化异步编程模型,但在生产环境中频繁暴露异常穿透、超时未中断、错误上下文丢失等关键问题。根本原因…...

NVIDIA Profile Inspector完整指南:释放显卡隐藏性能的终极教程

NVIDIA Profile Inspector完整指南:释放显卡隐藏性能的终极教程 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 如果你正在寻找一款能够深度挖掘NVIDIA显卡潜能的神器,那么NVIDI…...

C# AI推理加速架构设计图(.NET 11专属GPU/CPU/NPU三模调度蓝图)

第一章:C# AI推理加速架构设计图总览C# AI推理加速架构以“跨层协同、软硬共生”为核心设计理念,构建从模型加载、计算调度到硬件执行的全栈优化通路。该架构并非简单封装原生推理引擎,而是通过抽象统一的IR(Intermediate Represe…...

2026微型激光甲烷手持仪:行业标准、技术演进与全场景监测应用

在“双碳”目标与本质安全管理的双重驱动下,甲烷排放监测已从单一的“合规要求”跃升为能源、工业及市政领域的战略核心。微型激光甲烷手持仪作为基于可调谐激光吸收光谱技术(TDLAS)的尖端感知设备,正凭借其毫秒级响应、非接触遥测…...

CLAUDE.md 写到 500 行还管不住 AI?Skills 分层食用指南 + AGENTS.md 跨工具吃遍天下

一个资深 Claude Code 用户的心路历程:从写 CLAUDE.md 写到手抽筋,到三层 Skills 按需拼装,再到一份规则走通 Codex、Cursor、Aider 全家桶。这篇把坑都给你踩平。 写在前面 场景还原一下: 你在项目 A 里精心写了一份 CLAUDE.md…...

30、DOM常见的操作有哪些?

这个问题在前端面试里非常常见。 如果你只回答“增删改查”,会显得太浅;如果能按模块、有条理地讲清楚,面试官会觉得你基础扎实、实践经验也不错。一、DOM 常见操作可以分为哪些类?一般可以从这几个方面回答:查找节点创…...

路径分析—PostgreSQL+GeoServer+Openlayers

一、道路数据处理 如果你已经有了道路数据,那就直接使用。 由于当前并没有较好的道路数据,这里我自己用 QGIS 造了些数据以供使用。 为了效果较好,在创建道路数据时是叠加了影像图的。并且要开启“捕捉工具”,这样在后续的拓扑分析中更好。 在完成道路数据的创建后,我直…...

L2-2、构建高效可复用的 AI 指令集 —— Prompt 模板化与结构化输出

1. 为什么需要构建可复用的AI指令集 第一次用ChatGPT时,我像个无头苍蝇一样反复输入相似的指令。早上要数据分析报告,下午要会议纪要,每次都得从头解释需求。直到有次同事发来一个txt文件,里面全是格式统一的提问模板——那一刻我…...

Chord - Ink Shadow 效果深度评测:多轮对话连贯性与上下文记忆能力展示

Chord - Ink & Shadow 效果深度评测:多轮对话连贯性与上下文记忆能力展示 最近试用了不少大模型,发现一个挺有意思的现象:很多模型单轮对话表现不错,但一旦聊得久了,就容易“失忆”或者“跑偏”。这让我对模型的长…...

十大排序算法详解:从原理到实战,苹果群控系统游戏运营如何实现自动执行任务。

排序算法概述 排序算法是将一组数据按照特定顺序(如升序或降序)重新排列的算法。根据时间复杂度、空间复杂度、稳定性等特性,排序算法可分为比较排序和非比较排序两大类。常见算法包括冒泡排序、快速排序、归并排序、堆排序、计数排序等。比较…...

爬虫自动化:数据采集与智能运维实战,人形机器人的发展历程、技术演进与未来图景。

爬虫与自动化技术概述 爬虫与自动化技术是现代数据采集与智能运维的核心工具。爬虫通过模拟浏览器行为或直接请求接口获取目标数据,自动化技术则用于数据处理、任务调度和系统监控。两者结合可构建高效的数据管道,覆盖从数据采集到智能运维的全流程。核心…...

PowerPaint-V1 Gradio在文化遗产保护中的应用:古画修复与数字化

PowerPaint-V1 Gradio在文化遗产保护中的应用:古画修复与数字化 1. 引言 一幅珍贵的古代山水画,因为年代久远出现了多处破损和褪色;一张历史照片,因为保存不当而出现了霉斑和裂纹。这些文化遗产的损坏,往往意味着一段…...

Ubuntu服务器生产环境部署Pixel Script Temple全记录

Ubuntu服务器生产环境部署Pixel Script Temple全记录 1. 准备工作与环境检查 在开始部署之前,我们需要确保服务器环境满足基本要求。首先确认你的Ubuntu服务器版本为20.04 LTS或22.04 LTS,这两个版本都提供长期支持,适合生产环境使用。 运…...

Cosmos-Reason1-7B效果展示:对‘为什么这个递归会栈溢出’提问,输出调用深度热力图分析

Cosmos-Reason1-7B效果展示:对为什么这个递归会栈溢出提问,输出调用深度热力图分析 提示:本文所有展示效果均基于真实测试,Cosmos-Reason1-7B模型能够深入分析递归函数的调用过程,并通过热力图直观展示栈溢出原因 1. 工…...

HarmonyOS6 ArkTS NavDestination

文章目录核心特性基础使用规范1. 组件层级关系2. 核心属性配置(1)标题配置:title()(2)返回按钮控制:hideBackButton()完整示例完整代码核心功能实现解析1. 主/子页面切换2. 滚动与标题栏联动(核…...

利用Python建立图书馆系统

题目描述设计一个简单的图书借阅管理系统。系统初始包含若干本图书,每本图书的信息包括:书号(字符串)书名(字符串)作者(字符串)库存数量(整数)另外&#xff0…...

#SpringBoot 日志配置完整文档(SLF4J + Logback + Druid适配)

一、前言 本文档详细说明 SpringBoot 项目中「SLF4J Logback」日志框架的完整配置,包含 Maven 依赖、application.yml 日志级别配置、logback-spring.xml 完整配置,重点覆盖:日志路径(相对/绝对)、日志格式、日志级别…...

Typora笔记完美发布CSDN:图片自动上传+排版优化保姆级教程

Typora 图像上传 完整操作说明 发现问题 当我们使用Typora这款强大的Markdown编辑器记录笔记时,经常会遇到一个让人困扰的问题:在将笔记上传到CSDN博客或者其他网站上后,图片无法正确显示。这不仅会大大降低我们的效率,还可能给…...

5步轻松搞定WE Learn高效学习:AI自动答题+智能刷课提升300%效率

5步轻松搞定WE Learn高效学习:AI自动答题智能刷课提升300%效率 【免费下载链接】WELearnHelper 显示WE Learn随行课堂题目答案;支持班级测试;自动答题;刷时长;基于生成式AI(ChatGPT)的答案生成 项目地址: https://gi…...