Transformer 架构对 Agent 发展的贡献

关键词:Transformer架构,智能Agent,注意力机制,大语言模型,自主决策,环境感知,推理链

摘要:本文将从“给小学生讲故事”的视角切入,带你逐步揭开Transformer和智能Agent的神秘面纱,系统梳理Transformer架构从底层注意力机制到上层大语言模型,再到具体Agent实践的全链条贡献逻辑。我们会用做菜、搭积木、和小伙伴组队探险等生动类比,解释核心概念;用专业的文本示意图、Mermaid流程图、ER实体关系图、交互关系图、概念对比表,展示概念的结构与联系;用数学公式推导注意力机制的核心原理;用Python实现一个简化版的“买菜做饭Agent”,从环境搭建到功能落地详细拆解;最后聊一聊Transformer-Agent的实际应用、最佳实践、未来趋势,以及一些有意思的思考题。全文约9800字,逻辑清晰、结构紧凑,既有深度原理剖析,又有落地代码案例,适合对人工智能和Agent感兴趣的入门者到进阶开发者阅读。


背景介绍

目的和范围

很多同学最近都听过“GPT-4o当厨师”“Claude 3.5写代码帮你调试机器人”这些酷炫的新闻,这些背后的核心角色就是智能Agent大语言模型(LLM),而LLM的基石又是Transformer架构

那到底什么是Agent?Transformer怎么就让Agent从“只会按固定指令跑的笨机器人”变成了“能自主思考、灵活决策的小助手”?Transformer在Agent的哪些环节(环境感知、记忆存储、推理决策、行动执行)起了作用?有没有具体的例子可以跟着做?未来Transformer-Agent会变成什么样?

本文的目的就是用大白话讲清楚这些问题,并且给你一个可以动手的简化版项目。我们的讨论范围主要集中在基于Transformer的大语言模型作为核心大脑的通用型Agent,不涉及专用工业机器人(比如流水线焊接机器人)的底层硬件控制,但会涉及通用Agent如何通过接口调用硬件。

预期读者

  • 对人工智能、大语言模型、Agent感兴趣的小学生/初中生(跳过数学公式和代码细节,看故事和类比就行)
  • 计算机相关专业的本科生/研究生(重点看概念结构、数学原理、代码案例)
  • 想落地Transformer-Agent项目的开发者/产品经理(重点看实际应用、系统设计、最佳实践)

文档结构概述

我们的文章就像一次和小伙伴组队去超市买菜、回家做饭的探险

  1. 探险前的准备(背景介绍):先给大家说清楚这次探险的目标、有哪些小伙伴参与(术语表)
  2. 认识探险的两个核心伙伴(核心概念与联系):先认识“能干的小向导”Agent,再认识“聪明的翻译官兼军师”Transformer,然后看看它们俩怎么合作
  3. 了解军师的秘密武器(核心算法原理 & 具体操作步骤):军师为什么这么聪明?原来它有个叫“注意力机制”的秘密武器,我们一步步拆开来看
  4. 计算注意力分数的魔法公式(数学模型和公式 & 详细讲解 & 举例说明):秘密武器是怎么工作的?用数学公式讲清楚,再举个买菜选菜的例子
  5. 第一次模拟探险(项目实战:代码实际案例和详细解释说明):跟着军师和向导,用Python写一个简化版的“买菜做饭Agent”
  6. 探险的其他玩法(实际应用场景):除了买菜做饭,Agent还能做什么?
  7. 探险需要的装备和地图(工具和资源推荐):要做真实的Agent项目,需要哪些工具?
  8. 未来的探险会是什么样(未来发展趋势与挑战):明年、后年,甚至10年后,Agent会变成什么样?还有哪些问题要解决?
  9. 这次探险收获了什么(总结:学到了什么?):回顾一下核心概念和它们的关系
  10. 下次探险的计划(思考题:动动小脑筋):给你留几个问题,想想怎么用今天学的知识
  11. 探险中的小疑问解答(附录:常见问题与解答):可能你会遇到的问题
  12. 想继续探险的话看什么(扩展阅读 & 参考资料):推荐一些书、论文、博客

术语表

核心术语定义

