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

AI Agent-基础认知与架构解析

定义

        AI Agent 可以理解为一种具备感知、决策和行动能力的智能实体,能够在复杂的环境中自主运行,并根据环境变化动态调整自身行为,以实现特定目标。与传统的人工智能程序相比,AI Agent 具有更强的自主性、交互性和适应性。它不仅能够被动地接收用户指令并执行,还能主动感知环境信息,通过复杂的决策机制制定行动策略,甚至与其他 Agent 进行协作,从而完成更为复杂的任务。​

AI 交互新范式

        从交互层面来看,AI Agent 开创了全新的人机交互范式。AI Agent 的交互革命性体现在以下层面:

(1)从“工具链”到“任务流”

  • 传统AI:用户需手动拆分任务步骤(如先搜索资料→再总结→最后生成报告),每一步依赖独立工具。

  • AI Agent:用户仅需描述目标(如“写一份市场分析报告”),Agent自动分解为检索数据、分析趋势、生成图表、调整格式等子任务,并自主调用API工具完成全流程。

(2)从“确定性交互”到“动态交互”

  • 传统AI:输入与输出严格对应(如问答匹配),错误需用户显式修正。

  • AI Agent:支持模糊目标输入(如“帮我策划一个浪漫的约会”),通过追问、假设验证(“是否需要考虑预算?”)动态明确需求,并在执行中根据反馈调整(如餐厅满座后自动替换备选)。

(3)从“信息传递”到“认知协作”

  • 传统AI:本质是信息搬运工(如搜索引擎返回链接列表)。

  • AI Agent:具备认知增强能力

    • 整合多源信息(如结合用户邮件、日历、天气数据安排会议);

    • 提供专业建议(如根据投资偏好推荐理财组合);

    • 承担责任边界(如自主判断任务可行性并提前预警风险)。

  • 新旧范式对比

维度

传统交互AI

AI Agent 交互新范式

目标

生成符合语境的回复(如回答问题)

完成复杂任务(如规划行程、编写代码)

主动性

被动响应指令

主动分解任务、调用工具、动态调整策略

交互深度

单轮或短对话

多轮协作(需记忆上下文、长期目标)

依赖能力

语言理解与生成

感知-规划-行动-反思全链路能力

用户角色

指令发布者

任务协作者(可模糊需求、动态反馈)

LLM-based Agent

        LLM-based Agent(基于大语言模型的智能代理) 是依托大语言模型(Large Language Model, LLM)为核心构建的AI Agent。与传统Agent相比,它通过LLM强大的语言理解、知识存储、逻辑推理和生成能力,显著提升了复杂任务的泛化处理与自然交互水平,成为当前AI领域的前沿方向之一。

        大语言模型,如 GPT 系列、LLaMA、文心一言等,通过在海量文本数据上进行无监督学习,掌握了语言的语法规则、语义理解和知识表达能力。但单纯的大语言模型存在明显局限性:它们虽能生成连贯文本,却缺乏主动解决复杂问题的能力 —— 无法像人类一样,针对具体任务制定策略、调用工具并持续优化解决方案。这一能力缺口,正是 LLM-based Agent 的关键发展方向。

        LLM-based Agent 以大语言模型为基座,将自然语言作为交互与任务理解的核心媒介。通过精心设计的 Agent 框架,赋予 LLM 三大核心能力:规划思考能力,使其能将复杂任务拆解为可执行步骤;工具调用能力,支持其灵活运用外部数据源、计算接口等资源;记忆管理能力,帮助智能体记录任务上下文、用户偏好及历史交互信息。三者协同运作,让 LLM-based Agent 进化为能够自主理解问题、规划决策路径,并高效执行复杂任务的智能体。​

        从设计初衷来看,LLM-based Agent 旨在攻克传统语言模型的能力边界。当任务涉及多步骤流程、需实时调用外部知识(如天气查询、数据分析),或依赖动态决策时,LLM-based Agent 通过框架赋能,将大语言模型的 “知识储备” 转化为实际行动能力,为智能交互与自动化任务执行提供更具落地性的解决方案。

