多智能体协作与自我改进:构建能“开会”和“进化”的AI应用框架

news2026/4/29 1:08:55
1. 项目概述当AI学会“开会”与“进化”最近在GitHub上看到一个挺有意思的项目叫council-self-improving。光看名字可能有点抽象——“理事会-自我改进”这听起来像是某种组织管理理论。但点进去一看才发现这是一个将“多智能体协作”与“自我迭代优化”结合起来的AI应用框架。简单来说它模拟了一个由多个AI“专家”组成的“理事会”这些专家各司其职通过“开会”讨论的方式共同完成一个复杂任务并且这个“理事会”还能在完成任务后自动复盘、总结经验、优化自身实现“自我改进”。这让我想起了我们团队内部的技术评审会。一个复杂的技术方案往往不是一个人拍脑袋决定的而是需要前端、后端、算法、产品等不同角色的专家坐在一起从各自专业角度提出意见、争论、妥协最终形成一个更优的集体决策。council-self-improving项目做的就是把这种人类协作的智慧用代码和AI智能体的形式复现出来并且赋予了它“从经验中学习”的能力。这对于解决那些单一模型或简单提示词搞不定的、需要多维度思考和持续优化的复杂问题提供了一个非常新颖且强大的范式。无论你是想构建一个能自动撰写并优化市场报告的AI助手还是一个能持续调试和优化自身代码的AI程序员这个框架都值得你深入了解一下。2. 核心架构与设计哲学拆解要理解council-self-improving我们得先拆开它的两个核心概念“理事会”Council和“自我改进”Self-Improving。这不仅仅是两个功能的简单叠加而是一套完整的设计哲学。2.1 “理事会”模式超越单一智能体的协作智慧传统的AI应用无论是基于ChatGPT的聊天机器人还是用LangChain搭的简单链大多是一个“单体智能”。你给一个指令它一个模型给你一个回应。这种方式在处理明确、单一的任务时很高效但面对复杂、开放、需要多步骤推理或权衡利弊的任务时就显得力不从心了。council的核心理念是“分而治之”与“集体决策”。它引入了多个智能体Agent每个智能体扮演一个特定的角色比如研究员Researcher负责从给定上下文或外部工具如网络搜索中搜集和整理信息。写手Writer负责根据大纲和素材生成流畅、符合语境的文本。批评家Critic负责审阅生成的内容从逻辑、事实、风格等角度提出修改意见。执行官Executor负责最终拍板综合各方意见产出最终结果。这些智能体被组织成一个有向无环图DAG的工作流也就是我们所说的“理事会会议”流程。一个典型的流程可能是研究员 - 写手 - 批评家 - 执行官。信息任务描述、中间结果像会议纪要一样在智能体之间传递每个智能体基于自己的角色和收到的信息贡献自己的“发言”处理结果。这种架构的优势非常明显专业化每个智能体可以针对其角色进行深度优化。例如为“批评家”智能体提供更严格的提示词Prompt或让其调用专门的事实核查工具这比让一个“全能”模型同时做好所有事要容易得多。可解释性由于流程是分步的你可以清晰地看到在“会议”的每个阶段每个“专家”贡献了什么最终决策是如何形成的。这对于调试和信任AI的输出至关重要。灵活性你可以像组建项目团队一样根据任务类型动态组合不同的智能体。写技术文档和写营销文案需要的专家组合肯定不同。2.2 “自我改进”机制让AI拥有“复盘”能力如果说“理事会”解决了“如何更好地协同完成任务”那么“自我改进”则回答了“如何让下一次做得比这次更好”。这是该项目最具前瞻性的部分。自我改进的核心思想是利用本次任务执行过程中产生的“经验数据”自动生成用于优化未来任务的“训练数据”。这个过程通常是离线、异步进行的可以理解为一次任务结束后的“复盘会议”。具体来说可能包括以下步骤经验收集在一次成功的“理事会”任务执行完毕后系统会完整地记录下整个工作流初始指令、每个智能体的输入/输出、中间状态、最终结果等。这些数据构成了原始的“经验轨迹”。反思与评估系统或一个专门的“评估者”智能体会基于预设的目标如结果质量、效率、成本对这次任务进行评估。哪里做得好哪里可以优化例如批评家的意见是否切中要害执行官的最终决策是否采纳了最有价值的建议生成优化数据基于评估系统会自动生成用于微调Fine-tuning或优化提示词Prompt Engineering的数据。例如提示词优化如果发现“写手”生成的初稿总是偏离主题系统可以生成一条新的“指令-优质输出”配对数据“当主题是X时更好的提示词应该是Y因为它能产生更聚焦的输出Z”。工作流调整如果发现某个智能体在特定任务中贡献度很低系统可以建议在类似任务中移除或替换该智能体。模型微调数据在更复杂的设置下甚至可以生成用于微调底层语言模型如果使用开源模型的问答对或指令跟随数据。应用优化生成的优化数据会被存储到知识库或配置文件中。当下一次类似任务触发时“理事会”可以加载这些优化后的配置如更好的提示词、更高效的工作流来执行从而实现性能的持续提升。注意这里的“自我改进”通常不是指模型参数的在线实时更新那需要巨大的算力和严谨的安全控制而更多是指对提示词、工作流、配置参数等应用层逻辑的自动化优化。这是一种更安全、更可控的“改进”方式。3. 核心组件与实操要点解析理解了设计哲学我们来看看council-self-improving框架里有哪些核心“零件”以及在实际搭建时需要注意什么。3.1 智能体Agent的构建与角色定义智能体是理事会的基本单元。构建一个有效的智能体远不止是调用一下API那么简单。核心构成技能Skill智能体能做什么。一个技能可以是一个简单的提示词模板也可以是一个复杂的函数用于调用外部工具如计算器、搜索引擎、代码解释器。提示词系统Prompting System这是智能体的“大脑”。你需要为每个角色精心设计系统提示词System Prompt和消息模板。例如给“批评家”的提示词必须强调其批判性、客观性和具体的改进建议格式。上下文处理智能体如何理解上游传递来的信息它需要能从对话历史或工作流状态中提取出与自己角色相关的部分。实操心得角色提示词设计设计提示词时要像给真人分配工作一样清晰。避免使用“你是一个助手”这种模糊描述。应该这样写“你是一名资深技术文档工程师。你的任务是审阅一份API设计草案。请重点关注1. 接口命名是否符合RESTful规范2. 请求/响应字段说明是否清晰无歧义3. 错误码定义是否完整。请以列表形式指出问题并为每个问题提供具体的修改建议。”这样的提示词能极大提升智能体输出的稳定性和专业性。我通常会为每个智能体创建独立的提示词配置文件方便后续的单独优化和版本管理。3.2 工作流Workflow与控制器Controller的设计工作流定义了智能体之间的协作规则而控制器则是这个工作流的“调度中心”。链式Chain最简单的顺序执行A做完给BB做完给C。适合步骤明确、依赖线性的任务。基于状态的路由State-based Routing控制器根据当前任务的状态如某个智能体的输出内容、置信度分数来决定下一步调用哪个智能体。例如如果“研究员”返回的信息量不足控制器可以决定重新执行“研究员”或者路由到一个专门的“信息补充”智能体。循环与迭代Loop典型的“生成-批评-修改”循环。写手生成初稿批评家提出意见然后意见反馈给写手进行修改这个过程可以迭代多次直到批评家满意或达到最大迭代次数。实操心得避免无限循环与死锁在设计循环工作流时必须设置明确的终止条件。最常见的两个条件是最大迭代次数例如最多进行3轮“批评-修改”循环。评估分数阈值让“批评家”或一个“评估者”智能体为当前结果打分当分数超过某个阈值如85分时跳出循环。 如果没有这些条件一个过于严苛的批评家和一个固执的写手可能会让AI陷入无休止的“扯皮”徒增API调用成本。3.3 自我改进循环的关键实现这是技术难度最高的部分。一个健壮的自我改进循环需要以下几个模块经验存储器Experience Store用于存储成功的任务轨迹。可以用简单的文件JSONL格式、数据库SQLite/PostgreSQL或向量数据库用于后续基于相似任务的检索来实现。评估器Evaluator自动评估任务质量。评估可以是基于规则的检查输出是否包含关键词、是否符合特定格式。基于模型的使用另一个AI模型如GPT-4作为裁判根据指令评估输出的相关性、完整性和质量。council项目通常内置或可集成这类评估智能体。优化器Optimizer根据评估结果生成优化指令。这通常也是一个AI智能体它的提示词可能是“请分析以下任务执行记录和评估结果找出可以改进的点并生成一条用于优化‘写手’智能体提示词的具体建议。”踩坑记录评估的客观性难题早期我尝试用任务最终的输出结果是否“看起来正确”作为评估标准结果发现改进循环很快陷入局部最优——AI学会了生成一些“看起来”很漂亮但实际内容空洞的文本。后来我引入了多维评估和黄金标准Golden Set比对。多维评估同时评估事实准确性、信息完整性、逻辑连贯性、风格匹配度等多个维度。黄金标准比对对于某些关键任务我会准备少量人工标注的高质量答案黄金标准让评估器计算AI输出与黄金标准在语义上的相似度例如使用嵌入向量余弦相似度。 这样生成的优化建议才更有方向性能推动AI向真正有价值的方向进化。4. 从零搭建一个自我改进的“技术博客写作理事会”理论说了这么多我们来动手搭建一个实际可用的例子一个能自动撰写关于“微服务架构”技术博客并能不断优化文章质量的“理事会”。4.1 环境准备与智能体定义首先假设我们使用OpenAI的模型作为底层能力。# 安装核心库 (假设council-self-improving已发布到PyPI) # pip install council-ai # 本文示例代码为概念演示可能与实际API略有不同 import os from council import Agent, Skill, LLMSkill, Controller, BasicRunner, Workflow from council.llm import OpenAILLM from council.evaluators import LLMEvaluator from council.memory import ExperienceMemory # 1. 初始化LLM客户端 openai_llm OpenAILLM(api_keyos.getenv(OPENAI_API_KEY), modelgpt-4-turbo) # 2. 定义各个角色的技能提示词 blog_planner_prompt 你是一名资深技术架构师。请根据用户给出的博客主题生成一份详细的博客大纲。 大纲必须包含引人入胜的标题、3-5个核心章节每个章节需有子要点、以及一个总结部分。 主题{user_input} 请直接输出大纲不要有多余解释。 planner_skill LLMSkill(llmopenai_llm, system_promptblog_planner_prompt) researcher_prompt 你是一名技术研究员。根据以下博客大纲的某个章节去搜集和整理关键知识点、最佳实践和常见陷阱。 只提供事实性、技术性的内容不要写成完整的段落。使用要点列表。 章节{section_from_planner} researcher_skill LLMSkill(llmopenai_llm, system_promptresearcher_prompt) writer_prompt 你是一名优秀的科技博客写手。请根据提供的大纲和研究材料撰写一个完整的博客章节。 要求语言技术性强且通俗易懂包含代码示例如果适用段落清晰。 大纲{full_outline} 研究材料{research_materials} 当前要撰写的章节{current_section} writer_skill LLMSkill(llmopenai_llm, system_promptwriter_prompt) critic_prompt 你是一名严厉的技术编辑。请审阅以下博客草稿并从以下维度提出具体修改意见 1. 技术准确性是否有事实错误或过时信息 2. 逻辑清晰度论述是否层层递进 3. 可读性语言是否晦涩代码示例是否必要且清晰 4. 结构是否符合大纲要求 草稿{draft_from_writer} 请以[维度] 问题... 建议...的格式列出所有问题。 critic_skill LLMSkill(llmopenai_llm, system_promptcritic_prompt) # 3. 将技能封装成智能体 agent_planner Agent(skillplanner_skill, name规划师) agent_researcher Agent(skillresearcher_skill, name研究员) agent_writer Agent(skillwriter_skill, name写手) agent_critic Agent(skillcritic_skill, name批评家)4.2 构建工作流与控制器接下来我们将这些智能体组装成一个有序的工作流。这里我们设计一个包含迭代改进的复杂流程。# 4. 构建工作流 # 假设我们有一个简单的线性流程开始规划 - 研究 - 写作 - 批评 # 但批评后意见需要反馈给写手进行修改形成循环。 from council.controllers import SequentialController, LoopController from council.runners import BudgetRunner # 首先定义核心的“写作-批评”循环单元 def create_writing_loop(section, outline, research): 为一个章节创建写作循环 writer_for_loop Agent(skillwriter_skill, namef写手_{section}) critic_for_loop Agent(skillcritic_skill, namef批评家_{section}) # 初始化时给写手传入大纲和研究材料 initial_context {full_outline: outline, research_materials: research, current_section: section} # 创建一个顺序控制器先写后批 seq_controller SequentialController(agents[writer_for_loop, critic_for_loop]) # 用循环控制器包裹它设置终止条件最多迭代3次或批评家没问题模拟 # 这里简化处理实际应根据批评家的输出内容判断是否终止 loop LoopController( inner_controllerseq_controller, max_iterations3, # 需要一个条件函数来判断是否跳出循环此处省略具体实现 # break_conditionlambda state: 没有问题 in state.last_message.content ) return loop, initial_context # 主工作流控制器简化版实际项目会更复杂 # 概念上规划师 - 为每个章节研究员 - 写作循环在实际项目中构建这样的动态工作流需要更精细的状态管理和条件判断。council框架通常会提供更高级的DSL领域特定语言或可视化工具来定义复杂工作流。4.3 集成自我改进模块最后我们为这个写作系统装上“复盘”能力。# 5. 经验存储与评估 experience_memory ExperienceMemory(storage_path./blog_experiences.jsonl) evaluator_prompt 请作为最终读者为这篇关于{blog_topic}的技术博客打分1-10分。 评分标准 - 信息价值与深度 (3分) - 结构清晰度与逻辑 (3分) - 代码示例质量与相关性 (2分) - 语言可读性 (2分) 博客内容{final_blog_content} 请以JSON格式输出{{score: x, reason: 简要理由}} evaluator LLMEvaluator(llmopenai_llm, system_promptevaluator_prompt) # 6. 优化器用于改进提示词 optimizer_prompt 以下是最近一次博客写作任务的数据 - 主题{topic} - 最终评分{score} - 评分理由{reason} - 规划师提示词[当前规划师提示词] - 批评家指出的主要问题{critic_issues} 请分析低分7分的可能原因并提出对【规划师】或【批评家】智能体系统提示词的具体修改建议。 目标是让下次写类似主题的博客时能避免类似问题获得更高评分。 请直接输出修改后的提示词片段。 optimizer_skill LLMSkill(llmopenai_llm, system_promptoptimizer_prompt) agent_optimizer Agent(skilloptimizer_skill, name优化师) # 模拟任务执行后的改进循环 def self_improve_cycle(topic, final_content, execution_context): # 步骤1评估 evaluation_result evaluator.execute(f博客主题{topic}\n内容{final_content}) score_data json.loads(evaluation_result.message.content) if score_data[score] 8: # 只有高质量经验才保存 # 步骤2保存经验 experience_memory.save({ topic: topic, context: execution_context, # 保存当时的任务上下文如用户原始指令 workflow_steps: execution_context.get(steps), # 保存工作流步骤快照 final_output: final_content, score: score_data[score], evaluation: score_data[reason] }) print(f任务成功经验已保存。评分{score_data[score]}) if score_data[score] 7: # 如果评分低触发优化 print(f任务评分较低({score_data[score]})触发优化流程...) # 步骤3分析并生成优化建议 # 这里需要从上下文中提取批评家的意见等 critic_issues extract_critic_issues(execution_context) optimization_task f 主题{topic} 评分{score_data[score]} 理由{score_data[reason]} 批评家问题{critic_issues} new_prompt_suggestion agent_optimizer.execute(optimization_task) # 步骤4应用优化此处简化打印建议人工审核后更新配置文件 print(优化建议生成) print(new_prompt_suggestion.message.content) # 实际应用中这里可以将建议写入文件或经过人工审核后自动更新智能体的提示词配置。这个例子展示了核心流程任务执行 - 评估 - 存储成功经验 - 分析失败原因 - 生成优化建议。在实际部署中你需要一个后台服务来定期运行这个改进循环或者将其作为任务流水线的最后一个环节。5. 常见问题、挑战与实战调优指南将council-self-improving应用于实际项目时你会遇到一系列预料之中和预料之外的挑战。以下是我在多个POC概念验证项目中总结出的常见问题与解决方案。5.1 智能体协作效率低下与成本失控问题表现理事会“开会”时间过长API调用次数激增尤其是陷入不必要的循环导致成本远超预算。根因分析智能体角色定义模糊导致多个智能体做重复工作或相互冲突。工作流设计缺陷缺少有效的终止条件或状态判断形成死循环。提示词过于开放导致AI生成内容冗长或不聚焦增加了下游智能体的处理负担。优化策略角色精炼为每个智能体制定明确的“职责范围”和“输出格式规范”。例如规定“研究员”只输出不超过5个要点的列表“批评家”必须按指定模板提交意见。实施预算控制在控制器层面设置硬性限制。例如使用BudgetRunner限制单次任务最大Token消耗量或最大智能体调用次数。引入“主席”智能体增加一个智能体作为“会议主席”其职责是监控讨论进程在适当时机中断冗余讨论、总结共识并推动进入下一环节。这个智能体可以根据其他智能体输出的元信息如情绪、重复度来做决策。5.2 自我改进循环的“退化”或“迷失”问题表现系统不仅没有越变越好反而在某些方面性能下降或者优化方向偏离了核心目标。根因分析评估标准片面或有偏如果评估器只关注“文章长度”AI就会学会写又长又水的废话。经验数据污染存储了低质量或错误的任务轨迹导致从“错误”中学习。优化幅度过大一次提示词修改得太激进破坏了原有能力。解决之道设计多维、稳健的评估体系结合自动化评估模型打分、规则检查和人工评估定期抽样审核。自动化评估指标应互相制衡例如同时评估“相关性”、“信息量”、“简洁性”。实施经验数据清洗与加权为存储的经验数据打上质量标签如评分在后续优化时高质量经验的权重更高。甚至可以引入“负样本”学习明确告诉系统“这样的输出是不好的”。采用保守的优化策略不要直接用新提示词完全替换旧的。可以采用A/B测试让新旧版本智能体并行处理一批任务对比结果后再决定是否全量更新。或者只对提示词进行“微调”例如在原有提示词末尾追加本次优化建议而不是重写。5.3 复杂工作流的可维护性与调试困境问题表现当智能体数量超过10个工作流包含多个分支和循环时系统变得像一团乱麻难以理解执行路径出现bug时定位极其困难。实战建议模块化与分层设计将相关性强的一组智能体封装成一个“委员会”Committee对外提供统一接口。例如将“研究-写作-批评”循环封装成一个BlogSectionCommittee主工作流只需调用这个委员会即可。这降低了顶层工作流的复杂度。强化可观测性Observability必须为工作流的每个步骤注入详细的日志记录。记录每个智能体的输入、输出、所用Token、耗时。使用像LangSmith或Weights Biases这样的工具进行可视化追踪将一次任务的执行过程绘制成清晰的图谱。实现状态快照与回放保存每次重要任务的全量状态快照。当出现异常结果时可以加载快照像调试器一样单步“回放”执行过程精准定位是哪个智能体、在什么输入下产生了问题。5.4 对底层模型能力的依赖与切换问题表现整个系统的性能天花板受限于你所用的核心大语言模型如GPT-4。想换用更便宜或更专用的模型时发现所有智能体的提示词都需要重调。架构思考抽象LLM层在项目初期就应定义一个统一的LLM接口所有智能体通过这个接口调用模型。这样切换模型提供商从OpenAI到Anthropic或到本地部署的Llama时只需更换接口后端的实现而无需修改业务逻辑。提示词的版本化与模型适配将提示词与模型解耦但意识到不同模型对提示词的“敏感度”和“理解力”不同。在切换模型时需要有一个“提示词适配”阶段用小批量任务测试并微调提示词。可以将针对不同模型优化的提示词版本保存在配置管理中。混合模型策略不必所有智能体都用最强大、最贵的模型。可以将任务分类需要创造性和深度思考的“写手”、“战略家”用强模型如GPT-4而格式检查、简单分类等“体力活”智能体可以用成本更低的模型如GPT-3.5-Turbo甚至小型开源模型。在控制器层面进行路由实现成本与性能的最优平衡。6. 进阶应用场景与未来展望council-self-improving的范式打开了一扇新的大门。它的应用远不止于写作任何需要多步骤决策、多角度评估、且追求持续优化的场景都是它的用武之地。场景一自主代码开发与调试构建一个由“产品经理”、“系统架构师”、“后端开发”、“前端开发”、“测试工程师”和“代码评审员”智能体组成的理事会。给定一个需求描述如“创建一个用户登录API”理事会可以协作产出技术方案、接口定义、实现代码、单元测试并自我评审。自我改进循环可以学习哪些代码模式更少出Bug、哪些测试用例更有效从而不断提升代码生成质量。场景二智能数据分析与报告面对一份数据集理事会可以包含“数据清洗员”、“统计分析员”、“可视化专家”和“商业洞察顾问”。输入一个分析目标如“分析上半年销售下滑原因”智能体们协作完成数据预处理、多维度分析、图表生成和结论撰写。通过不断处理类似报告系统能学会如何选择更合适的统计方法、如何设计更直观的图表。场景三个性化学习与辅导为学生构建一个包含“知识点诊断师”、“习题推荐官”、“解题教练”和“进度评估师”的辅导理事会。系统通过与学生的互动答题、提问动态评估其知识薄弱点推荐学习路径和练习题。自我改进机制可以让系统从海量辅导互动中总结出针对不同错误类型最有效的讲解方式实现教学策略的个性化进化。面临的挑战与未来方向 当前这类系统的“改进”仍严重依赖于设计者设定的评估标准本质上是“目标函数”的优化。未来的关键突破点在于让系统能自主发现更优的评估维度甚至自主定义新的改进目标向更广义的“自主智能”迈进。此外如何确保自我改进过程的安全、可控、符合伦理避免产生有害或偏见的优化策略将是伴随其发展始终的核心议题。对于开发者而言现在深入理解和实践这一框架正是在为驾驭下一代更自主、更协作的AI应用积累宝贵的第一手经验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2560554.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…