为了让大家更清楚,我们先给这次探险的核心角色和物品下个定义(用小学生能懂的话):

  1. 智能Agent:能干的小向导,它有4个超能力:
    • 感知环境:能看到(摄像头)、听到(麦克风)、摸到(传感器)周围的世界
    • 存储记忆:能记住之前发生的事(比如上次买番茄踩过坑)
    • 推理决策:能根据感知和记忆,想清楚下一步该做什么(比如这次要挑红一点的番茄)
    • 执行行动:能自己动手或者指挥别的工具(比如叫手机APP下单,叫机械臂切菜)
  2. Transformer架构:聪明的翻译官兼军师,它是2017年谷歌大脑团队发明的一个AI模型框架,最开始是用来做翻译的(比如把中文翻译成英文),后来发现它特别会“理解上下文”和“联想知识”,所以被用来做大语言模型
  3. 注意力机制:军师的秘密武器,就像你在课堂上只会注意老师讲的重点,不会注意窗外的小鸟一样,Transformer只会注意输入信息里的“关键部分”
  4. 大语言模型(LLM):用Transformer架构搭出来的超级大脑,它看过海量的书、文章、代码,所以会聊天、会写文章、会写代码、会推理
  5. 推理链(Chain-of-Thought, CoT):LLM思考问题的方式,就像你做数学题会一步一步写步骤一样,LLM也会一步一步想清楚问题的答案
  6. 工具调用(Tool Use):LLM指挥别的工具做事的能力,就像你不会查天气预报会叫手机APP查一样,LLM也会叫搜索引擎、计算器、机械臂这些工具做事
相关概念解释

还有几个相关的小角色和物品,我们也简单提一下:

  1. RNN/LSTM:在Transformer之前的AI模型框架,最开始也是用来做翻译的,但它有个缺点:“记不住太长的东西”,比如翻译一篇1000字的文章,它到后面就忘了前面讲了什么
  2. CNN:另一种在Transformer之前的AI模型框架,最开始是用来做图片识别的,它的优点是“能快速找到图片里的关键部分”,但它不太会“理解上下文的关系”
  3. 多模态大语言模型(MLLM):既能看懂文字、又能看懂图片、还能听懂声音的LLM,比如GPT-4o、Claude 3.5 Sonnet
  4. Embedding(嵌入向量):把文字、图片、声音这些“人类能懂的东西”转换成“计算机能懂的数字列表”,就像你把朋友的名字写成电话号码一样,数字列表越接近,说明它们的意思越像
缩略词列表

为了方便,我们后面会用一些缩略词:

  • Transformer:Trans
  • 智能Agent:Agent
  • 大语言模型:LLM
  • 多模态大语言模型:MLLM
  • 注意力机制:Attention
  • 推理链:CoT
  • 循环神经网络:RNN
  • 长短期记忆网络:LSTM
  • 卷积神经网络:CNN
  • 嵌入向量:Emb
  • 多头注意力机制:Multi-Head Attention
  • 前馈神经网络:FFN
  • 位置编码:Positional Encoding

核心概念与联系

故事引入

想象一下,你是一个刚上小学三年级的小朋友,今天妈妈给你布置了一个任务:“小明,今天家里来客人,你要帮妈妈去楼下的超市买东西,然后回家帮妈妈准备一顿简单的晚餐!”

这是你第一次独立完成这么大的任务,你有点紧张,不过没关系,你有两个好朋友帮忙:

  1. 小红:一个能干的小向导(也就是我们说的Agent),她之前帮妈妈做过很多类似的任务,知道超市在哪里,知道怎么挑菜,知道怎么回家
  2. 小蓝:一个聪明的翻译官兼军师(也就是我们说的Transformer搭出来的LLM),她看过《小学生做家务指南》《超市买菜技巧》《简单晚餐食谱》这些书,还能听懂你说的话,能帮你想清楚每一步该做什么

现在,让我们跟着小红和小蓝,一起完成这次任务吧!

首先,你把妈妈的任务告诉了小蓝:“小蓝小蓝,妈妈让我去超市买东西,然后回家准备简单的晚餐!”

小蓝想了想,说:“小明小明,你先别急,我们得先问清楚妈妈几个问题:

  1. 家里来几个客人?
  2. 妈妈准备做什么菜?
  3. 家里已经有什么东西了?
  4. 妈妈给你多少钱?
  5. 超市几点关门?”

你跑回去问了妈妈,妈妈说:

  1. 家里来3个客人,加上我们家3口人,一共6个人
  2. 妈妈准备做番茄炒鸡蛋、红烧肉、清炒西兰花、紫菜蛋花汤
  3. 家里已经有鸡蛋、盐、糖、酱油、料酒、油、米饭了
  4. 妈妈给你100块钱
  5. 超市晚上9点关门,现在是下午5点半,时间来得及