发展历程

        AI Agent 的发展源远流长,理论基础构建于 20 世纪。1950 年代,阿兰・图灵提出 “图灵测试”,率先将智能体概念引入人工智能领域,开启了机器模拟人类智能行为的探讨。直至 1995 年,Wooldridge 和 Jennings 明确将 AI Agent 定义为 “在环境中自主行动以实现目标的计算机系统”,并赋予其自主性、反应性、社会能力和主动性四大关键属性,至此,AI Agent 有了清晰的理论轮廓。​

        2000 年至 2010 年代,AI Agent 进入技术演进与分类细化阶段。罗素等人在《人工智能:现代方法》中,将其分为五类:

  • 简单反射型,如自动避障机器人;

  • 基于模型型,依靠环境模型更新状态;

  • 基于目标型,像路径规划系统;

  • 基于实用程序型,用于优化多目标决策;

  • 学习型,例如 AlphaGo 借助强化学习不断优化策略。

        这些分类为后续研究与应用奠定了基础。​

        2022 年后,大语言模型(LLM)的崛起成为 AI Agent 发展的关键转折点。以 GPT 系列为代表的 LLM,凭借在海量文本数据中学习到的强大语言理解与推理能力,为 Agent 注入了更智能的 “大脑”。当用户提出复杂任务时,LLM 能够快速解析语义,提炼关键信息,为后续决策提供坚实基础。​

        Lilian Weng 提出的 “LLM + 记忆 + 任务规划 + 工具使用” 四件套架构,进一步完善了 AI Agent 的运作体系。记忆模块可记录交互历史与任务上下文,避免重复劳动;任务规划模块将复杂任务拆解为可执行步骤;工具使用模块则赋予 Agent 调用搜索引擎、计算器等外部工具的能力,让其从 “纸上谈兵” 走向 “实战操作”,该架构也因此成为现代 AI Agent 的标准范式。​

        在此背景下,AutoGPT 等开源项目应运而生。它们以 LLM 为核心,整合多模块能力,实现从任务理解到执行的端到端闭环,例如自动编程、数据分析等,推动 Agent 真正从理论构想迈向实际应用。​

分类

单代理

        单代理 AI 凭借其能够理解人类自然语言命令并执行日常任务的特性,已迅速成为用户生活中的得力助手,具有极高的实用价值。从应用层次来看,它涵盖了任务导向、创新导向和生命周期导向三个维度。​

  • 任务导向:在任务导向层面,单代理聚焦于协助人类处理日常基本事务,这要求它具备精准的指令理解、合理的任务分解以及流畅的环境交互能力。在模拟网络环境中,用户只需下达 “帮我查找下季度旅游热门目的地的攻略,并整理成文档” 的指令,单代理便能迅速调用搜索引擎、分析筛选信息,将相关攻略整理成条理清晰的文档呈现给用户。在模拟生活场景里,如智能家居系统中的单代理,能依据用户 “调节客厅温度至 25 度,打开空气净化器” 的语音指令,精准控制各类智能家电,营造舒适生活环境,极大地提升了生活便利性与效率。​

  • 创新导向:创新导向的单代理应用为前沿科学研究注入新活力。尽管专业领域的复杂性以及训练数据的匮乏带来挑战,但已在诸多领域取得突破。在化学领域,单代理可依据物质特性和反应原理,自主设计全新的化学反应路径,加速新型材料的研发进程;计算机科学中,它能辅助程序员进行复杂算法的优化与代码漏洞检测,提升软件开发的质量与效率,展现出在未知领域自主探索的强大潜力。​

  • 生命周期导向:以《我的世界》游戏为代表的生命周期导向部署,让单代理置身于开放世界环境中,不断探索、学习并掌握新技能,以实现长久生存。游戏里复杂多变的环境如同现实世界的微缩景观,单代理需应对资源采集、怪物防御、建筑搭建等多种任务。它在不断尝试与失败中积累经验,优化决策策略,例如学会依据不同地形选择最佳资源采集点,或是在遭遇怪物攻击时迅速制定防御与反击计划,这种在动态环境中的持续进化能力,为未来现实场景中的应用奠定了坚实基础。

