文章介绍了大模型智能体的概念、工作原理和实现方法。涵盖PEAS模型、Agent Loop、提示工程等基础概念,对比智能体与传统工作流的区别,详解Temperature、Top-k与Top-p等参数调优技术,并系统阐述ReAct、Plan-Solve和Reflection三种核心架构,为构建高效智能体提供全面指导。
1、 智能体基础:理解Agent的工作原理
1.1 任务环境分析:PEAS模型
想要理解智能体的运作,必须先了解任务环境。在人工智能领域,通常用PEAS模型来描述一个任务环境,即:
性能度量(Performance):评估智能体成功与否的标准
环境(Environment):智能体运作的场景与条件
执行器(Actuators):智能体影响环境的方式
传感器(Sensors):智能体获取环境信息的渠道
维度 智能旅行助手的核心规约 P (Performance 性能度量) 它干得好不好?看是否省钱、省时、用户是否满意。 E (Environment 环境) 它在哪运行?航司票务系统、酒店API、用户的日历。 A (Actuators 执行器) 它能做什么?屏幕显示建议、发送预订请求。 S (Sensors 传感器) 它能看到什么?用户的语音输入、API返回的余票数据。
1.2 智能体循环:智能体的心脏—Agent Loop
智能体通过一个持续的循环与环境进行交互,这个核心机制被称为智能体循环(Agent Loop)。在这个循环中,智能体接收环境信息,进行内部推理,然后执行动作,再观察结果,如此反复,直到达成目标。
1.3 提示工程:驱动LLM的关键
驱动真实LLM(大型语言模型简称:LLM,英文:Large Language Model)的关键在于提示工程(Prompt Engineering)。我们需要设计一个"指令模板",告诉LLM它应该扮演什么角色、拥有哪些工具、以及如何格式化它的思考和行动。这是智能体的"说明书",将作为system_prompt传递给LLM。
提示工程是一种用于控制语言模型输出的技术。
涉及仔细设计输入或“提示”来引导模型的响应。目标是生成特定类型的输出,或将模型引导至特定主题或风格的响应。
尽管 LLM 可以生成令人印象深刻且类似人类的文本,但本质上只是模式匹配机器。不像人类那样理解所生成的内容。因此,提示的措辞对输出有着显著的影响。
例如,一个旅行助手智能体的系统提示可能是:
AGENT_SYSTEM_PROMPT = """你是一个智能旅行助手。你的任务是分析用户的请求,并使用可用工具一步步地解决问题。 # 可用工具: - `get_weather(city: str)`: 查询指定城市的实时天气。 - `get_attraction(city: str, weather: str)`: 根据城市和天气搜索推荐的旅游景点。 # 行动格式: 你的回答必须严格遵循以下格式。首先是你的思考过程,然后是你要执行的具体行动。 Thought: [这里是你的思考过程和下一步计划] Action: [这里是你要调用的工具,格式为 function_name(arg_name="arg_value")] # 任务完成: 当你收集到足够的信息,能够回答用户的最终问题时,你必须在`Action:`字段后使用 `finish(answer="...")` 来输出最终答案。 请开始吧!"""感知 (Perception): 这是起点。智能体通过“传感器”(比如 API 监听器)接收信息。这不仅包括用户的“帮我订票”指令,还包括上一步操作后的反馈(比如“订票失败,余额不足”)。
思考 (Thought): 这是大模型的主场。LLM 拿到感知到的信息,开始推理:
- 规划 (Planning):把“去旅行”拆解为“查天气”、“订机票”、“订酒店”等子任务。
- 工具选择 (Tool Selection):现在的子任务是“查天气”,那我就从工具箱里选
get_weather这个工具。
行动 (Action): 决策完毕,智能体通过“执行器”挥动双手——真正地调用代码、发送网络请求,试图去改变环境的状态。
观察 (Observation): 行动之后,环境会给出一个反馈(新的观察)。这个反馈再次进入感知系统,开启下一轮循环。
2、智能体 vs 传统工作流:本质区别
2.1 工作流(Workflow)模式
工作流是一种传统的自动化范式,核心是对一系列任务或步骤进行预先定义的、结构化的编排。本质上是一个精确的、静态的流程图,规定了在何种条件下、以何种顺序执行哪些操作。
2.2 智能体(Agent)模式
基于大语言模型的智能体是一个具备自主性的、以目标为导向的系统。不仅仅执行预设指令,而是能够在一定程度上理解环境、进行推理、制定计划,并动态地采取行动以达成最终目标。LLM在其中扮演着"大脑"的角色。这种基于实时信息进行动态推理和决策的能力,正是Agent的核心价值所在。
3、 模型参数调优:提升Agent性能的关键
3.1 温度(Temperature)参数
Temperature这类的可配置参数,其本质是通过调整模型对"概率分布"的采样策略,让输出匹配具体场景需求,配置合适的参数可以提升Agent在特定场景的性能。
温度参数是模型参数调优中的核心控制项,主要用于调节生成文本的随机性和创造性
核心作用:
(1)控制随机性与创造性
- 低温(0.2-0.5):输出更确定,选择概率最高的词,适合事实性任务(如代码生成、法律合同)。
- 中温(0.5-0.8):平衡创造性与准确性,适用于技术文档、学术论文
- 高温(0.8-2.0):鼓励创新和多样性,适合创意写作、头脑风暴。
(2)数学原理:
通过调整Softmax函数的温度参数T,改变概率分布的尖锐度**。**
公式为:
T值越大,分布越平滑;T值越小,分布越尖锐。
应用场景:
- 事实性场景:医疗诊断、财务报告、代码生成,需高度准确性和连贯性。
- 平衡场景:学术论文、用户指南,需兼顾准确性与可读性。
- 创意场景:诗歌创作、广告文案、品牌故事,需多样性和创新性。
3.2 Top-k与Top-p采样
Top-k:将所有token按概率从高到低排序,取排名前k个的token组成"候选集",随后对筛选出的k个token的概率进行"归一化"
Top-p:将所有token按概率从高到低排序,从排序后的第一个token开始,逐步累加概率,直到累积和首次达到或超过阈值p。
在人工智能领域,尤其是自然语言处理(NLP)和大语言模型相关场景中,“token”(标记)是一个非常重要的概念。
基本定义:
Token是文本处理中的基本单位。在对文本进行处理时,不能直接将原始的文本字符序列输入到模型中,而是需要将文本分割成一个个较小的单元,这些单元就是Token。这个将文本分割成Token的过程被称为分词(Tokenization) 。
Token的表现形式单词:
最直观的Token划分方式就是将每个单词作为一个Token。例如,对于句子 “I love natural language processing”,按照单词进行分词后,每个单词 “I”、“love”、“natural”、“language”、“processing” 都是一个Token。
子词:
在很多情况下,将单词作为Token可能会导致词表过大,并且无法处理未登录词(在训练数据中未出现过的词)。因此,现在很多系统采用子词(Sub - word)作为Token。例如,“unhappiness” 可能会被拆分为 “un”、“happy” 和 “ness” 这几个子词作为Token。
字符:
在某些特殊场景下,也可以将每个字符作为一个Token。比如在处理一些代码、密码等文本时,按字符划分Token可能更合适。
Token在模型中的作用输入表示:
Token是模型接收文本输入的基本形式。文本数据经过分词得到Token序列后,每个Token会被映射为一个向量(通过词嵌入等技术),这些向量作为模型的输入,让模型能够理解和处理文本信息。
计算和处理:
模型在处理文本时,是以Token为单位进行计算的。例如,在Transformer架构的模型中,注意力机制会对输入的Token序列进行处理,学习Token之间的关系和上下文信息。
输出结果:
模型生成文本时,也是以Token为单位输出的。模型会预测下一个可能出现的Token,将这些Token依次组合起来就形成了最终的输出文本。
3.3 参数协同工作机制
在文本生成中,当同时设置Top-p、Top-k和温度系数时,这些参数会按照分层过滤的方式协同工作,其优先级顺序为:温度调整→Top-k→Top-p。温度调整整体分布的陡峭程度,Top-k会先保留概率最高的k个候选,然后Top-p会从Top-k的结果中选取累积概率≥p的最小集合作为最终的候选集。
4、 核心智能体架构与实现
4.1 ReAct智能体
ReAct是一种将推理(Reasoning)与行动(Action)相结合的智能体架构。
核心思想:
让智能体在思考过程中明确表达推理步骤,基于推理选择适当的行动,再根据行动结果更新认知,形成一个持续的循环。
# ReAct提示词模板REACT_PROMPT_TEMPLATE = """请注意,你是一个有能力调用外部工具的智能助手。 可用工具如下: {tools} 请严格按照以下格式进行回应: Thought: 你的思考过程,用于分析问题、拆解任务和规划下一步行动。 Action: 你决定采取的行动,必须是以下格式之一: - `{tool_name}[{tool_input}]`:调用一个可用工具。 - `Finish[最终答案]`:当你认为已经获得最终答案时。 - 当你收集到足够的信息,能够回答用户的最终问题时,你必须在Action:字段后使用 finish(answer="...") 来输出最终答案。 现在,请开始解决以下问题:Question: {question} History: {history} """正是通过这种Thought -> Action -> Observation的严谨循环,智能体将 LLM 强大的语言推理能力,与外部世界的真实工具完美拼接,从一个“只会说话的机器”,进化成了“能解决问题的伙伴”。
这个过程形成了一个强大的协同效应:推理使得行动更具目的性,而行动则为推理提供了事实依据。
让我们再举一个例子:
一个成熟的智能体,它的每一次输出通常包含两个关键字段:
1. Thought (思考)
这是决策的快照。智能体用自然语言解释当下的局势。
例如:
“用户想知道北京的天气。我无法直接回答,我需要调用外部工具来获取实时数据。”
2. Action (行动)
这是给机器看的具体操作,通常是函数调用。
get_weather("北京")
当这一套组合拳打出去后,外部的解析器会执行函数,并将结果(比如一串复杂的 JSON 数据)翻译成智能体能听懂的人话,也就是Observation。
让我们再看一段智能体在后台的真实“思考录”:
// 第一轮循环Thought: 用户问北京天气,我得查查。Action: get_weather("北京")// 环境执行代码,返回数据,形成观察Observation: 北京当前晴,25摄氏度,微风。// 第二轮循环Thought: 我已经拿到天气数据了,现在可以回答用户了。Action: response("北京现在是晴天,气温25度,很舒服哦!")4.2 Plan-and-Solve智能体
Plan-and-Solve将整个流程解耦为两个核心阶段:
- 规划阶段(Planning Phase):首先,智能体会接收用户的完整问题。它的第一个任务不是直接去解决问题或调用工具,而是将问题分解,并制定出一个清晰、分步骤的行动计划。
- 执行阶段(Solving Phase):在获得完整的计划后,智能体进入执行阶段。严格按照计划中的步骤,逐一执行。每一步的执行都可能是一次独立的LLM调用,或者是对上一步结果的加工处理,直到计划中的所有步骤都完成,最终得出答案。
# 规划器提示词模板PLANNER_PROMPT_TEMPLATE = """你是一个顶级的AI规划专家。你的任务是将用户提出的复杂问题分解成一个由多个简单步骤组成的行动计划。 请确保计划中的每个步骤都是一个独立的、可执行的子任务,并且严格按照逻辑顺序排列。 你的输出必须是一个Python列表,其中每个元素都是一个描述子任务的字符串。 问题: {question} 请严格按照以下格式输出你的计划,`python与`作为前后缀是必要的: `python ["步骤1", "步骤2", "步骤3", ...] ` """# 执行器提示词模板EXECUTOR_PROMPT_TEMPLATE = """你是一位顶级的AI执行专家。你的任务是严格按照给定的计划,一步步地解决问题。 你将收到原始问题、完整的计划、以及到目前为止已经完成的步骤和结果。 请你专注于解决"当前步骤",并仅输出该步骤的最终答案,不要输出任何额外的解释或对话。 # 原始问题: {question} # 完整计划: {plan} # 历史步骤与结果: {history} # 当前步骤: {current_step} 请仅输出针对"当前步骤"的回答: """4.3 Reflection智能体
Reflection核心思想:
为智能体引入一种事后(post-hoc)的自我校正循环,使其能够像人类一样,审视自己的工作,发现不足,并进行迭代优化。为智能体提供了一个内部纠错回路,使其不再完全依赖于外部工具的反馈(ReAct的Observation),从而能够修正更高层次的逻辑和策略错误。
Reflection机制的优势:
- 将一次性的任务执行转变为持续优化的过程,显著提升复杂任务的最终成功率和答案质量;
- 支持多模态反思,可以反思和修正文本以外的输出(如代码、图像等);
# 初始执行提示词INITIAL_PROMPT_TEMPLATE = """你是一位资深的Python程序员。请根据以下要求,编写一个Python函数。 你的代码必须包含完整的函数签名、文档字符串,并遵循PEP 8编码规范。 要求: {task} 请直接输出代码,不要包含任何额外的解释。 """# 反思提示词REFLECT_PROMPT_TEMPLATE = """你是一位极其严格的代码评审专家和资深算法工程师,对代码的性能有极致的要求。 你的任务是审查以下Python代码,并专注于找出其在<strong>算法效率</strong>上的主要瓶颈。 # 原始任务: {task}# 待审查的代码: `python {code} `请分析该代码的时间复杂度,并思考是否存在一种<strong>算法上更优</strong>的解决方案来显著提升性能。 如果存在,请清晰地指出当前算法的不足,并提出具体的、可行的改进算法建议(例如,使用筛法替代试除法)。 如果代码在算法层面已经达到最优,才能回答"无需改进"。 请直接输出你的反馈,不要包含任何额外的解释。 """# 优化提示词REFINE_PROMPT_TEMPLATE = """你是一位资深的Python程序员。你正在根据一位代码评审专家的反馈来优化你的代码。 # 原始任务: {task} # 你上一轮尝试的代码: ` {last_code_attempt} `评审员的反馈: {feedback} 请根据评审员的反馈,生成一个优化后的新版本代码。 你的代码必须包含完整的函数签名、文档字符串,并遵循PEP 8编码规范。 请直接输出优化后的代码,不要包含任何额外的解释。 """如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
为什么要学习大模型?
我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着AI技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。
大模型入门到实战全套学习大礼包
1、大模型系统化学习路线
作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!
2、大模型学习书籍&文档
学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。
3、AI大模型最新行业报告
2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
4、大模型项目实战&配套源码
学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。
5、大模型大厂面试真题
面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
适用人群
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。