你把这些信息告诉了小蓝,小蓝马上拿出《简单晚餐食谱》和《小学生买菜清单模板》,帮你列了一张买菜清单:

菜名 需要买的东西 大概数量
番茄炒鸡蛋 番茄 6个(每人1个)
红烧肉 五花肉 1斤半
清炒西兰花 西兰花 1颗
紫菜蛋花汤 紫菜、葱花 1包紫菜、1小把葱花
其他 牙签(红烧肉要用) 1包

然后小蓝又拿出《超市买菜路线图》,帮你规划了超市里的路线:“进门先拿购物车,然后直接去蔬菜区买番茄、西兰花、葱花,再去肉类区买五花肉,再去零食区旁边的日用品区买牙签,最后去收银台结账!”

接着小红带着你出发了,她帮你开门、按电梯、过马路、找超市入口,你按照小蓝规划的路线走,很快就找到了蔬菜区。

不过你在挑番茄的时候遇到了问题:“这里的番茄有红的、有绿的、有大的、有小的,到底该挑哪个?”

你马上掏出手机(哦对,妈妈还给了你一个手机,可以给小蓝发图片),拍了一张番茄的照片发给了小蓝(这里小蓝就变成了MLLM,既能看懂文字又能看懂图片)。

小蓝看了看照片,又翻了翻《超市买菜技巧》,说:“小明小明,挑番茄要挑:

  1. 颜色红的(不要全红,带一点绿蒂的更新鲜)
  2. 形状圆的(不要畸形的)
  3. 摸起来硬邦邦的(不要软的,软的快坏了)
  4. 大小适中的(大概和你的拳头差不多大)”

你按照小蓝说的挑了6个番茄,接着又挑了西兰花、葱花、五花肉、牙签,然后去收银台结账,一共花了58块钱,你把剩下的42块钱放好。

然后小红带着你回家,她帮你开门、按电梯、过马路、找家门,你回到家把东西交给妈妈,妈妈夸你真棒!

晚上吃饭的时候,客人也夸你买的菜新鲜,你心里美滋滋的!


好啦,故事讲完了!在这个故事里,小红就是智能Agent小蓝就是用Transformer架构搭出来的MLLM,它们俩一起合作完成了“买菜做饭”这个任务。

接下来,我们就用这个故事作为类比,详细解释一下核心概念和它们之间的关系。

核心概念解释(像给小学生讲故事一样)

核心概念一:什么是智能Agent?

在故事里,小红是一个能干的小向导,她有4个超能力:

  1. 感知环境:她能看到超市在哪里、能看到红绿灯、能听到汽车的声音、能摸到电梯的按钮
  2. 存储记忆:她能记住上次帮妈妈买番茄踩过坑(上次挑了软的番茄,回家发现坏了一半)、能记住超市的路线、能记住妈妈的电话号码
  3. 推理决策:她能根据红绿灯的颜色决定要不要过马路、能根据超市的关门时间决定要不要加快速度、能根据剩下的钱决定要不要买零食(哦对,妈妈没让买零食,所以她决定不买)
  4. 执行行动:她能自己开门、按电梯、过马路、找超市入口,也能指挥你挑菜、结账

那用专业的话来说,智能Agent就是一个能感知环境、存储记忆、推理决策、执行行动的实体,它的目标是完成某个特定的任务(比如买菜做饭、写代码、帮你查资料)。

智能Agent可以是软件(比如手机里的 Siri、小爱同学,电脑里的 Copilot),也可以是硬件+软件(比如扫地机器人、波士顿动力的机器人狗 Spot、GPT-4o 控制的机械臂)。

核心概念二:什么是Transformer架构?

在故事里,小蓝是一个聪明的翻译官兼军师,她最开始是用来做翻译的(比如把中文翻译成英文),后来发现她特别会“理解上下文”和“联想知识”,所以被用来做大语言模型。

那用专业的话来说,Transformer架构是2017年谷歌大脑团队在论文《Attention Is All You Need》里提出的一个AI模型框架,它的核心创新点就是抛弃了之前RNN/LSTM的“顺序处理”方式,改用“并行处理”方式,并且加入了“注意力机制”这个秘密武器