多代理

        多代理场景下,智能体之间通过合作或对抗的交互形式,展现出更为复杂且强大的智能行为。

  • 合作型互动:合作型互动是目前应用最广泛的多代理模式,能显著提升任务效率、优化决策质量。其中,无序合作时,各代理自由表达观点,就像一场创意头脑风暴会议,不同代理针对 “如何提升某产品市场占有率” 的问题,从市场分析、产品优化、营销策略等不同角度畅所欲言,各种想法相互碰撞,激发创新解决方案。而有序合作则如同工厂流水线,各代理遵循既定规则依次执行任务,在智能物流配送系统中,有的代理负责订单接收与信息整理,有的负责车辆调度,有的负责路线规划,各环节紧密衔接,确保货物高效配送。​

  • 对抗型互动:在对抗型互动中,智能代理以针锋相对的方式展开交互。在商业谈判模拟场景中,不同代理分别代表买卖双方,通过激烈的价格谈判、条款博弈,不断调整自身策略,抛弃不合理信念,反思推理过程,从而使整个系统的响应质量得到提升,决策更加精准、合理,实现智能的进化与迭代。

人机交互

        人机交互场景构建起人类与智能代理协同工作的桥梁,目前主要有 Instructor - Executor 模式和 Equal Partnership 模式。

  • Instructor - Executor 模式:Instructor - Executor 模式下,人类扮演指导者角色,提供指令与反馈,代理作为执行者依此调整优化。在医疗领域,医生向医疗辅助智能代理下达 “分析患者近期病历数据,给出初步诊断建议” 的指令,代理执行任务后,医生根据结果提出反馈意见,如 “补充考虑患者家族病史因素”,代理据此进一步完善诊断分析,这种模式在教育、商业等领域同样广泛应用,助力各行业提升工作质量与效率。​

  • Equal Partnership 模式:随着技术发展,代理在与人类交流中逐渐展现出共情能力,以平等身份参与任务执行。在家庭陪伴场景中,智能代理能敏锐感知人类情绪变化,当主人疲惫时,它送上温馨问候并播放舒缓音乐;在共同完成家庭装修项目时,与主人平等商讨设计方案,依据主人喜好与空间实际情况提出专业建议,这种模式让智能代理真正融入人类生活,成为未来社会不可或缺的一部分。​

        AI Agent 的单代理、多代理以及人机交互这三种类型,从不同维度拓展了人工智能的应用边界,无论是服务个人生活、推动科学创新,还是促进人机深度协作,都展现出巨大潜力,随着技术的持续进步,它们将在更多领域绽放光彩,深刻改变人类生活与社会发展格局。

基础架构

        

        这张图展示了 AI Agent 的基础架构,主要包含以下四个模块:

Planning

        planning(规划)模块作为决策核心,围绕任务分析与策略制定展开。

  • 功能与作用:负责对任务进行全面分析,通过反思、自我评估、思维链推导和子目标分解等过程,将复杂任务拆解为具体、可执行的子任务,并确定行动顺序与方法。同时,持续思考行动合理性,动态优化策略,如将撰写报告拆解为资料收集、大纲拟定等步骤,保障任务高效推进。

  • 计划类型

    • 不依赖反馈的计划:制定过程中不参考任务执行后的反馈,常用策略包括单路径推理,按级联方式逐步生成计划;多路径推理,生成多个备选计划路径;还可借助外部规划器快速搜索最优计划,适用于任务环境相对确定的场景。

    • 基于反馈的计划:依据任务执行后的反馈动态调整计划,反馈来源涵盖任务结果客观数据、人的主观评价、其他 Agent 意见或辅助模型评估(类似强化学习中的 Reward Modeling),更适合长期、复杂且环境多变的规划任务 。

Memory

        memory(记忆)模块是其实现智能交互与任务处理的关键支撑。

  • 核心作用:避免重复劳动,如在连续处理相似任务时,Agent 可复用记忆中的解决方案;助力学习与经验积累,使其能从历史交互和任务执行中总结规律,不断优化自身能力;为决策提供依据,在面对新任务或复杂情况时,Agent 通过检索记忆中的相关信息辅助决策,例如虚拟客服参考客户历史咨询记录,为用户提供更个性化、精准的服务 。

  • 记忆类型与功能:分为短期记忆和长期记忆。

    • 短期记忆聚焦当前任务,实时存储用户最新指令、中间计算结果等即时信息,确保 Agent 在处理任务时能够快速调用最近产生的数据;

    • 长期记忆则作为知识宝库,储存过往任务解决方案、通用知识等持久性内容,为 Agent 提供经验和知识储备。

