在人工智能领域,“智能体(Agent)” 并非新生词汇,但随着大语言模型(LLM)的爆发,它从学术概念走向了实用落地。其最权威的定义源自斯图尔特・罗素(Stuart Russell)与彼得・诺维格(Peter Norvig)在 1995 年出版的经典著作《人工智能:一种现代方法》(Artificial Intelligence: A Modern Approach),书中明确指出:

An agent is anything that can be viewed as perceiving its environment through sensors and acting upon that environment through actuators.

通俗来讲,Agent 是一套能自主感知环境、决策行动、达成目标的智能系统 —— 它不像传统程序那样 “指令式响应”,而是更像一个 “主动解决问题的助手”:接收任务后,会自主判断是否需要查资料、调用工具,甚至拆解子任务,最终交付结果。

打个更贴近生活的比方:如果把传统 AI 工具比作 “计算器”(需手动输入指令才能运算),那么 Agent 就像 “专属研究员”—— 你只需说 “帮我整理 2024 年新能源汽车销量报告”,它会自己去搜数据、分析趋势、排版成文,全程无需你逐步指导。

一、Agent 的发展简史:从 “死板规则” 到 “自主决策”

Agent 的进化史,本质是 AI 从 “被动执行” 到 “主动思考” 的突破史,大致可分为三个关键阶段:

1. 规则驱动时代(1950-1990 年):靠 “手工编码” 运转的 “专家替身”

这一阶段的 Agent 核心是 “预设规则”,本质是将人类专家的知识转化为计算机能理解的 “if-then” 逻辑,典型代表是专家系统

  • 核心特点:无学习能力,完全依赖人工编写的规则库,仅能在特定领域工作。
  • 经典案例
    • 1965 年诞生的 DENDRAL 系统:通过数百条化学规则,能根据质谱数据推断有机化合物结构,被誉为 “第一个真正的专家系统”;
    • 1970 年代的 MYCIN 系统:包含约 450 条医学规则,可根据患者症状(如发热、细菌培养结果)诊断传染病,并给出抗生素用药建议,甚至能用自然语言解释推理过程(比如 “因为患者出现革兰氏阴性菌感染,所以推荐使用庆大霉素”)。
  • 局限性
    • 知识获取成本极高:需专家与工程师逐行编码规则,一个复杂领域的系统可能需要数年开发;
    • 适应性差:遇到规则库外的 “新情况” 就会 “卡壳”,比如 MYCIN 无法处理未收录的罕见病菌;
    • 维护困难:规则数量增多后,容易出现 “规则冲突”,修改一条规则可能影响整体逻辑。

2. 强化学习时代(1990-2020 年):靠 “试错学习” 成长的 “环境适应者”

随着机器学习技术兴起,Agent 摆脱了 “手工规则” 的束缚,开始通过 “与环境交互试错” 自主学习策略,核心技术是强化学习(RL)

  • 核心逻辑:Agent 在环境中通过 “感知状态→执行动作→获得奖励 / 惩罚→调整策略” 的循环,逐步学会 “最大化奖励” 的行为模式。比如训练机器人走路时,“站稳前进” 会获得正奖励,“摔倒” 会获得负奖励,反复试错后机器人会掌握平衡技巧。
  • 突破性进展
    • 2013 年,DeepMind 用深度强化学习(DRL)训练 Agent 玩雅达利游戏,仅通过像素画面和得分反馈,就达到了人类玩家水平;
    • 2016 年,AlphaGo 横空出世:结合深度神经网络与强化学习,在围棋领域击败世界冠军李世石 —— 这是 Agent 首次在 “高复杂度、长决策链” 任务中超越人类,证明了 RL 在复杂环境中的潜力。
  • 局限性
    • 依赖 “明确奖励函数”:必须提前定义 “什么是对、什么是错”,比如游戏得分、机器人步数,无法应对 “奖励模糊” 的现实任务(如 “写一篇有温度的文章”);
    • 数据效率低:训练一个 Agent 可能需要数百万次试错,比如 AlphaGo 训练时模拟了数千万盘棋局;
    • 通用性差:为 “下围棋” 训练的 Agent 无法直接用来 “控制机器人”,每个任务都需重新训练。