为什么“顺序处理”方式不好呢?我们可以用故事里的例子类比一下:

  • 顺序处理方式(RNN/LSTM):就像你读一篇1000字的文章,必须一个字一个字地读,而且读后面的字的时候,只能记住前面几个字的内容,读后面的就忘了前面的——比如读妈妈列的“番茄炒鸡蛋、红烧肉、清炒西兰花、紫菜蛋花汤”这个菜单,RNN/LSTM读到“紫菜蛋花汤”的时候,可能已经忘了“番茄炒鸡蛋”需要买什么了
  • 并行处理方式(Transformer):就像你读一篇1000字的文章,可以一眼看完所有的字,而且读每个字的时候,都可以“注意”到文章里所有其他字的内容——比如读妈妈列的菜单,Transformer读到“紫菜蛋花汤”的时候,不仅能记住“紫菜蛋花汤”需要买什么,还能“注意”到“番茄炒鸡蛋”已经需要买鸡蛋了,所以家里的鸡蛋可能不够?哦不对,妈妈说家里已经有鸡蛋了,所以Transformer会“注意”到妈妈说的话,不用再买鸡蛋了
核心概念三:什么是注意力机制?

在故事里,小蓝挑番茄的时候,只会注意照片里的“番茄的颜色、形状、硬度、大小”,不会注意照片里的“蔬菜区的地板、旁边的黄瓜、远处的收银员”——这就是注意力机制的作用。

那用专业的话来说,注意力机制就是让AI模型在处理输入信息的时候,只“关注”输入信息里的“关键部分”,而忽略“无关部分”,就像你在课堂上只会注意老师讲的重点,不会注意窗外的小鸟一样。

注意力机制有很多种,Transformer里用的是自注意力机制(Self-Attention)多头注意力机制(Multi-Head Attention)

  • 自注意力机制:就像你读一篇文章的时候,每个字都可以“问”文章里所有其他字的“意见”,比如读“我喜欢吃苹果,因为它很甜”这句话里的“它”字,你会“问”前面的字:“‘它’指的是什么?”,前面的“苹果”字会说:“指的是我!”,所以你会把注意力放在“苹果”字上
  • 多头注意力机制:就像你读一篇文章的时候,有好几个“你”一起读,每个“你”关注的重点不一样——比如第一个“你”关注“谁做了什么”,第二个“你”关注“为什么这么做”,第三个“你”关注“在哪里做的”,最后把所有“你”的意见汇总起来,就能得到更全面的理解
核心概念四:什么是推理链(CoT)?

在故事里,小蓝帮你列买菜清单的时候,不是一下子就列出来的,而是一步一步想的:

  1. 首先,家里来3个客人,加上我们家3口人,一共6个人
  2. 然后,妈妈准备做番茄炒鸡蛋、红烧肉、清炒西兰花、紫菜蛋花汤
  3. 接着,家里已经有鸡蛋、盐、糖、酱油、料酒、油、米饭了
  4. 再接着,根据《简单晚餐食谱》,番茄炒鸡蛋需要6个番茄(每人1个),红烧肉需要1斤半五花肉,清炒西兰花需要1颗西兰花,紫菜蛋花汤需要1包紫菜、1小把葱花,红烧肉还需要1包牙签
  5. 最后,把需要买的东西列成清单

这就是**推理链(CoT)**的作用。

那用专业的话来说,推理链(CoT)就是让LLM在回答问题或者做决策的时候,一步一步写出思考过程,而不是一下子给出答案,这样可以大大提高LLM的准确率,尤其是在解决复杂的数学题、逻辑题、或者做复杂的决策的时候。

核心概念五:什么是工具调用(Tool Use)?

在故事里,小蓝不会查超市的实时价格、不会查天气预报(哦对,故事里没用到天气预报,但如果下雨的话,小蓝会叫手机APP查天气预报,然后让你带伞)、不会直接挑菜(因为小蓝是软件,没有手),所以小蓝会叫手机APP搜索引擎、**你(相当于小蓝的工具)这些工具做事——这就是工具调用(Tool Use)**的作用。

那用专业的话来说,工具调用(Tool Use)就是让LLM根据任务的需要,调用外部的工具(比如搜索引擎、计算器、数据库、API接口、机械臂、扫地机器人)来获取信息或者执行行动,这样可以大大扩展LLM的能力边界——因为LLM本身没有“实时信息”(比如不知道今天的股票价格、不知道明天的天气预报),也没有“物理执行能力”(比如不会开门、不会切菜、不会扫地),但通过工具调用,LLM就可以拥有这些能力。


核心概念之间的关系(用小学生能理解的比喻)