Tools

        Tools(工具)模块宛如智能体伸向外部世界的触手,是实现复杂任务处理的关键组件,承担着连接 Agent 内部智能决策与外部资源利用的重任。

  • 核心作用:Tools 模块的核心作用在于极大地扩展了 Agent 的能力边界 。Agent 自身虽具备一定的智能决策和基础处理能力,但面对复杂多样的现实任务,仅靠自身往往力不从心。通过调用这些功能各异的工具,Agent 得以完成特定功能,将原本棘手的复杂任务各个击破 。

  • 工具类型

    • 对话系统与 NLP 工具:负责管理对话流程,实现意图识别、情感分析等自然语言交互任务,依托预训练语言模型(如 GPT-4)、意图识别引擎、对话状态跟踪等技术,提升人机交互的流畅性与智能性。

    • 领域专用工具:领域专用工具是 AI Agent 体系中面向金融、医疗等垂直业务领域的专业化功能模块,这类工具深度融合行业特性,以行业知识图谱为知识底座,系统梳理领域内实体关系与业务逻辑;依托领域预训练模型,针对性强化对专业术语、业务流程的理解与处理能力;同时嵌入合规性校验模块,确保业务操作全程符合行业监管规范与数据安全标准。

    • API 与第三方服务集成工具:作为连接外部系统和服务的枢纽,用于执行数据查询、支付处理、云服务配置等操作。例如当下热门的 MCP,通过制定规范,为 Agent 调用外部工具提供统一桥梁,助力大模型自主调用适配的 API 接口。

    • 数据与知识库工具:专注于结构化数据检索、知识增强与动态更新,常见类型包括向量数据库、图数据库以及实时数据流处理工具,为 AI Agent 提供知识储备与数据支持。

    • 自动化与脚本工具:实现代码生成、流程自动化或物理设备控制,如代码解释器、GUI 自动化框架、机器人控制协议等,将复杂任务转化为可执行的自动化操作 。

    • 多模态交互工具:支持文本、语音、图像等多模态输入输出,通过视觉解析模型(如 BLIP-v2)、语音识别引擎、多模态大模型等技术,强化 AI Agent 对环境的感知与交互能力。

Action

        action(行动)模块是连接决策与现实的桥梁,将抽象规划转化为具体实践。

  • 核心作用:作为任务执行的 “最后一公里”,将规划模块制定的策略转化为实际操作,通过调用工具模块的各类工具或直接输出结果,实现任务目标,确保 AI Agent 的决策能够有效作用于外部环境 。

  • 行动考量要素:执行任务时,需综合考虑行动目标(完成任务、交互、环境探索等)、生成方式(基于过往记忆经验查询,或遵循预设计划)、应用范围(借助 API、知识库等外部工具拓展,同时发挥 LLM 规划、对话、理解常识等内在能力),以及可能产生的影响。

AI Agent 决策闭环

感知

        感知环节作为智能体的 “感官”,通过摄像头、麦克风等传感器或数据接口,将外界环境中的图像、声音、文本等原始数据转化为可处理的信息。计算机视觉技术识别图像中的物体,自然语言处理解析用户输入的语义,最终构建出环境状态表征,为后续决策提供基础。例如,自动驾驶汽车通过激光雷达感知道路上的车辆、行人与障碍物,形成周围环境的 3D 模型,这便是感知环节的具象化体现。

规划

        规划环节则如同智能体的 “大脑”,基于感知信息与预设目标,进行策略的制定与推演。面对导航到特定地点的任务,智能体通过 A * 算法等优化工具规划最优路径;在对话场景中,依据用户意图预测下一步需求,生成合理回复。符号推理适用于规则明确的结构化环境,如国际象棋博弈;而强化学习则在动态、不确定的场景中大放异彩,让智能体在试错中不断优化策略。规划环节输出的行动指令,是连接虚拟决策与现实执行的桥梁。

