ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

从规则驱动到LLM大脑:智能体的前世今生与核心技术栈

从规则驱动到LLM大脑:智能体的前世今生与核心技术栈 1. 智能体一个被重新定义的“老”概念如果你最近关注AI领域大概率已经被“智能体”这个词刷屏了。从OpenAI的GPTs到各种低代码的智能体搭建平台再到铺天盖地的“AI Agent”创业项目这个词仿佛一夜之间成了技术圈的顶流。但如果你去问一个从业超过十年的老程序员他可能会告诉你“这不就是Agent吗我们搞分布式系统、游戏AI的时候就在用了。” 这话没错但也不全对。今天我们就来聊聊这个既熟悉又陌生的“智能体”看看它到底经历了什么才从后台的技术术语变成了今天人人都在谈论的“下一代交互范式”。简单来说智能体Agent的核心思想一直没变它是一个能够感知环境、自主决策并执行动作以实现目标的实体。这个定义放之四海而皆准。在传统软件工程里一个监控服务器CPU使用率的守护进程当使用率超过阈值时自动扩容这就是一个简单的智能体。在游戏里一个会根据玩家位置选择进攻或逃跑的NPC也是一个智能体。它们的共同点是有明确的输入环境状态有内置的规则或逻辑决策模型有明确的输出动作。那么为什么今天基于大语言模型LLM的“智能体”会引发如此大的关注关键在于决策模型的革命性变化。过去的智能体其“智能”来自于程序员编写的、清晰且有限的规则if-else或基于统计的模型如强化学习。它的能力上限在开发时就被锁死了。而今天的LLM智能体其“智能”来自于一个经过海量数据训练、具备强大泛化理解和生成能力的“大脑”。这个大脑没有预设的、针对特定任务的硬编码规则但它能理解人类的自然语言指令能进行复杂的推理和规划并能调用工具如搜索、计算、写代码来完成任务。这相当于给智能体装上了一颗“通用”的大脑使其能够处理开放域、非结构化的复杂任务这才是质变。所以当我们谈论“智能体”时需要分清语境。在传统计算机科学中它是一个宽泛的、偏重架构和自动化的概念。而在当前AI的浪潮下它特指以大型语言模型LLM为核心推理引擎能够理解复杂目标、制定计划、调用工具并完成任务的自主系统。本系列文章聚焦的正是后者。理解这个从“专用规则”到“通用大脑”的演进是理解所有后续技术细节和行业动态的基础。2. 智能体的“前世”规则驱动与早期AI的探索要看清LLM智能体的价值我们必须先回到它的“前世”看看没有大模型的时代人们是如何构建“智能”系统的。这段历史并非无用相反今天智能体框架中的许多设计思想都能在其中找到影子。2.1 基于规则的专家系统最早的“智能体”实践上世纪七八十年代专家系统Expert System是人工智能的主流。它的核心是“知识库”和“推理引擎”。知识库里存放着人类专家总结的“如果-那么”If-Then规则推理引擎则根据用户输入的事实匹配并执行这些规则给出结论或建议。例如一个医疗诊断专家系统知识库里可能有一条规则“如果病人发烧且喉咙痛那么可能是链球菌性喉炎概率70%”。从智能体的三要素来看感知用户输入的症状描述结构化或半结构化数据。决策推理引擎基于规则链进行逻辑推导。执行输出诊断结果和建议。这完全符合智能体的定义。它的优势是透明、可控每一个结论都有清晰的推理路径可追溯。但它的局限性也极其明显知识获取瓶颈。构建和维护一个庞大、完备且无冲突的规则库是极其困难的成本高昂。更重要的是它极度脆弱无法处理规则库之外的情况缺乏常识和泛化能力。一个只学过“发烧喉咙痛”规则的系统面对“发烧咳嗽”可能就束手无策了。2.2 软件工程中的智能体与多智能体系统在分布式系统和软件工程领域“Agent”概念被广泛应用通常指一个为了完成特定目标而持续运行的自治软件实体。例如网络爬虫Web Crawler感知发现新链接、决策根据爬取策略决定下一个目标、执行下载页面内容。交易代理Trading Agent感知市场行情数据、决策基于量化模型判断买入/卖出、执行提交交易订单。游戏AI感知游戏世界状态、玩家位置、决策行为树、状态机、执行移动、攻击、释放技能。在这个语境下智能体强调的是自治性Autonomy、反应性Reactivity、主动性Pro-activeness和社会能力Social Ability。多智能体系统MAS则研究多个这样的智能体如何通过通信、协作或竞争来完成更复杂的任务这非常像今天多个AI智能体协同工作的雏形。这个阶段的智能体其决策逻辑依然是程序员显式编程的。无论是行为树、有限状态机还是更复杂的规划算法如GOAP其能力和行为边界在代码编写完成时就已经确定了。要让一个游戏NPC学会一种新战术必须由程序员修改代码并重新发布。缺乏对模糊、开放的自然语言指令的理解和应对能力是它们与当今LLM智能体的根本区别。2.3 传统AI的尝试从符号主义到连接主义在通往通用人工智能的道路上符号主义Symbolic AI和连接主义Connectionism是两条主要路径。专家系统是符号主义的代表它试图用逻辑和符号来模拟智能。而连接主义即神经网络则走了另一条路。2010年代随着深度学习在图像识别CNN、序列处理RNN/LSTM上取得突破AI在“感知”层面看、听的能力大幅提升。但在需要复杂推理和规划的“认知”层面依然乏力。同时强化学习RL在游戏如AlphaGo、机器人控制等领域取得了惊人成就。一个强化学习智能体通过与环境互动、获得奖励来学习最优策略这已经非常接近我们理想中“学习型智能体”的模样。然而深度强化学习对训练环境和奖励函数的设计要求极高样本效率低且学到的策略通常可解释性差、迁移能力弱。一个在《星际争霸2》中达到宗师级别的AI如AlphaStar其策略无法直接迁移到哪怕稍微不同的游戏环境中更不用说处理现实世界开放域的任务了。它的“智能”仍然是狭窄且脆弱的。小结一下“前世”的困境无论是基于规则的系统还是基于传统机器学习/强化学习的模型都受困于“狭义智能”。它们需要在特定领域内由人类精心设计特征、规则或奖励函数其能力天花板清晰可见。我们缺少一个能够理解通用目标、进行常识推理、并灵活运用知识的“大脑”作为智能体的核心控制器。这个瓶颈直到大语言模型的出现才被真正打破。3. 智能体的“今生”LLM驱动的范式革命转折点出现在大型语言模型特别是GPT-3及之后模型的涌现能力被广泛认知之后。LLM所展现出的强大语言理解、知识储备、逻辑推理和代码生成能力为构建新一代智能体提供了近乎完美的“大脑”或“推理引擎”。3.1 核心变革从“编程行为”到“理解意图”这是最根本的范式转换。过去的智能体我们告诉它“怎么做”How当条件A满足时执行动作B。而LLM智能体我们告诉它“做什么”What以及“为什么”Why以自然语言描述一个复杂目标例如“帮我分析一下公司上个季度的销售数据找出表现最好的三个产品并写一份摘要报告”。LLM智能体的工作流程变成了理解与规划LLM解析用户的自然语言指令理解其深层意图和隐含约束。然后它将这个宏大目标分解成一系列可执行的子任务规划。例如“1. 获取销售数据2. 清洗和处理数据3. 按产品计算销售额4. 排序找出Top 35. 撰写报告”。工具调用LLM知道自己不能直接操作数据库或写文件。因此在规划每一步时它会判断是否需要调用外部工具函数。例如对于“获取销售数据”它会调用query_database(sql)函数对于“撰写报告”它会调用generate_doc(content)函数。执行与迭代智能体框架如LangChain、AutoGPT早期的设计负责执行这个计划按顺序调用工具将工具执行的结果数据、状态作为新的上下文反馈给LLM。LLM根据结果决定下一步是继续执行下一个子任务还是需要对当前结果进行调整反思。这个过程可能包含多轮循环。注意这里的“规划”能力在早期LLM中并不稳定容易出现规划错误或幻觉。因此后续出现了如ReActReason Act、Chain of ThoughtCoT等提示工程技术以及更复杂的框架来引导和约束LLM的推理过程。关键在于整个任务分解和工具调用的逻辑并不是程序员预先写死的。对于同一个任务不同的LLM、不同的提示词可能产生不同的执行计划。LLM赋予了智能体应对前所未见任务的潜力。只要它理解任务目标并能访问到合适的工具它就有可能组合出完成任务的路径。这实现了从“狭义智能”到“通用智能”的巨大跨越。3.2 技术栈的演进从提示词工程到智能体框架随着LLM智能体概念的爆发其技术实现也经历了快速的迭代。第一阶段提示词工程Prompt Engineering驱动。早期人们通过精心设计提示词直接让LLM如ChatGPT扮演一个角色并按照特定格式如JSON输出包含“思考”和“动作”的文本。开发者再解析这些文本来调用工具。这种方式简单直接但非常脆弱需要大量调试提示词且难以处理复杂的状态管理和长程任务。AutoGPT的早期版本是这方面的典型代表它展示了潜力但也暴露了效率低下、容易陷入循环等问题。第二阶段专用框架Agent Framework涌现。为了系统化地解决上述问题一系列智能体开发框架应运而生。它们提供了标准化的抽象和组件Agent智能体本身封装了LLM、记忆、工具等。Tools将外部能力搜索、计算、API调用封装成可供LLM调用的函数。框架负责向LLM描述工具的功能并将LLM的自然语言请求转换为具体的函数调用。Memory分为短期记忆对话上下文和长期记忆向量数据库存储的历史经验让智能体拥有持续学习和对活能力。Planning提供更强大的规划模块可能包括子目标分解、多路径规划、反思与修正等高级能力。LangChain/LlamaIndex早期以其丰富的工具集成和链Chain的抽象闻名虽然它不完全是智能体框架但其Agent模块是许多开发者的起点。AutoGen微软、CrewAI等则更侧重于多智能体协作模拟一个团队如何通过分工、讨论来解决问题。Dify、FastGPT等平台则进一步降低了门槛通过可视化工作流的方式让用户通过拖拽就能组装一个具备复杂逻辑的智能体应用。这些框架的核心价值在于它们将智能体系统的通用模式感知-决策-执行循环标准化、模块化了让开发者无需从零开始处理工具调用解析、状态管理、错误处理等繁琐问题可以更专注于任务逻辑和工具本身。3.3 当前的热点与挑战今天的智能体领域热闹非凡但也充满了挑战。热点集中在以下几个方向长上下文与知识管理任务越复杂需要的上下文就越长。如何让智能体在超长的对话和任务历史中准确记住关键信息避免遗忘这催生了更先进的记忆模块和检索技术。最新的LLM如Claude 3、GPT-4 Turbo本身支持超长上下文但如何有效利用仍是问题。规划与推理的可靠性LLM的“幻觉”在智能体任务中会被放大。一个错误的规划可能导致整个任务失败。研究如何让智能体的推理更可靠、更可验证是核心挑战。包括使用更复杂的提示模式、集成符号推理器、或让智能体在行动前进行“沙盘推演”。工具使用的精准与高效如何让LLM从海量工具中准确选择最合适的一个如何描述工具才能让LLM最好地理解工具调用失败后如何优雅地重试或调整计划这涉及到工具生态的建设和工具学习Tool Learning的研究。多智能体协作单一智能体能力有限让多个各具专长的智能体一个负责搜索一个负责分析一个负责写作通过协作解决问题是更强大的范式。但这引入了智能体间通信、协调、避免冲突等新问题。评估与基准测试如何衡量一个智能体的好坏传统的准确率、召回率指标不再适用。需要建立一套针对复杂、开放域任务的评估体系如WebArena、AgentBench等基准测试开始出现。4. 智能体与“八股”新时代的必备知识体系标题中的“八股”是个有趣的词。在古代它是僵化文章的代名词但在今天的程序员语境里“面试八股文”指的是那些基础、经典、必考的知识点。将“智能体”与“八股”并列恰恰点明了当前学习智能体开发的一个现状这个领域正在快速形成一套新的、公认的基础知识体系和最佳实践。掌握这套“新八股”是进入这个领域的敲门砖。那么智能体开发的“八股”包含哪些内容呢它绝不仅仅是调用某个API那么简单而是一个多层次的知识栈4.1 基础层LLM核心原理与提示工程这是智能体的“大脑”本身。你需要理解Transformer架构核心注意力机制特别是自注意力是如何工作的它为什么能处理序列数据并建立长程依赖不需要深究数学但要理解其赋予模型“上下文理解能力”的本质。生成过程LLM是如何一个字一个字生成文本的温度Temperature、Top-p采样等参数如何影响输出的创造性和稳定性这在设计智能体时至关重要比如规划任务需要低温度保证确定性而创意任务可能需要高温度。提示工程Prompt Engineering这是与LLM沟通的语言。如何设计系统提示System Prompt来设定智能体的角色、能力和约束如何通过少样本学习Few-shot Learning、思维链Chain-of-Thought等技巧激发LLM的推理能力如何构建一个清晰、无歧义的工具描述Tool Description这是智能体稳定工作的基础。4.2 框架层主流智能体框架与模式这是智能体的“骨架”和“神经系统”。你需要熟悉至少一个主流框架核心概念Agent、Tool、Memory、Planner这些组件在框架中是如何抽象和实现的它们之间如何交互工作流模式ReActReasoning-Acting模式是基础即“思考一步执行一步”。更复杂的框架支持多步规划、自我反思Reflection、递归任务分解Hierarchical Planning等高级模式。工具调用集成如何将自定义的API、数据库查询、代码解释器封装成工具框架如何将LLM的输出解析成工具调用请求错误处理机制是怎样的多智能体系统了解如何定义多个智能体的角色设置它们之间的通信协议如通过一个“管理者”智能体协调以及如何管理它们协作的流程。4.3 工程层生产环境部署与优化当智能体从Demo走向实际应用工程挑战随之而来上下文管理如何高效地利用有限的上下文窗口如何通过摘要、选择性记忆、向量检索等方式管理长对话历史和任务状态稳定性与可靠性LLM API可能失败工具调用可能超时网络可能不稳定。智能体系统需要具备重试、降级、超时控制等容错机制。如何设计一个健壮的智能体循环成本与延迟优化LLM API调用是按Token计费的复杂的任务可能涉及数十轮交互成本不可忽视。如何通过缓存、更精细的规划、选择性价比更高的模型来降低成本如何优化整个任务链路的延迟评估与监控如何记录智能体的完整“思考-行动”轨迹用于调试如何定义和计算智能体任务的成功率需要建立监控看板跟踪关键指标。4.4 领域层垂直场景的应用模式不同的应用场景对智能体的要求差异巨大数据分析智能体核心是准确的数据查询SQL/NL2SQL、正确的计算逻辑和清晰的可视化/报告生成。需要强化的工具是数据库连接器和数据分析库如pandas。客服与销售智能体核心是精准的意图识别、丰富的产品知识库查询、以及符合品牌话术的沟通风格。需要长期记忆来维护用户画像和对话历史。研发智能体如Devin核心是代码理解、规划、编写、测试和调试的全流程能力。需要集成代码编辑器、终端、版本控制、测试框架等一系列开发工具。自动化工作流智能体核心是理解和串联起多个现有的软件系统如CRM、ERP、OA。需要强大的API集成能力和对业务逻辑的深刻理解。掌握这套“八股”意味着你不仅知道如何用LangChain或Dify搭出一个能跑的智能体更理解其背后的原理、能诊断它为什么“犯傻”、能设计出适合特定场景的高效架构并能将它稳定、经济地运行在生产环境中。这正是本系列文章希望与你一起构建的知识体系。5. 从概念到实践一个简单智能体的自白理论说了这么多我们不妨让一个虚拟的“智能体”自己来介绍一下它的工作日常这或许能让你有更直观的感受。“你好我是一个简单的网页研究助手智能体。我的核心是一个LLM比如GPT-4我的‘身体’则由一段Python代码和几个工具构成。”“当我的用户给我一个任务比如‘帮我查一下特斯拉2023年第四季度的营收情况并总结三个关键点’我会这样工作”“第一步理解与规划。我的LLM大脑会分析这句话。它知道‘特斯拉’是一家公司‘2023年第四季度’是时间范围‘营收’是财务数据‘总结关键点’是最终输出形式。它会在内部生成一个初步计划‘1. 搜索特斯拉2023年Q4财报新闻或官方发布。2. 从可靠来源提取营收数据。3. 分析数据找出最突出的三个信息点如营收额、增长率、与预期的对比。4. 用简洁的语言组织成三点总结。’”“第二步选择与调用工具。我的大脑知道它自己不能上网。所以对于计划中的第1步它会生成一个工具调用请求比如调用search_web(query“特斯拉 2023 第四季度 营收 财报”)。我的框架会接收这个请求真正去执行一次网络搜索并把返回的网页摘要或链接文本收集起来。”“第三步观察与思考。工具执行的结果一堆文本会作为新的信息反馈给我的LLM大脑。大脑会阅读这些信息判断是否已经找到了足够准确和相关的数据。如果数据还不够比如只找到了新闻通稿没有具体数字它可能会决定再次调用搜索工具使用更精确的关键词比如‘Tesla Q4 2023 earnings revenue SEC filing’。”“第四步执行与输出。当大脑认为信息足够时它会继续执行计划的第3、4步。它可能会在内部进行一些‘思考’推理比如计算环比增长率然后生成最终答案‘1. 特斯拉2023年Q4总营收为251.7亿美元。2. 同比增长约7%。3. 汽车业务营收为215.6亿美元储能业务增速显著。’并将这个答案返回给用户。”“在整个过程中我的‘记忆’模块会记录下整个对话历史和工具调用记录。这样如果用户接着问‘那它的毛利率呢’我就不需要重新搜索特斯拉财报而是可以直接从上下文中知道我们在讨论哪份财报只需调用工具去提取毛利率数据即可效率更高。”“你看我的‘智能’并非来自对我每个动作的编程而是来自我的LLM大脑对目标的理解、分解和规划能力以及我调用工具来弥补自身不足的能力。我的开发者为我提供了搜索工具和基本的逻辑框架但我具体如何完成每一个新任务有很大的自主性和灵活性。当然我也会犯错比如可能搜到过时的信息或者总结得不够准确这就需要更精细的提示词设计、更可靠的工具和更好的验证机制来完善我了。”这个简单的自述揭示了一个LLM智能体最核心的工作循环感知用户输入工具反馈→ 思考规划与推理→ 行动调用工具→ 再感知……循环往复直至任务完成。理解这个循环就理解了当今智能体技术的精髓。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进