在故事里,小红(Agent)、小蓝(Transformer-LLM)、注意力机制、推理链、工具调用,它们就像一个探险小队

  • 小红(Agent):探险小队的队长,负责整个探险的流程控制——什么时候感知环境、什么时候存储记忆、什么时候叫小蓝(军师)推理决策、什么时候叫工具执行行动
  • 小蓝(Transformer-LLM):探险小队的军师,负责“理解上下文”和“联想知识”——给队长出谋划策
  • 注意力机制:军师的望远镜,负责让军师在看输入信息的时候,只“关注”关键部分,忽略无关部分
  • 推理链:军师的笔记本,负责让军师一步一步写出思考过程,避免出错
  • 工具调用:探险小队的装备库,负责给探险小队提供各种装备——比如搜索引擎(查资料的书)、计算器(算钱的算盘)、机械臂(挑菜的手)、扫地机器人(打扫卫生的清洁工)

接下来,我们详细解释一下它们之间的两两关系:

关系一:Agent(队长)和 Transformer-LLM(军师)的关系

Agent(队长)和 Transformer-LLM(军师)是合作关系,队长负责“干活”,军师负责“出谋划策”:

  • 队长首先会感知环境(比如看到红绿灯、看到超市的照片、听到妈妈的话),然后把感知到的信息转换成“计算机能懂的数字列表”(Embedding),交给军师
  • 军师拿到数字列表后,会用注意力机制(望远镜)“关注”关键部分,用推理链(笔记本)一步一步思考,然后给出“下一步该做什么”的建议(比如“列买菜清单”“规划超市路线”“挑红一点的番茄”),或者告诉队长“需要调用某个工具”(比如“需要调用手机APP查天气预报”“需要调用搜索引擎查超市的实时价格”)
  • 队长拿到军师的建议后,会存储记忆(比如把买菜清单、超市路线、挑菜的技巧存起来),然后要么执行行动(比如“按电梯”“过马路”“挑菜”),要么调用工具(比如“叫手机APP查天气预报”“叫搜索引擎查超市的实时价格”)
  • 执行行动或者调用工具后,队长会再次感知环境(比如“拿到了天气预报的结果”“拿到了超市的实时价格”“挑好了番茄”),然后把新的感知信息交给军师,军师再次思考,给出新的建议……如此循环往复,直到任务完成

用故事里的例子类比一下:

  1. 队长(小红)感知到妈妈的话(“家里来3个客人……”),转换成Embedding交给军师(小蓝)
  2. 军师用望远镜(注意力机制)关注“客人数量”“菜名”“家里已有的东西”“钱数”“关门时间”这些关键部分,用笔记本(推理链)一步一步思考,给出“列买菜清单”的建议
  3. 队长把买菜清单存起来(存储记忆),然后执行行动(“带着小明出发”)
  4. 队长感知到蔬菜区的番茄(拍了照片),转换成Embedding交给军师
  5. 军师用望远镜(注意力机制)关注“番茄的颜色、形状、硬度、大小”这些关键部分,用笔记本(推理链)一步一步思考,给出“挑红一点、圆一点、硬一点、大小适中的番茄”的建议
  6. 队长执行行动(“指挥小明挑番茄”)
  7. ……如此循环往复,直到任务完成
关系二:Transformer-LLM(军师)和 注意力机制(望远镜)的关系

Transformer-LLM(军师)和 注意力机制(望远镜)是包含关系,注意力机制是Transformer-LLM的核心组件——没有望远镜,军师就看不到关键部分,只能看到一片模糊的信息,就没法出谋划策了。

用故事里的例子类比一下:如果军师没有望远镜,她看蔬菜区的番茄照片的时候,只会看到“一片红色和绿色的东西”,看不到“番茄的颜色、形状、硬度、大小”这些关键部分,就没法告诉小明该挑哪个番茄了。

关系三:Transformer-LLM(军师)和 推理链(笔记本)的关系

Transformer-LLM(军师)和 推理链(笔记本)是使用关系,推理链是Transformer-LLM的一种思考方式——不用笔记本,军师可能会一下子给出答案,但很容易出错;用了笔记本,军师会一步一步写出思考过程,准确率会大大提高。

用故事里的例子类比一下:如果军师不用笔记本,她可能会一下子列一张买菜清单,但可能会忘了“红烧肉需要牙签”,或者“番茄买多了”;用了笔记本,她会一步一步思考,就不会出错了。

关系四:Transformer-LLM(军师)和 工具调用(装备库)的关系

Transformer-LLM(军师)和 工具调用(装备库)是使用关系,工具调用是Transformer-LLM的一种扩展能力的方式——没有装备库,军师就没有实时信息,也没有物理执行能力,只能出一些“纸上谈兵”的建议;有了装备库,军师就可以拥有实时信息和物理执行能力,出的建议就更实用了。