行动

        行动环节作为决策闭环的 “肢体”,负责将规划指令转化为实际操作。机械臂根据控制信号抓取物体,智能音箱通过扬声器播放语音回复,这些都是行动环节的具体呈现。在自动驾驶场景中,车辆的转向、加速、刹车等操作必须具备极高的确定性与实时性,以应对瞬息万变的路况,确保安全行驶。        

观察

        观察环节作为闭环的 “反馈回路”,承担着收集行动结果、检测环境变化的重要职责。机器人通过观察是否成功避开障碍物、是否抵达目标位置,判断行动的有效性;对话系统通过用户的后续提问或满意度反馈,分析回复是否准确。误差分析在此过程中尤为关键,它将实际结果与预期目标进行对比,生成奖励或错误信号,为智能体的学习与优化提供依据。

循环

        AI Agent 决策闭环的核心价值在于赋予智能体强大的适应性与学习能力。通过不断循环,智能体能够在试错中积累经验,优化决策策略,实现从 “被动执行” 到 “主动进化” 的跨越。在非结构化的现实环境中,这种闭环机制让 AI 摆脱对预设模型的依赖,根据实时反馈灵活调整行为,真正展现出智能的本质。​

        随着技术的不断演进,AI Agent 的决策闭环将在更多领域发挥关键作用。从智能医疗的精准诊断,到智能家居的个性化服务,这一闭环机制正推动人工智能从理论走向实践,为人类社会带来更加智能、高效的生活方式。

智能家居场景模拟AI Agent 决策闭环

  • 任务:根据家庭成员的需求调节室内环境。

步骤

家庭成员具体描述

智能家具展示内容

感知 (Perception)

我感觉有点冷,能不能把温度调高一些?

智能家居系统通过语音识别和情感分析感知到用户觉得房间温度太低,需要提高温度。

规划 (Planning)

\

系统根据用户的需求,规划出下一步的行动,决定如何调节房间温度。系统可能会制定以下计划:

     1. 检查当前的室内温度。

     2. 根据用户的偏好和当前温度决定升高几度合适。

     3. 调整温度设置,并告知用户。

行动 (Action)

\

系统执行计划的行动,首先检查当前温度,例如发现室温是20°C

根据用户的偏好,将温度调高到23°C.

并通过语音助手反馈给用户:我已经将温度调高到23°C,请您稍等,温度将逐渐上升。

观察 (Observation)

现在温度刚刚好!

系统观察房间温度的变化,以及用户的反馈。如果用户在几分钟后再次说现在温度刚刚好,系统会感知到环境调节成功。

如果用户还觉得冷,系统可能会调整计划,进一步调高温度。

  • 循环: 在每个阶段,智能家居系统都可能根据环境变化和用户反馈调整操作。例如,如果调高温度后用户依然觉得冷,系统会重新规划,进一步调整温度设置。通过这一系列的感知、规划、行动和观察,智能家居系统能够动态响应家庭成员的需求,不断调整室内环境,直到用户感觉舒适为止。

推理机制

Chain-of-Thought

        Chain-of-Thought(COT 思维链)强调在推理过程中引入一系列中间推理步骤,让 AI Agent 将复杂问题拆解为多个简单的子问题,逐步推导得出最终结论。它通过生成类似于人类思考过程的 “思维链条”,展示从初始问题到答案的完整推理路径。

Tree-of-Thought 

        Tree-of-Thought(思维树)基于树状结构,让 AI Agent 从多个不同的角度或路径对问题进行探索和推理。在面对问题时,AI Agent 会生成多个可能的推理分支,如同树的枝干,每个分支代表一种解决问题的思路。然后,对这些分支进行评估,选择有潜力的分支继续深入探索,舍弃价值较低的分支,通过不断地扩展和修剪,最终找到最优解。

ReAct

        ReAct(Reasoning - Acting)将推理与行动紧密结合,以交替循环的方式推进问题解决。在该机制中,AI Agent 首先通过推理生成对问题的理解、分析以及下一步行动的规划,然后依据规划执行相应的行动,在行动完成后,再根据获得的反馈信息进行新一轮推理,不断调整策略。