3. 大语言模型时代(2020 年至今):靠 “知识与推理” 自主的 “通用助手”

2020 年后,GPT-3、GPT-4 等大型语言模型的出现,彻底改变了 Agent 的形态 ——LLM 自带的 “海量世界知识” 和 “逻辑推理能力”,成为了 Agent 的 “通用大脑”,无需为每个任务单独训练。

  • 关键突破点
    • 2022 年,“链式思考(CoT)” 技术诞生:让 LLM 在输出答案前先 “一步步写思考过程”,比如解决数学题时先列公式再计算,推理能力大幅提升;
    • 2022 年,谷歌提出 “ReAct” 架构:将 “思考(Reason)” 与 “行动(Act)” 结合,让 LLM 不仅能 “想”,还能 “调用工具”(如搜索、计算),解决了 LLM “知识过时”“不会算数” 的问题;
    • 2023 年,AutoGPT、BabyAGI 等开源项目爆火:基于 GPT-4 构建的自主 Agent,能接收 “高阶目标”(如 “帮我创业做一个咖啡品牌”),自动拆解子任务(市场调研→品牌定位→供应链对接)、调用工具(查行业数据、写商业计划书),形成 “目标→规划→执行→反馈” 的闭环。
  • 核心优势
    • 通用性强:一个 LLM 驱动的 Agent,既能查天气、写报告,也能编代码、做数据分析,无需重新训练;
    • 交互友好:以自然语言为接口,用户无需学习专业指令,直接说 “帮我整理本周会议纪要” 即可;
    • 工具扩展性高:可对接搜索引擎、数据库、API 等各类工具,弥补 LLM “知识滞后”“无法操作现实系统” 的短板。

二、LLM agent

回到目前爆火的大语言模型(LLM) agent。业界逐渐探索出多种架构范式,其中有两种典型模式:一种是 ReAct (Reason + Act) 推理-行动交替模式,另一种是 Plan-and-Execute 先规划再执行的模式。

1、 ReAct

ReAct 是 Reasoning and Acting 的缩写,顾名思义,它的核心思想是在 Agent 内部将「思考(Reason)」和「行动(Act)」交替进行 。这一范式最早由 2022 年谷歌大脑团队的论文「ReAct: Synergizing Reasoning and Acting in Language Models」提出 。

简单来说,ReAct 让 LLM 在解决任务时模拟人类的思考过程:想一步,做一步,再根据结果调整思考,再行动……如此循环,直到得出最终答案。

ReAct Agent 的典型工作流程如下:

  1. Thought(思考):Agent(LLM)对当前问题或状态进行分析,在内部生成一段思考/推理。这一步类似人脑的自言自语,可能涉及分解问题、制定子目标、假设下一步需要的信息等。

    例如面对一个复杂提问,Agent 可能产生内部思考:「要回答这个问题,我需要先查找相关统计数据」。

  2. Action(行动):基于上一步的思考结论,Agent 决定采取一个具体行动 。在LLM Agent中,这通常体现为模型输出一个特殊格式的指令,如调用某个工具。举例:“Action: Search[关于X的统计数据]”。

    这里的工具可以是预先注入 Agent 的函数,比如网络搜索、计算器、数据库查询等。ReAct 提示模板通常要求模型按照「Thought: … \n Action: … \n Action Input: …」格式输出 ,以明确指示要用的工具及输入 。

  3. Observation(观察):一旦 Agent 发出了 Action 指令,外部环境(或我们预先设置的执行器)就会执行这个动作,并将结果返回给 Agent 。

    比如当 Action 是搜索查询时,Observation 可能是一段搜索结果摘要。当 Action 是调用计算器,Observation 则是计算结果的值。这个观察结果相当于 Agent 在环境中获取到的新信息

  4. 循环迭代:Agent 将 Observation 纳入自己的上下文,再次进入 Thought 阶段进行推理,总结新获取的信息,与之前的目标对比,决定下一步怎么做 。它可能修正原先思路或提出新的子任务。

    如果任务还没完成就继续 Thought → Action → Observation 循环。如此反复,Agent 不断交替“思考-行动”,逐步推进任务。

  5. Final Answer(最终答案):当 Agent 判断已经收集了足够信息或完成了目标,就会在最后一次 Thought 后输出最终答案而不是新行动指令 。这标志着 ReAct 流程的终止,Agent 向用户给出结果。