用故事里的例子类比一下:如果军师没有装备库(比如没有手机APP),她就不知道今天会不会下雨,只能让小明不带伞;如果下雨的话,小明就会被淋湿。有了装备库(比如有手机APP),她就可以叫手机APP查天气预报,如果下雨的话,就让小明带伞。

关系五:Agent(队长)和 工具调用(装备库)的关系

Agent(队长)和 工具调用(装备库)是使用关系,工具调用是Agent的一种执行行动的方式——没有装备库,Agent只能自己执行行动(如果是软件Agent的话,只能做一些软件上的操作,比如打开网页、发送消息;如果是硬件Agent的话,只能做一些硬件上的操作,比如开门、按电梯);有了装备库,Agent就可以调用更多的工具,执行更多的行动。

用故事里的例子类比一下:如果队长(小红)是一个软件Agent(比如手机里的APP),她没有装备库(比如没有机械臂的接口),她就只能指挥小明挑菜;如果有了装备库(比如有机械臂的接口),她就可以直接调用机械臂挑菜。


核心概念原理和架构的文本示意图(专业定义)

接下来,我们用专业的话,画一个核心概念原理和架构的文本示意图:

【智能Agent(Agent)的通用架构】
┌─────────────────────────────────────────────────────────────────────────────┐
│  目标模块:定义Agent需要完成的任务(比如“买菜做饭”“写代码”“帮你查资料”)  │
└─────────────────────────────────────────────────────────────────────────────┘
                                      ↓
┌─────────────────────────────────────────────────────────────────────────────┐
│  环境感知模块:感知外部环境的信息(比如文字、图片、声音、传感器数据),      │
│              转换成“计算机能懂的数字列表”(Embedding)                       │
└─────────────────────────────────────────────────────────────────────────────┘
                                      ↓
┌─────────────────────────────────────────────────────────────────────────────┐
│  记忆模块:存储Agent的“短期记忆”(比如当前的任务进度、最近的感知信息)      │
│          和“长期记忆”(比如之前的任务经验、学到的知识)                       │
└─────────────────────────────────────────────────────────────────────────────┘
                                      ↓
┌─────────────────────────────────────────────────────────────────────────────┐
│  推理决策模块:【核心!基于Transformer的大语言模型(LLM)】                  │
│              1. 从记忆模块获取“短期记忆”和“长期记忆”                          │
│              2. 用【自注意力机制/多头注意力机制】“关注”关键部分               │
│              3. 用【推理链(CoT)】一步一步思考                                │
│              4. 给出“下一步该做什么”的建议:要么“执行行动”,要么“调用工具”   │
└─────────────────────────────────────────────────────────────────────────────┘
                                      ↓
                    ┌───────────────┴───────────────┐
                    ↓                               ↓
┌─────────────────────────────────┐ ┌─────────────────────────────────┐
│  行动执行模块:执行推理决策模块  │ │  工具调用模块:调用外部工具(比如  │
│              给出的“执行行动”的  │ │              搜索引擎、计算器、数据库、│
│              建议(比如软件操作、  │ │              API接口、机械臂、扫地机器人│
│              硬件操作)            │ │              )获取信息或者执行行动    │
└─────────────────────────────────┘ └─────────────────────────────────┘
                    └───────────────┬───────────────┘
                                      ↓
┌─────────────────────────────────────────────────────────────────────────────┐
│  反馈模块:把行动执行模块或者工具调用模块的结果反馈给环境感知模块,            │
│          形成一个“感知→记忆→推理→行动→反馈→感知……”的闭环                  │
└─────────────────────────────────────────────────────────────────────────────┘
【Transformer架构的核心原理和架构(来自论文《Attention Is All You Need》)】
Transformer架构是一个“编码器-解码器(Encoder-Decoder)”架构,最开始是用来做翻译的(比如把中文(源语言)翻译成英文(目标语言)):
- 编码器(Encoder):负责“理解”源语言的输入信息(比如中文句子),把它转换成“中间表示(Context Vector)”
- 解码器(Decoder):负责根据编码器的“中间表示”,“生成”目标语言的输出信息(比如英文句子)

不过现在的大语言模型(比如GPT系列、Claude系列、Llama系列)大多只使用了Transformer的“解码器(Decoder)”部分,我们称之为“解码器-only(Decoder-Only)”架构,因为这种架构更适合“生成文本”(比如聊天、写文章、写代码)。