Plan-and-Execute

        Plan-and-Execute(规划与执行)机制将推理过程分为规划和执行两个阶段。在规划阶段,AI Agent 根据任务目标和已知信息,制定详细的行动规划,明确完成任务的步骤和策略;在执行阶段,则按照规划好的步骤逐一执行操作,完成任务。

参考文献

【2025版】最新深度全面拆解:何为AI Agent?零基础入门到精通,收藏这篇就够了-CSDN博客

相关文章:

AI Agent-基础认知与架构解析

定义 AI Agent 可以理解为一种具备感知、决策和行动能力的智能实体,能够在复杂的环境中自主运行,并根据环境变化动态调整自身行为,以实现特定目标。与传统的人工智能程序相比,AI Agent 具有更强的自主性、交互性和适应性。它不仅能…...

privateGPT和RAGflow之间的区别

PrivateGPT和RAGFlow都是基于RAG(检索增强生成)技术的开源项目,但它们在设计目标、技术架构和应用场景上有显著差异。以下是两者的详细对比分析: 1. 核心定位与设计目标 PrivateGPT 隐私优先:专注于完全离线的私有化部署,确保用户数据不离开本地环境,适合对隐私要求极高…...

C语言--字符函数

C语言--字符函数 一、字符函数1.1 iscntrl1.2 isspace1.3 isdigit1.4 isxdigit1.5 islower1.6 isupper1.7 isalpha1.8 isalnum1.9 ispunct1.10 isgraph1.11 isprint 在编程的过程中,我们会经常处理字符,为了方便操作,C语言标准库中提供了一系…...

Android对工程中的String中文字符的整理