用一个具体例子说明:假设用户问题是“中国的人口是多少的两倍?”。一个 ReAct Agent 可能这样运作:

  • 初始 Thought:“用户在问中国人口的两倍,这需要先查中国人口是多少”。
  • Action:“Search[中国人口]”。
  • Observation:“搜索结果显示:中国 2023 年人口约 14.1 亿”。
  • Thought:“好的,中国人口约 14.1 亿,问题要两倍,那计算一下 2×14.1 亿”。
  • Action:“Calculator[ 2 * 14.1 亿]”。(注:Agent可能将14.1亿转成数字再计算)
  • Observation:“结果=28.2 亿”。
  • Thought:“已经得到答案,可以作答”。
  • Final Answer:“约 28.2 亿”。

ReAct 模式以其直观明了的循环成为LLM Agent的基础范式之一。

它通过交替的「思想」和「行动」赋予 Agent 如同人类一般的解题风格,能逐步推理、调用工具获取实时信息以降低幻觉,并通过思维外显便于调试,通用性强。

但它效率较低、缺乏全局规划且依赖工具,因而更适合交互性强、步骤较少、需要实时查询或轻量推理的任务场景。

2、Plan-and-Execute 模式:先计划后执行

当任务变得更加复杂、步骤繁多时,另一种「规划-执行」架构开始展现威力。

这种模式将 Agent 的流程明确分为两个阶段:先规划(Plan),再执行(Execute) 先让 Agent 想出一整套方案,然后按照方案逐步落实。

与 ReAct 不同,Plan-and-Execute 会强制 LLM 做全局思考。它通常涉及两个子 Agent 或子模块:一个 Planner(规划者)和一个Executor(执行者)。两者分工如下:

  • Planner:由一个 LLM 来承担,它的任务是分析目标,产出详细的执行计划。Planner 会接收用户的最终任务描述,然后以列表形式生成需要完成的子任务序列

    Planner 在这一步可以充分利用 LLM 的链式思考能力,将模糊的目标细化为可执行的步骤,并考虑步骤间的依赖、先后顺序等 。

  • **Executor(s)**:执行者负责按照 Planner 给出的每个子任务,逐条执行 。Executor 本质上也是一个 Agent,可以针对不同子任务切换工具或 API,也可以调用一个内部 ReAct Agent 来完成。

    Executor 会读取任务清单的某一条,比如「第1步:搜索 X 信息」,然后实际调用对应的工具完成它,将结果记录下来,再执行下一步。

Plan-and-Execute 模式的运行过程可以概括如下:

https://blog.langchain.com/planning-agents/#:~:text=Prompting%20arxiv,consists%20of%20two%20basic%20components

  1. 任务规划(Planning):接收用户请求后,首先调用 Planner (LLM) 来生成完整计划。Planner 输出的计划通常是有序列表形式的步骤1、步骤2… 。

    例如用户让 Agent 「写一份关于某课题的调研报告」,Planner 可能输出:1. 搜集背景资料;2. 分析资料;3. 撰写报告初稿;4. 定稿并输出报告。

    Planner 提示词通常会明示模型:「先理解问题并制定计划,然后我们再逐步执行」。这一阶段,LLM 会尽量细化步骤直到每一步可以由工具或简单操作完成。

  2. 任务执行(Execution):拿到 Planner 给出的任务清单后,进入执行环节。Executor 会逐步读取每条子任务并执行之 。执行时可能再次用到LLM,尤其当需要处理任务中的自然语言逻辑时。

    例如 LangChain 实现中,每一步的执行其实可以调用一个内部 ReAct Agent 来完成 (因为子任务本身也许需要检索或计算,多步才能得出结果)。

    但重要的是,Executor 聚焦于当前子任务的完成,不用操心全局流程。执行一个步骤后,把结果保存到共享状态中(相当于黑板或内存,记录目前有哪些信息、子任务完成情况) 。

  3. 计划调整(Replan,可选):理想情况下,按照初始计划顺利执行完所有步骤,就可以结束了。然而现实中,有时初始计划并不完美:可能遗漏了一些步骤,或者某步结果出乎意料、需要增加新的步骤。

    Plan-and-Execute 架构因此通常允许一个反馈回路:当执行到一定阶段后,Agent 可以启动 Planner 进行重新规划 (Replan) 。此时 Planner 会参考当前已完成的任务状态,增补或修改后续计划。这个规划-执行循环可以进行多轮,直到 Agent 确信任务完成。

  4. 生成最终答案:所有必要的子任务都执行完毕,Agent 最后汇总状态中的信息,由 LLM 编写最终交付结果,并返回给用户 (比如完整的报告文本) 。

Plan-and-Execute 的核心优势在于结构化地解决复杂任务,但也带来额外成本。

相比 ReAct,它通过 Planner 和 Executor 分工来保证任务分解、执行更有条理,适合多步骤、长程、高精度和跨工具的任务。

但缺点在于:实现复杂、误差传递、上下文管理压力大、执行耗时

因此,它更适合在复杂问题分解、长程规划、精度要求高或需要跨工具协调的场景下使用,而在简单任务或即时反应的场合,ReAct 往往更高效。

三、代码实战

1、零框架实现 ReAct

核心是两点:

  • 通过 prompt 控制大模型的输出格式
  • 解析大模型的输出,手动调用工具

直接 Cursor 生成代码就好:

忘了让 AI 用 ollama,再让它改一下:

核心就是一个不停的调用大模型的循环,期间拆解动作,执行动作,循环往复:

def solve(self, question: str, verbose: bool = True) -> str:
        """
        使用 ReAct 模式解决问题
        
        Args:
            question: 用户问题
            verbose: 是否显示详细过程
            
        Returns:
            最终答案
        """
        messages = [
            {"role": "system", "content": self._get_system_prompt()},
            {"role": "user", "content": question}
        ]
        
        for step in range(self.max_steps):
            if verbose:
                print(f"\\n=== 步骤 {step + 1} ===")
                
            # 获取模型响应
            try:
                assistant_message = self._call_llm(messages)
                if verbose:
                    print(f"Assistant: {assistant_message}")
                    
                messages.append({"role": "assistant", "content": assistant_message})
                
                # 检查是否包含最终答案
                if"Final Answer:"in assistant_message:
                    final_answer = assistant_message.split("Final Answer:")[-1].strip()
                    if verbose:
                        print(f"\\n🎉 找到答案: {final_answer}")
                    return final_answer
                
                # 解析并执行行动
                action_result = self._parse_action(assistant_message)
                if action_result:
                    tool_name, params = action_result
                    observation = self._execute_tool(tool_name, params)
                    
                    if verbose:
                        print(f"🔧 执行工具: {tool_name}")
                        print(f"📋 参数: {params}")
                        print(f"👁️ 观察结果: {observation}")
                    
                    # 添加观察结果到对话历史
                    messages.append({
                        "role": "user", 
                        "content": f"Observation: {observation}"
                    })
                else:
                    # 如果没有找到有效的行动,继续下一轮
                    if verbose:
                        print("⚠️ 未找到有效的行动,继续思考...")
                        
            except Exception as e:
                error_msg = f"API 调用错误: {str(e)}"
                if verbose:
                    print(f"❌ {error_msg}")
                return error_msg
                
        return"达到最大步数限制,未能找到答案。"

拆解一下:

一个循环的框架:

def solve(self, question: str, verbose: bool = True) -> str:
        """
        使用 ReAct 模式解决问题
        
        Args:
            question: 用户问题
            verbose: 是否显示详细过程
            
        Returns:
            最终答案
        """
        messages = [
            {"role": "system", "content": self._get_system_prompt()},
            {"role": "user", "content": question}
        ]
        
        for step in range(self.max_steps):
           ...
            except Exception as e:
                error_msg = f"API 调用错误: {str(e)}"
                if verbose:
                    print(f"❌ {error_msg}")
                return error_msg
                
        return"达到最大步数限制,未能找到答案。"

_get_system_prompt 返回提示词:

def _get_system_prompt(self) -> str:
        """获取系统提示词"""
        tools_desc = "\\n".join([
            f"- {name}: {desc}" 
            for name, desc in self.tool_descriptions.items()
        ])
        
        return f"""你是一个智能助手,使用 ReAct(Reasoning and Acting)模式来解决问题。

可用工具:
{tools_desc}

工作流程:
1. Thought: 分析问题,制定计划
2. Action: 选择并执行工具
3. Observation: 观察结果
4. 重复直到找到答案

格式要求:
- 用 "Thought:" 开始你的思考
- 用 "Action:" 开始行动,格式为 Action: tool_name(parameters)
- 我会提供 "Observation:" 显示行动结果
- 用 "Final Answer:" 给出最终答案

示例:
Thought: 我需要计算 25 + 17 的结果
Action: calculator(25 + 17)
Observation: 42
Final Answer: 25 + 17 = 42

现在开始解决用户的问题。"""

其中的可用工具,需要提前实现:

可用工具:
 • calculator: 计算数学表达式,支持基本运算和常用数学函数(sqrt, sin, cos, tan, log)
 • web_search: 搜索网络信息,获取实时数据和知识
 • web_scraper: 抓取指定网页的文本内容
 • read_file: 文件操作工具,支持读取、写入文件和列出目录内容
 • write_file: 写入内容到文件
 • list_directory: 列出目录内容
 • get_weather: 获取指定城市的天气信息

接着是循环里边,将用户问题和提示词传给大模型:

def solve(self, question: str, verbose: bool = True) -> str:
        """
        使用 ReAct 模式解决问题
        
        Args:
            question: 用户问题
            verbose: 是否显示详细过程
            
        Returns:
            最终答案
        """
        messages = [
            {"role": "system", "content": self._get_system_prompt()},
            {"role": "user", "content": question}
        ]
        
        for step in range(self.max_steps):
            if verbose:
                print(f"\\n=== 步骤 {step + 1} ===")
                
            # 获取模型响应
            try:
                assistant_message = self._call_llm(messages)
                if verbose:
                    print(f"Assistant: {assistant_message}")
                    
                messages.append({"role": "assistant", "content": assistant_message})
                
                # 检查是否包含最终答案
                if"Final Answer:"in assistant_message:
                    final_answer = assistant_message.split("Final Answer:")[-1].strip()
                    if verbose:
                        print(f"\\n🎉 找到答案: {final_answer}")
                    return final_answer
                
                ...
                        
            except Exception as e:
                error_msg = f"API 调用错误: {str(e)}"
                if verbose:
                    print(f"❌ {error_msg}")
                return error_msg
                
        return"达到最大步数限制,未能找到答案。"

因为 prompt 中要求了大模型用 「Final Answer:」给出最终答案,因此循环终点就是判断是否有 「Final Answer」。

接着再解析大模型返回的 Action ,来手动调用提前实现好的工具:

def solve(self, question: str, verbose: bool = True) -> str:
        """
        使用 ReAct 模式解决问题
        
        Args:
            question: 用户问题
            verbose: 是否显示详细过程
            
        Returns:
            最终答案
        """
        messages = [
            {"role": "system", "content": self._get_system_prompt()},
            {"role": "user", "content": question}
        ]
        
        for step in range(self.max_steps):
            if verbose:
                print(f"\\n=== 步骤 {step + 1} ===")
                
            # 获取模型响应
            try:
                assistant_message = self._call_llm(messages)
                if verbose:
                    print(f"Assistant: {assistant_message}")
                    
                messages.append({"role": "assistant", "content": assistant_message})
                
                # 检查是否包含最终答案
                if"Final Answer:"in assistant_message:
                    final_answer = assistant_message.split("Final Answer:")[-1].strip()
                    if verbose:
                        print(f"\\n🎉 找到答案: {final_answer}")
                    return final_answer
                
                # 解析并执行行动
                action_result = self._parse_action(assistant_message)
                if action_result:
                    tool_name, params = action_result
                    observation = self._execute_tool(tool_name, params)
                    
                    if verbose:
                        print(f"🔧 执行工具: {tool_name}")
                        print(f"📋 参数: {params}")
                        print(f"👁️ 观察结果: {observation}")
                    
                    # 添加观察结果到对话历史
                    messages.append({
                        "role": "user", 
                        "content": f"Observation: {observation}"
                    })
                else:
                    # 如果没有找到有效的行动,继续下一轮
                    if verbose:
                        print("⚠️ 未找到有效的行动,继续思考...")
                        
            except Exception as e:
                error_msg = f"API 调用错误: {str(e)}"
                if verbose:
                    print(f"❌ {error_msg}")
                return error_msg
                
        return"达到最大步数限制,未能找到答案。"

其中 _parse_action 就是解析 prompt 中说的 用 "Action:" 开始行动,格式为 Action: tool_name(parameters)

def _parse_action(self, text: str) -> Optional[tuple]:
        """
        解析行动文本,提取工具名称和参数
        
        Args:
            text: 包含行动的文本
            
        Returns:
            (tool_name, parameters) 或 None
        """
        # 查找 Action: 行
        action_pattern = r"Action:\s*(\w+)\((.*?)\)"
        match = re.search(action_pattern, text, re.DOTALL)
        
        if match:
            tool_name = match.group(1)
            params_str = match.group(2).strip()
            
            if tool_name in self.tools:
                # 尝试解析参数
                try:
                    # 简单的参数解析(可以根据需要改进)
                    if params_str:
                        # 如果参数看起来像 JSON,尝试解析
                        if params_str.startswith('{') and params_str.endswith('}'):
                            params = json.loads(params_str)
                        else:
                            params = params_str
                    else:
                        params = None
                    return tool_name, params
                except json.JSONDecodeError:
                    return tool_name, params_str
                    
        returnNone

先正则解析出 Action 的内容 r"Action:\s*(\w+)\((.*?)\)" ,接着拿到 tool_name(工具名)和 params_str(入参)返回。

拿到之后去调用函数:

 action_result = self._parse_action(assistant_message)
if action_result:
    tool_name, params = action_result
    observation = self._execute_tool(tool_name, params)
    
def _execute_tool(self, tool_name: str, params: Any) -> str:
        """
        执行工具函数
        
        Args:
            tool_name: 工具名称
            params: 工具参数
            
        Returns:
            工具执行结果
        """
        try:
            tool_func = self.tools[tool_name]
            if params isNone:
                result = tool_func()
            elif isinstance(params, dict):
                result = tool_func(**params)
            else:
                result = tool_func(params)
            return str(result)
        except Exception as e:
            returnf"工具执行错误: {str(e)}"

拿到对应的函数,然后将参数传入即可。

最后将工具返回的结果追加到对话列表中下一次循环即可:

observation = self._execute_tool(tool_name, params)

                  if verbose:
                      print(f"🔧 执行工具: {tool_name}")
                      print(f"📋 参数: {params}")
                      print(f"👁️ 观察结果: {observation}")

                  # 添加观察结果到对话历史
                  messages.append({
                      "role": "user", 
                      "content": f"Observation: {observation}"
                  })

看下运行效果:

直接调用一次 Action: calculator(9 * 8 - 2)

调用两次 Action,web_search("中国当前人口数")calculator(1400000000 * 2)