接下来,我们详细解释一下“编码器(Encoder)”和“解码器(Decoder)”的核心组件:

【编码器(Encoder)的核心组件】
编码器由N个(论文里是6个)“编码器层(Encoder Layer)”堆叠而成,每个编码器层包含两个子层:
1. 多头自注意力机制(Multi-Head Self-Attention)子层:让编码器在“理解”源语言输入信息的时候,每个词都可以“问”源语言里所有其他词的“意见”
2. 前馈神经网络(Feed-Forward Network, FFN)子层:对多头自注意力机制子层的输出进行“非线性变换”,提取更高级的特征

每个子层后面都跟着一个“残差连接(Residual Connection)”和一个“层归一化(Layer Normalization)”:
- 残差连接:就像你爬楼梯的时候,累了可以坐电梯直接到上面一层,避免“梯度消失”的问题(梯度消失是指AI模型在训练的时候,前面的层的参数更新得很慢,甚至不更新)
- 层归一化:就像你把身高、体重、考试分数这些不同单位的数值,转换成“0到1之间的数值”或者“均值为0、方差为1的数值”,让AI模型更容易训练

另外,在把源语言输入信息传给编码器之前,还要加上“位置编码(Positional Encoding)”:因为Transformer是“并行处理”的,没有“顺序信息”(比如不知道“我吃苹果”和“苹果吃我”的区别),所以位置编码就是用来给Transformer加上“顺序信息”的。

【解码器(Decoder)的核心组件】
解码器也由N个(论文里是6个)“解码器层(Decoder Layer)”堆叠而成,每个解码器层包含三个子层:
1. 掩码多头自注意力机制(Masked Multi-Head Self-Attention)子层:让解码器在“生成”目标语言输出信息的时候,每个词只能“问”目标语言里“已经生成的词”的“意见”,不能“问”“还没生成的词”的“意见”(就像你写作文的时候,只能看已经写好的句子,不能看还没写的句子)
2. 多头交叉注意力机制(Multi-Head Cross-Attention)子层:让解码器在“生成”目标语言输出信息的时候,可以“问”编码器的“中间表示”的“意见”(就像你翻译中文句子的时候,可以看中文句子的意思)
3. 前馈神经网络(FFN)子层:和编码器里的FFN子层一样

每个子层后面也跟着一个“残差连接”和一个“层归一化”。另外,在把目标语言输入信息传给解码器之前,也要加上“位置编码”。

核心概念之间的ER实体关系图(Mermaid)

接下来,我们用Mermaid画一个核心概念之间的ER实体关系图:

存储

使用作为核心推理决策模块

包含核心组件

使用思考方式

调用扩展能力

AGENT

string

agent_id

PK

Agent的唯一标识符

string

agent_name

Agent的名字

string

agent_type

Agent的类型(软件/硬件+软件)

string

task

Agent需要完成的任务

TRANSFORMER_LLM

string

llm_id

PK

LLM的唯一标识符

string

llm_name

LLM的名字(比如GPT-4o/Claude 3.5 Sonnet)

string

llm_type

LLM的类型(解码器-only/编码器-解码器/多模态)

int

llm_size

LLM的参数量(比如12B/70B/175B)

ATTENTION_MECHANISM

string

attention_id

PK

注意力机制的唯一标识符

string

attention_type

注意力机制的类型(自注意力/多头注意力/掩码多头注意力/多头交叉注意力)

int

num_heads

多头注意力机制的头数(比如8/12/16)

REASONING_CHAIN

string

cot_id

PK

推理链的唯一标识符

string

cot_type

推理链的类型(零样本CoT/少样本CoT/自洽性CoT)

TOOL

string

tool_id

PK

工具的唯一标识符

string

tool_name

工具的名字(比如搜索引擎/计算器/机械臂)

string

tool_type

工具的类型(信息获取类/行动执行类)

string

tool_api

工具的API接口地址(如果有的话)

MEMORY

string

memory_id

PK

记忆的唯一标识符

string

memory_type

记忆的类型(短期记忆/长期记忆)

text

memory_content

记忆的内容


核心概念之间的交互关系图(Mermaid)

接下来,我们用Mermaid画一个核心概念之间的交互关系图(也就是Agent的“感知→记忆→推理→行动→反馈→感知……”闭环):