​ 本文主要介绍使用python快速整理工程中的中文字符,为app国际化提供便利。 1. 查找Android工程中的所有中文字符串(find_chinese.py) import os import re import argparsedef is_comment_line(line, file_ext):"""判断一行是否是注释:param lin…...

菜鸟之路Day30一一MySQL之DMLDQL

菜鸟之路Day30一一MySQL之DML&DQL 作者:blue 时间:2025.5.8 文章目录 菜鸟之路Day30一一MySQL之DML&DQL一.DML0.概述1.插入语句(insert)2.更新语句(update)3.删除语句(delete&#xf…...

集团云解决方案:集团企业IT基础架构的降本增效利器

在当今数字化飞速发展的时代,集团企业面临着诸多挑战,尤其是IT基础架构的管理和运营成本居高不下,效率却难以提升。别担心,集团云解决方案的出现为集团企业带来了全新的曙光,真正实现了降本增效! 一、集团…...

基 LabVIEW 的多轴电机控制系统

在工业自动化蓬勃发展的当下,多轴伺服电机控制系统的重要性与日俱增,广泛应用于众多领域。下面围绕基于 LabVIEW 开发的多轴伺服电机控制系统展开,详细阐述其应用情况。 一、应用领域与场景 在 3D 打印领域,该系统精确操控打印头…...

SD06_前后端分离项目部署流程(采用Nginx)

本文档详细描述了如何在Ubuntu 20.04服务器上从零开始部署Tlias前后端分离系统。Tlias系统由Spring Boot后端(tlias-web-management)和Vue前端(vue-tlias-management)组成。 目录 环境准备安装MySQL数据库部署后端项目部署前端项…...

【kubernetes】通过Sealos 命令行工具一键部署k8s集群

一、前言 1、sealos安装k8s集群官网:K8s > Quick-start > Deploy-kubernetes | Sealos Docs 2、本文安装的k8s版本为v1.28.9 3、以下是一些基本的安装要求: 每个集群节点应该有不同的主机名。主机名不要带下划线。所有节点的时间需要同步。需要…...

《Go小技巧易错点100例》第三十二篇

本期分享: 1.sync.Map的原理和使用方式 2.实现有序的Map sync.Map的原理和使用方式 sync.Map的底层结构是通过读写分离和无锁读设计实现高并发安全: 1)双存储结构: 包含原子化的 read(只读缓存,无锁快…...

怎么判断是不是公网IP?如何查看自己本地路由器是内网ip还是公网?

在网络世界中,IP 地址如同每台设备的 “门牌号”,起着至关重要的标识作用。而 IP 地址又分为公网 IP 和私网 IP,准确判断一个 IP 属于哪一类,对于网络管理、网络应用开发以及理解网络架构等都有着重要意义。接下来,我们…...

【上位机——MFC】单文档和多文档视图架构

单文档视图架构 特点&#xff1a;只能管理一个文档(只有一个文档类对象) #include <afxwin.h> #include "resource.h"//文档类 class CMyDoc :public CDocument {DECLARE_DYNCREATE(CMyDoc) //支持动态创建机制 }; IMPLEMENT_DYNCREATE(CMyDoc,CDocument) //…...

需求分析阶段测试工程师主要做哪些事情

在软件测试需求分析阶段&#xff0c;主要围绕确定测试范围、明确测试目标、细化测试内容等方面开展工作&#xff0c;为后续测试计划的制定、测试用例的设计以及测试执行提供清晰、准确的依据。以下是该阶段具体要做的事情&#xff1a; 1. 需求收集与整理 收集需求文档&#x…...

Web 实时通信技术:WebSocket 与 Server-Sent Events (SSE) 深入解析

一、WebSocket&#xff1a; &#xff08;一&#xff09;WebSocket 是什么&#xff1f; WebSocket 是一种网络通信协议&#xff0c;它提供了一种在单个 TCP 连接上进行全双工通信的方式。与传统的 HTTP 请求 - 响应模型不同&#xff0c;WebSocket 允许服务器和客户端在连接建立…...

项目模拟实现消息队列第二天

消息应答的模式 1.自动应答: 消费者把这个消息取走了&#xff0c;就算是应答了&#xff08;相当于没有应答) 2.手动应答: basicAck方法属于手动应答(消费者需要主动调用这个api进行应答) 小结 1.需要实现生产者,broker server&#xff0c;消费者这三个部分的 2.针对生产者和消费…...

5.Redission

5.1 前文锁问题 基于 setnx 实现的分布式锁存在下面的问题&#xff1a; 重入问题&#xff1a;重入问题是指 获得锁的线程可以再次进入到相同的锁的代码块中&#xff0c;可重入锁的意义在于防止死锁&#xff0c;比如 HashTable 这样的代码中&#xff0c;他的方法都是使用 sync…...

c#数据结构 线性表篇 非常用线性集合总结

本人能力有限,使用了一些Ai的结论,如有不足还请斧正 目录 1.HashSet <> Dictionary 2.SortedSet <>提供升序方法的List 3.ArrayList<>List 4.BitArray <> Bit[] array 5.StringCollection <>List 6.StringDictionary<>Dictionary 1…...

dify 部署后docker 配置文件修改

1&#xff1a;修改 复制 ./dify/docker/.env.example ./dify/docker/.env 添加一下内容 # 启用自定义模型 CUSTOM_MODEL_ENABLEDtrue# 将OLLAMA_API_BASE_URL 改为宿主机的物理ip OLLAMA_API_BASE_URLhttp://192.168.72.8:11434# vllm 的 OPENAI的兼容 API 地址 CUSTOM_MODE…...

数据结构——排序(万字解说)初阶数据结构完

目录 1.排序 2.实现常见的排序算法 2.1 直接插入排序 ​编辑 2.2 希尔排序 2.3 直接选择排序 2.4 堆排序 2.5 冒泡排序 2.6 快速排序 2.6.1 递归版本 2.6.1.1 hoare版本 2.6.1.2 挖坑法 2.6.1.3 lomuto前后指针 2.6.1.4 时间复杂度 2.6.2 非递归版本 2.7 归并排序…...

SQLite3介绍与常用语句汇总

SQLite3简介 SQLite3是一款轻量级的、基于文件的开源关系型数据库引擎&#xff0c;由 D. Richard Hipp 于 2000 年首次发布。它遵循 SQL 标准&#xff0c;但与传统的数据库系统不同&#xff0c;SQLite 并不运行在独立的服务器进程中&#xff0c;而是作为一个嵌入式数据库引擎直…...

快速入门深度学习系列(3)----神经网络

本文只针对图进行解释重要内容 这就是入门所需要掌握的大部分内容 对于不懂的名词或概念 你可以及时去查 对于层数 标在上面 对于该层的第几个元素 标在下面 输入层算作第0层 对于第一层的w b 参数 维度如下w:4*3 b:4*1 这个叫做神经元 比如对于第一层的神经元 这里说的很…...

在线工具源码_字典查询_汉语词典_成语查询_择吉黄历等255个工具数百万数据 养站神器,安装教程

在线工具源码_字典查询_汉语词典_成语查询_择吉黄历等255个工具数百万数据 养站神器&#xff0c;安装教程 资源宝分享&#xff1a;https://www.httple.net/154301.html 一次性打包涵盖200个常用工具&#xff01;无论是日常的图片处理、文件格式转换&#xff0c;还是实用的时间…...

ORB-SLAM3和VINS-MONO的对比

直接给总结&#xff0c;整体上orbslam3&#xff08;仅考虑带imu&#xff09;在初始化阶段是松耦合&#xff0c;localmap和全局地图优化是紧耦合。而vins mono则是全程紧耦合。然后两者最大的区别就在于vins mono其实没有对地图点进行优化&#xff0c;为了轻量化&#xff0c;它一…...

大数据处理利器:Hadoop 入门指南

一、Hadoop 是什么&#xff1f;—— 分布式计算的基石 在大数据时代&#xff0c;处理海量数据需要强大的技术支撑&#xff0c;Hadoop 应运而生。Apache Hadoop 是一个开源的分布式计算框架&#xff0c;致力于为大规模数据集提供可靠、可扩展的分布式处理能力。其核心设计理念是…...

Docker容器网络架构深度解析与技术实践指南——基于Linux内核特性的企业级容器网络实现

第1章 容器网络基础架构 1 Linux网络命名空间实现原理 1.1内核级隔离机制深度解析 1.1.1进程隔离的底层实现 通过clone()系统调用创建新进程时&#xff0c;设置CLONE_NEWNET标志位将触发内核执行以下操作&#xff1a; 内核源码示例&#xff08;linux-6.8.0/kernel/fork.c&a…...

基于Kubernetes的Apache Pulsar云原生架构解析与集群部署指南(下)

文章目录 k8s安装部署Pulsar集群前期准备版本要求 安装 Pulsar Helm chart管理pulsarClustersBrokersTopic k8s安装部署Pulsar集群 前期准备 版本要求 Kubernetes 集群&#xff0c;版本 1.14 或更高版本Helm v3&#xff08;3.0.2 或更高版本&#xff09;数据持久化&#xff…...

IoTDB端边云同步技术的五大常见场景及简便使用方式

IoTDB端边云同步技术提供了一种高效、可靠的数据同步解决方案&#xff0c;通过简洁灵活的SQL操作和直观的配置方式&#xff0c;实现了数据在端、边、云之间的无缝流动。以下是IoTDB端边云同步的五大常见场景及其简便的使用方式。 一、基础数据同步 基础数据同步包括全量数据同…...

Linux 阻塞和非阻塞 I/O 简明指南

目录 声明 1. 阻塞和非阻塞简介 2. 等待队列 2.1 等待队列头 2.2 等待队列项 2.3 将队列项添加/移除等待队列头 2.4 等待唤醒 2.5 等待事件 3. 轮询 3.1 select函数 3.2 poll函数 3.3 epoll函数 4. Linux 驱动下的 poll 操作函数 声明 本博客所记录的关于正点原子…...

libtorch配置指南(包含Windows和Linux)

libtorch libtorch是pytorch的c库&#xff0c;提供了用于深度学习和张量计算的功能&#xff0c;允许开发者在c环境中使用pytorch的核心功能。特别是当一些pt模型无法转换到ncnn、mnn等模型时&#xff08;ncnn、mnn可能还不支持某些层&#xff09;&#xff0c;可以在libtorch直…...

Java开发经验——阿里巴巴编码规范经验总结2

摘要 这篇文章是关于Java开发中阿里巴巴编码规范的经验总结。它强调了避免使用Apache BeanUtils进行属性复制&#xff0c;因为它效率低下且类型转换不安全。推荐使用Spring BeanUtils、Hutool BeanUtil、MapStruct或手动赋值等替代方案。文章还指出不应在视图模板中加入复杂逻…...