AI认知科普第一篇:从一次旅行规划看懂AI的核心概念
开篇:一个真实的痛点
假设你现在有个任务:帮朋友规划一个周末短途旅行。听起来简单,但实际操作起来你会发现这是一团乱麻:
朋友说"想去个安静的地方,预算2000以内,最好有山有水"
你得查天气、看目的地、比机票价格、找酒店、安排行程
中间还要考虑"如果下雨怎么办""如果有老人小孩怎么办"
最后还得整理成一份清晰的行程单发给朋友
如果你是一个人做这些事,可能得花半天时间打开各种APP、对比各种信息、反复调整方案。但如果让AI来做这件事呢?
这就是我们今天要讲的故事。我会通过这个完整的旅行规划案例,带你一次性看懂AI世界里所有核心概念。
这些概念听起来很复杂,但它们其实都在为一个目标服务:让AI从一个"能回答问题的工具"变成"能自主完成任务的伙伴"。
今天我们通过"旅行规划"这个场景,串联AI世界的所有核心概念。你可以把这些概念理解为一个七层架构:
这篇文章的目标是让你对这些概念有一个全局的认知。在接下来的文章中,我们会逐层深入,详细讲解每一层的具体原理和实践方法。
第一层:AI的"大脑"是什么
🧠 LLM:AI的核心思维能力
想象你雇了一个超级聪明的助理,他读过互联网上几乎所有的文字——新闻、百科、小说、代码、旅游攻略……这个人就是LLM(Large Language Model,大语言模型)。
▎LLM的本质:一个被海量文本训练出来的"语言理解引擎",它能读懂你的话,也能用人类的方式回应你。
当你说"帮我规划旅行"时,LLM能理解"旅行"是什么意思、"规划"需要做什么、"周末短途"代表什么约束。这不是因为它去过旅行,而是它从无数文本中学到了这些概念之间的关联。
但LLM不是万能的。 它有几个天生的局限:
💬 Token:AI思考的最小单位
LLM处理信息的方式和你读书不一样。你不是"一眼看完一整页",而是一个字一个字地读。AI也是如此——它处理文本的最小单位叫Token。
▎Token的本质:AI世界的"原子",可以是半个词、一个字、一个标点。
在英文中,"traveling"可能被拆成"travel"和"ing"两个Token;在中文中,"旅行规划"可能是4个Token(每个字一个)。为什么这个概念重要?因为:
AI的成本是按Token计算的
AI的速度是用每秒处理多少Token衡量的
AI的记忆容量也是用Token数量限制的
🏗️ Transformer:AI大脑的架构革命
如果LLM是AI的"能力",那Transformer就是它的"大脑结构"。
▎Transformer的本质:一种让AI能够"全局阅读"的架构,让它不再是一个字一个字线性理解,而是一次性看到整段话并理解词与词之间的关系。
想象你在读一句话:"我喜欢吃苹果,因为它很甜。"如果没有Transformer,AI可能会认为"它"指的是"我"(因为离得近)。但有了Transformer的"注意力机制",AI能意识到"它"指的是"苹果"(因为语义相关)。
这就是为什么现在的AI能读懂长篇文章、能理解复杂逻辑——Transformer让它具备了"全局理解"的能力。
第二层:AI的"记忆"如何工作
💭 Context:AI当前记得的内容
当你和AI对话时,它并不是"你说一句、它回一句、然后就忘了"。它会记住你们聊过的内容,这个"记住的内容"就叫Context(上下文)。
▎Context的本质:AI在这次对话中能看到的所有历史信息。
比如你先说"我想去云南",然后问"那里天气怎么样",AI知道"那里"指的是云南,就是因为Context在起作用。
📦 Context Window:AI的工作记忆容量
但AI的记忆不是无限的。它有一个上限,叫Context Window(上下文窗口)。
▎Context Window的本质:AI在一次对话中能"记住"的最大信息量,以Token为单位。
早期的GPT-3只有2048个Token(大约1500个汉字),聊几句就忘了前面说什么。现在的GPT-4 Turbo达到128K(约10万字),Claude 3达到200K(约15-20万字),Gemini甚至支持100万Token(约75万字)。
这意味着什么? 你可以把整本书、整个代码库、整份合同扔给AI,让它一次性分析。而不会聊到第10句时它就问"我们最开始在聊什么来着?"
⚠️ 窗口溢出的后果
当对话超过Context Window时会发生什么?AI会"失忆":
早期的对话内容被截断
AI开始回答偏离主题
前后矛盾却不自知
解决方案:主动总结刷新上下文、使用RAG检索增强、分段处理长内容、选择窗口更大的模型。
Context Window示意图
解读:当对话内容在窗口容量内时,AI能完整记住;超出窗口后,早期内容会被截断或压缩,导致"失忆"。
第三层:如何"调节"AI的输出风格
🌡️ Temperature:AI的创意温度计
你有没有发现,有时候AI的回答很稳定(每次问都差不多),有时候又很有创意(每次都不一样)?这背后有一个参数在控制:Temperature(温度)。
▎Temperature的本质:一个0-2之间的数值,控制AI生成文本时的随机性和创造性程度。
Temperature =0:AI像一个严格执行指令的员工,每次给出的答案完全一致。适合数学计算、代码生成、事实查询。
Temperature =0.7:AI允许适度发挥,在保证准确的前提下增加一些变化。适合日常对话、文案创作。
Temperature =1.5-2:AI进入"放飞自我"模式,可能惊为天人,也可能胡言乱语。适合头脑风暴、创意写作。
生活类比:想象你在指挥一个厨师做菜。Temperature=0时,你要求他严格按照食谱一字不差地执行;Temperature=1时,你允许他在配方基础上发挥创意;Temperature=2时,你告诉他"随便做"。
🎯 Top-P和Top-K:更精细的控制旋钮
除了Temperature,还有两个参数影响AI的输出:Top-P和Top-K。
▎Top-K的本质:AI在生成下一个词时,只从概率最高的K个候选词中选择。
▎Top-P的本质:AI在生成下一个词时,只从累积概率达到P的候选词中选择。
这两个参数的作用是过滤掉低质量的候选词,让AI的输出更加可控。通常情况下:
Top-K = 40-50:平衡质量和多样性
Top-P = 0.9-0.95:保留90%-95%的高概率选项
实际影响:如果你发现AI总是说废话或者用词太生僻,可以调低Top-K;如果你希望AI更有创意,可以适当提高Top-P。
第四层:如何让AI"更专业"
🎓 Fine-tuning:给AI做专业培训
LLM虽然博学,但它是"通才"而非"专才"。如果你想让AI成为某个领域的专家(比如医疗、法律、编程),有两种方法:
方法一:Prompt Engineering(提示词工程)
在对话开始前告诉AI"你是一个资深医生,请根据以下症状给出诊断建议……"这种方法简单灵活,但效果有限。
方法二:Fine-tuning(微调)
用特定领域的数据对AI进行"二次训练",让它真正学会这个领域的专业知识。这就像让一个大学毕业生去读研究生——他的基础能力不变,但专业能力大幅提升。
▎Fine-tuning的本质:用特定数据对预训练模型进行二次训练,让它适应特定领域或特定风格。
微调 vs 提示词的对比:
维度 | 提示词工程 | 微调 |
成本 | 低(只需写好Prompt) | 高(需要准备训练数据) |
灵活性 | 高(随时更换角色) | 低(一旦微调就固定了) |
效果 | 一般(依赖Prompt质量) | 强(真正学会专业知识) |
适用场景 | 通用对话、临时任务 | 专业领域、固定风格 |
第五层:AI如何"获取外部信息"
✍️ Prompt:你给AI的指令
在与AI交互时,你输入的每一句话都是一个Prompt(提示词)。
▎Prompt的本质:引导AI生成特定输出的"指令"或"问题"。
一个好的Prompt应该包含:
角色设定:"你是一个资深旅行规划师……"
任务描述:"请为我规划一个周末短途旅行……"
约束条件:"预算2000元,有山有水,适合老人……"
输出格式:"请用表格形式列出行程安排……"
📋Rules:AI的行为边界
除了你给的Prompt,AI还受到Rules(规则)的约束。这些规则通常是系统级别的,用户看不到但必须遵守:
不能生成违法内容
不能泄露隐私信息
不能提供医疗/法律等专业建议(除非明确声明仅供参考)
不能生成暴力、色情、仇恨言论
▎Rules的本质:系统层面的安全约束,确保AI的输出符合伦理和法律标准。
📚 RAG:给AI装"外接大脑"
LLM的知识来自训练数据,但训练数据有截止日期(比如GPT-4的训练数据只到2023年)。如果你问它"2024年最新的手机型号",它可能答不上来。这时候就需要RAG(Retrieval Augmented Generation,检索增强生成)。
▎RAG的本质:先从一个知识库中检索相关信息,再让AI基于这些信息生成回答。
生活类比:想象你在参加考试。没有RAG时,你只能靠记忆答题(可能记错或过时);有了RAG后,你可以翻书查资料再答题(准确且及时)。
RAG的工作流程:
1. 用户提问:"今天北京天气怎么样?"
2. 系统将问题转化为向量(Embedding)
3. 在向量数据库中检索最相关的文档片段
4. 将检索到的片段加入Context
5. LLM基于这些片段生成回答
这样即使LLM本身不知道今天的天气,它也能基于检索到的信息给出正确答案。
第六层:AI如何"动手做事"
到目前为止,AI还只是一个"能回答问题的大脑"。但如果你让它"帮我订机票""给我发一封邮件""在日历上加一个提醒",它就无能为力了——因为它没有"手"。
🔧 Function Calling:让AI调用特定功能
Function Calling(函数调用)是让AI能够"调用外部程序"的技术。
▎Function Calling的本质:AI识别用户意图后,生成一个结构化的函数调用请求,由外部系统执行具体操作。
Function Calling的工作流程:
举个例子:
你说:"帮我查一下明天北京的天气"。
AI识别出这需要调用天气API;
AI生成一个函数调用:get_weather(city="北京", date="明天");
外部系统执行这个函数并返回结果;
AI基于结果生成自然语言回答:"明天北京晴转多云,气温15-25度"
🛠️ Tool:AI可用的各种工具
如果说Function Calling是"调用单个功能",那Tool(工具)就是一系列功能的集合。AI可以使用的工具包括:
搜索类:搜索引擎、知识库、数据库
计算类:代码执行器、数据处理工具
行动类:发送邮件、操作文件、调用API
智能类:AI绘图、翻译服务、语音合成
▎Tool的本质:AI能够调用的外部能力,让它从"纯对话"走向"实际操作"。
🔌MCP:工具连接的统一标准
现在市面上有几百种AI工具,每个工具的接口都不一样。如果没有统一标准,开发者需要为每个工具写单独的适配代码。
MCP(Model Context Protocol,模型上下文协议)就是为了解决这个问题。
▎MCP的本质:一个让AI模型与外部数据和工具对接的统一协议标准。
类比: 就像USB接口一样,不管你是鼠标、键盘还是U盘,只要符合USB标准就能即插即用。MCP想让AI工具也实现这种"即插即用"。
第七层:AI如何"自主完成任务"
到这里为止,我们讲的还都是"你问AI答"或"你让AI调用某个功能"。但如果你给AI一个复杂的目标(比如"帮我规划一次旅行"),它能不能自己分解任务、逐步执行、直到完成?这就是Agent(智能体)要解决的问题。
🤖 Agent:从"回答问题"到"解决问题"
▎Agent的本质:一种具备自主感知、规划、执行和反思能力的AI系统。
Chatbot vs Agent的区别:
维度 | Chatbot | Agent |
工作方式 | 被动回答 | 主动执行 |
输入输出 | 单次问答 | 多步循环 |
记忆能力 | 仅当前上下文 | 短期+长期记忆 |
规划能力 | 无 | 有任务分解能力 |
典型场景 | 问答、对话 | 复杂任务完成 |
举个例子:
Chatbot:你问"北京天气怎么样",它告诉你天气情况
Agent:你说"帮我规划周末旅行",它会:
a. 查询目的地的天气
b. 搜索机票和酒店价格
c. 根据你的预算筛选选项
d. 生成详细的行程单
e. 甚至帮你预订(如果有权限)
整个过程你可能只说了一句话,Agent会自主完成所有步骤。
💼 Agent Skill:Agent的能力清单
一个Agent能做哪些事情?这取决于它的Skill(技能)。
▎Agent Skill的本质:Agent能够执行的具体能力或操作。
常见的Agent Skill包括:
信息查询(搜索、数据库查询)
数据分析(统计、可视化)
内容生成(写作、绘图、代码)
工具调用(API调用、文件操作)
任务协调(多步规划、进度跟踪)
🔄ReAct工作循环:Agent的思考方式
Agent是如何自主完成任务的?核心是ReAct(Reasoning + Acting)工作范式:
实际案例:
Thought 1:我需要先确定旅行的目的地和时间
Action 1:询问用户"你想去哪里?什么时候出发?"
Observation 1:用户回答"想去云南,下周末出发"
Thought 2:我需要查询下周末云南的天气和机票价格
Action 2:调用天气API和机票查询工具
Observation 2:获得天气数据和价格信息
Thought 3:天气不错,价格在预算内,接下来需要找酒店
Action 3:调用酒店预订工具
…(继续循环直到生成完整行程单)
第八层:多个Agent如何"协作"
有些任务太复杂,单个Agent搞不定。比如"帮我开发一个电商网站",这需要前端设计、后端开发、数据库设计、测试部署等多个环节。这时候就需要多个Agent协作。
📡 A2A:Agent之间的通信协议
▎A2A(Agent-to-Agent)的本质:让不同Agent之间能够互相通信和协作的协议标准。
类比: 就像人类团队中不同角色需要通过会议、文档、即时通讯来协作一样,Agent之间也需要统一的通信标准。
🏢 ACP:Agent协作平台
▎ACP(Agent Collaboration Platform)的本质:一个让多个Agent能够协同工作的平台或框架。
典型的多Agent协作场景:
Planner Agent:负责任务分解和整体规划
Executor Agent:负责执行具体操作(如调用API、写代码)
Critic Agent:负责审核和优化执行结果
Coordinator Agent:负责协调各Agent之间的工作
这四个Agent通过A2A协议在ACP平台上协作,共同完成复杂任务。
多Agent协作流程图
回到起点:一次完整的旅行规划。
现在让我们回到最初的场景:帮朋友规划周末短途旅行。如果用一个具备完整能力的Agent来做这件事,整个流程会是这样的:
- 理解目标:Agent接收用户的模糊指令"帮我规划周末旅行"
- 任务分解:Agent将目标拆解为"确定目的地→查天气→订机票→找酒店→排行程"
- 自主执行:
调用搜索工具查找符合条件的目的地
调用天气API确认天气情况
调用机票/酒店预订工具查询价格和可用性
调用地图工具规划每日行程
- 生成结果:整合所有信息,生成一份详细的行程单
- 反馈优化:根据用户的反馈调整方案