外部工具 Transformer-LLM(军师) 记忆模块 外部环境 智能Agent(队长) 用户 外部工具 Transformer-LLM(军师) 记忆模块 外部环境 智能Agent(队长) 用户 alt [需要调用工具] [不需要调用工具] alt [需要调用工具] [不需要调用工具] loop [直到任务完成] 下达任务(比如“买菜做饭”) 把任务存入短期记忆 感知环境(比如问用户家里的情况) 返回感知信息(比如“家里来3个客人……”) 把感知信息存入短期记忆 发送请求(包含任务+短期记忆) 从长期记忆获取之前的任务经验 用注意力机制关注关键部分 用推理链一步一步思考 返回“调用工具”的建议 调用工具(比如查天气预报) 返回工具结果 把工具结果存入短期记忆 发送新的请求(包含之前的内容+工具结果) 继续思考 返回“执行行动”的建议 执行行动(比如带着小明出发) 返回行动结果(比如到达超市) 把行动结果存入短期记忆 感知新的环境(比如看到蔬菜区的番茄) 返回新的感知信息(比如番茄的照片) 把新的感知信息存入短期记忆 发送新的请求(包含之前的内容+新的感知信息) 从长期记忆获取之前的任务经验 用注意力机制关注关键部分 用推理链一步一步思考 返回“调用工具”的建议 调用工具 返回工具结果 把工具结果存入短期记忆 发送新的请求 继续思考 返回“执行行动”的建议 执行新的行动(比如挑番茄) 返回新的行动结果(比如挑好6个番茄) 把新的行动结果存入短期记忆 通知任务完成

核心概念核心属性维度对比(Markdown表格)

接下来,我们用Markdown表格对比一下“Transformer之前的AI模型框架(RNN/LSTM/CNN)”和“Transformer架构”的核心属性,以及“传统Agent”和“Transformer-Agent”的核心属性:

表格一:Transformer之前的AI模型框架 vs Transformer架构
核心属性维度 RNN/LSTM CNN Transformer架构
处理方式 顺序处理(一个字一个字地读) 局部并行处理(一块一块地看图片) 全局并行处理(一眼看完所有的信息)
记忆能力 短期记忆能力有限(记不住太长的东西) 没有记忆能力(只能看到局部信息) 长期记忆能力强(通过注意力机制可以“记住”所有的输入信息)
上下文理解能力 弱(只能理解前面几个字的上下文) 弱(只能理解局部的上下文) 强(可以理解全局的上下文)
训练效率 低(因为是顺序处理,不能并行计算) 高(因为是局部并行处理,可以并行计算) 非常高(因为是全局并行处理,可以并行计算)
适用场景 短文本翻译、语音识别、时间序列预测 图片识别、图片分类、目标检测 长文本翻译、聊天、写文章、写代码、多模态理解、通用型Agent
表格二:传统Agent vs Transformer-Agent
核心属性维度 传统Agent Transformer-Agent
核心推理决策模块 规则引擎、强化学习模型、专用AI模型 基于Transformer的大语言模型(LLM)
通用性 弱(只能完成某个特定的任务,比如扫地机器人只能扫地,不能买菜做饭) 强(可以完成很多不同的任务,比如买菜做饭、写代码、帮你查资料、控制机械臂)
环境感知能力 弱(只能感知特定的环境信息,比如扫地机器人只能感知障碍物,不能看懂图片、听懂声音) 强(如果是MLLM的话,可以感知文字、图片、声音、传感器数据等多种环境信息)
记忆能力 弱(只能存储少量的短期记忆,比如扫地机器人只能存储当前的位置) 强(可以存储大量的短期记忆和长期记忆,比如之前的任务经验、学到的知识)
推理决策能力 弱(只能按照固定的规则或者训练好的策略推理决策,遇到新的情况就不会了) 强(可以通过推理链(CoT)一步一步思考,遇到新的情况也能灵活应对)
工具调用能力 弱(只能调用特定的工具,比如扫地机器人只能调用充电座) 强(可以调用很多不同的工具,比如搜索引擎、计算器、数据库、API接口、机械臂、扫地机器人)
开发难度 高(需要为每个特定的任务编写大量的规则或者训练大量的强化学习模型) 低(只需要给LLM一个提示词(Prompt),告诉它任务是什么,需要调用哪些工具,它就能完成任务)

(全文待续,剩余部分将包含:核心算法原理&具体操作步骤、数学模型和公式&详细讲解&举例说明、项目实战:代码实际案例和详细解释说明、实际应用场景、工具和资源推荐、未来发展趋势与挑战、总结、思考题、附录、扩展阅读&参考资料,预计总字数约9800字)

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