2、 LangChain 实现 Plan-and-Execute

用 LangChain 的话,我们只需要提供 Tools,提示词、agent、记忆管理全部内置了,代码会简单很多:

from langchain_community.llms import Ollama
from langchain.agents import Tool
from langchain_experimental.plan_and_execute import PlanAndExecute, load_agent_executor, load_chat_planner
from duckduckgo_search import DDGS

# 初始化LLM模型(Ollama qwen2.5:7b)
llm = Ollama(model="qwen2.5:7b", temperature=0)

# 定义一个DuckDuckGo搜索工具
def ddg_search(query: str) -> str:
    """使用DuckDuckGo进行搜索,返回前几条结果摘要。"""
    results = []
    with DDGS() as ddgs:  # 使用duckduckgo_search库
        for r in ddgs.text(query, max_results=3):  # 取前三条结果
            results.append(f"{r['title']}: {r['body']}")
    return"\n".join(results)

search_tool = Tool(
    name="WebSearch",
    func=ddg_search,
    description="用于在互联网上搜索信息的工具。输入查询,返回相关简要结果。"
)

tools = [search_tool]

# 加载 Planner 和 Executor
planner = load_chat_planner(llm)                   # 规划阶段使用同一LLM
executor = load_agent_executor(llm, tools, verbose=True)  # 执行阶段Agent(允许调用搜索工具)
agent = PlanAndExecute(planner=planner, executor=executor, verbose=True)

# 运行 Agent 执行任务
task = "调查气候变化对北极熊种群的影响,并给出一份总结报告。"
result = agent.run(task)

print("最终汇总报告:\n", result)

调用 load_agent_executor 就可以得到一个 ReAct 的 Agent,调用 load_chat_planner 就得到了可以 planner 的 Agent。

大模型是一个聪明的大脑,但它不会主动做什么,需要我们通过 prompt 指挥,然后它需要干什么我们帮它去做,循环往复,结合起来就变成了一个 agent。

Prompt 控制 / 模块化设计、规划策略、工具调度 / 使用、记忆机制、控制流与反馈、Agent 协同架构、以及工具库可扩展性 / 安全性,这些共同决定了一个 agent 表现的好坏,也诞生了现在各种各样的 agent 应用。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线科技企业深耕十二载,见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事,早已在效率与薪资上形成代际优势,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套 AI 大模型突围资料包

  • ✅ 从零到一的 AI 学习路径图
  • ✅ 大模型调优实战手册(附医疗/金融等大厂真实案例)
  • ✅ 百度/阿里专家闭门录播课
  • ✅ 大模型当下最新行业报告
  • ✅ 真实大厂面试真题
  • ✅ 2025 最新岗位需求图谱

所有资料 ⚡️ ,朋友们如果有需要 《AI大模型入门+进阶学习资源包》下方扫码获取~
在这里插入图片描述

① 全套AI大模型应用开发视频教程

(包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点)
在这里插入图片描述

② 大模型系统化学习路线

作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!
在这里插入图片描述

③ 大模型学习书籍&文档

学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。
在这里插入图片描述

④ AI大模型最新行业报告

2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
在这里插入图片描述

⑤ 大模型项目实战&配套源码

学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。
在这里插入图片描述

⑥ 大模型大厂面试真题

面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余

图片

以上资料如何领取?

在这里插入图片描述

为什么大家都在学大模型?

最近科技巨头英特尔宣布裁员2万人,传统岗位不断缩减,但AI相关技术岗疯狂扩招,有3-5年经验,大厂薪资就能给到50K*20薪!

图片

不出1年,“有AI项目经验”将成为投递简历的门槛。

风口之下,与其像“温水煮青蛙”一样坐等被行业淘汰,不如先人一步,掌握AI大模型原理+应用技术+项目实操经验,“顺风”翻盘!
在这里插入图片描述
在这里插入图片描述

这些资料真的有用吗?

这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。
在这里插入图片描述
在这里插入图片描述

以上全套大模型资料如何领取?

在这里插入图片描述

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