AI TOP10基础问题
# 1. Tools、Workflow 和 Agent 三者区别是什么?
三者是粒度从小到大的三层结构,不是三选一的关系,实际项目中通常同时存在、相互嵌套。
- Tools:最小的能力单元,就是封装好的可调用函数(如搜索、执行代码、发邮件),只负责「执行」,本身没有决策能力
- Agent:完整的决策系统,内部用 LLM 做大脑,自主判断何时调哪个 Tool、要不要继续、何时结束
- Workflow:上层编排框架,把 Agent、LLM、Tools 组织成一条确定性流程,节点做什么、按什么顺序流转由开发者事先写死
核心区别一句话:Tools 不做决策只执行,Agent 自己做决策,Workflow 是开发者替所有节点把决策提前写好。
| 维度 | Tools | Agent | Workflow |
|---|---|---|---|
| 决策能力 | 无(只执行) | 有(LLM 自主决策) | 无(开发者写死) |
| 执行方式 | 被动等待调用 | 主动循环直到完成 | 按定义顺序执行 |
| 确定性 | 高 | 低(同输入可能不同路径) | 高(完全可预测) |
| 灵活性 | 只做一件事 | 高(应对预料外情况) | 低(流程固定) |
| 调试难度 | 容易 | 难(路径不确定) | 容易(链路清晰) |
| 适用场景 | 封装单一能力 | 路径未知的复杂任务 | 流程固定的业务系统 |
Agentic Workflow(生产主流模式)
纯 Agent 行为难控制、成本高;纯 Workflow 又太脆、无法穷举所有情况。生产环境主流做法是 Agentic Workflow:用 Workflow 固定主流程骨架,在需要灵活判断的节点嵌入 Agent,其余固定节点直接用 LLM 或 Tools。
# 2. 什么是 RAG?
RAG(Retrieval-Augmented Generation,检索增强生成)是一种让 LLM 结合外部知识库来回答问题的技术架构。
工作流程:
用户提问 -> 向量化查询 -> 从知识库检索相关文档 -> 将文档作为上下文注入 Prompt -> LLM 生成回答
为什么需要 RAG:
- LLM 的训练数据有截止日期,无法回答最新信息
- LLM 可能产生幻觉(编造不存在的内容)
- 企业私有数据不在 LLM 训练集中
RAG vs 微调(Fine-tuning):
| 维度 | RAG | 微调 |
|---|---|---|
| 知识更新 | 更新文档即可,实时性强 | 需要重新训练,成本高 |
| 成本 | 较低(只需向量数据库) | 较高(GPU 训练资源) |
| 适用场景 | 知识库问答、文档检索 | 特定领域风格/格式要求 |
| 可解释性 | 高(可追溯来源文档) | 低(知识融入模型权重) |
# 3. 什么是 Prompt Engineering?
Prompt Engineering(提示工程)是通过设计和优化输入给 LLM 的提示词,来引导模型输出更准确、更符合预期结果的技术。
常用技巧:
- 角色设定:「你是一个资深 Python 开发者」
- Few-shot:给出几个输入输出示例,让模型学习模式
- CoT(Chain of Thought):加上「请一步步思考」引导推理过程
- 输出格式约束:「请以 JSON 格式返回」
- 分隔符:用
"""或###明确区分指令和内容
参考资源:
# 4. 什么是幻觉(Hallucination)?
LLM 幻觉是指模型生成看似合理但实际错误或虚构的内容。
常见表现:
- 编造不存在的论文、书籍、URL
- 虚构人物经历或历史事件细节
- 给出错误的代码或 API 调用
缓解方法:
- 使用 RAG 引入外部知识作为依据
- 降低 temperature 参数减少随机性
- 要求模型回答时附带来源引用
- 在 Prompt 中明确「如果不确定请说不知道」
# 5. Token 是什么?为什么 LLM 按 Token 计费?
Token 是 LLM 处理文本的最小单位,不等于字或词。
- 英文:约 1 个单词 ≈ 1~1.5 个 Token(如
"hello"= 1 Token,"unbelievable"= 3 Tokens) - 中文:约 1 个汉字 ≈ 1~2 个 Token
为什么按 Token 计费:LLM 的计算成本与处理的 Token 数量直接相关,Token 越多,推理时间和资源消耗越大。
上下文窗口:每个模型有 Token 上限(如 GPT-4o 为 128K),输入 + 输出的总 Token 数不能超过这个限制。
# 6. Temperature 参数是什么?
Temperature 控制 LLM 输出的随机性/创造性,取值范围通常为 0~2。
| 值 | 效果 | 适用场景 |
|---|---|---|
| 0~0.3 | 输出确定、保守、一致性高 | 代码生成、数据提取、事实问答 |
| 0.5~0.8 | 平衡创造性和准确性 | 一般对话、内容写作 |
| 1.0~2.0 | 输出多样、创造性强、可能跑偏 | 头脑风暴、创意写作 |
# 7. Embedding 是什么?
Embedding(嵌入)是将文本转换为高维向量(数字数组) 的技术,使计算机能理解语义相似性。
"猫" -> [0.21, -0.53, 0.87, ...]
"小猫咪" -> [0.19, -0.51, 0.85, ...] # 向量接近,语义相似
"汽车" -> [-0.72, 0.33, -0.11, ...] # 向量差异大,语义不同
2
3
核心应用:语义搜索、RAG 中的文档检索、推荐系统、文本分类。
# 8. Function Calling 是什么?
Function Calling 是 LLM 的一种能力:模型根据用户意图,自动决定调用哪个函数并生成对应参数。
用户:"北京今天天气怎么样?"
-> LLM 识别意图,输出:调用 get_weather(city="北京")
-> 应用层执行函数,获取真实天气数据
-> 将结果返回 LLM 生成自然语言回答
2
3
4
Function Calling 是实现 Agent 调用 Tools 的底层机制。不同模型厂商的实现方式略有差异,但核心思路一致:开发者向 LLM 描述可用的函数签名,LLM 决定是否调用以及传什么参数。
# 9. 什么是 MCP?
MCP(Model Context Protocol)是 Anthropic 发布的开源标准协议,用于统一 AI 应用与外部系统的连接方式。
详见:AI 指南 - MCP
一句话理解:MCP 之于 AI 工具调用,类似于 USB 之于硬件设备——一个统一的接口标准,让不同的 AI 应用可以通过同一套协议连接各种外部工具和数据源。
# 10. 大模型是如何训练的?
大模型训练一般分为三个阶段:
预训练(Pre-training) -> 有监督微调(SFT) -> 人类反馈强化学习(RLHF)
| 阶段 | 数据 | 目标 |
|---|---|---|
| 预训练 | 海量互联网文本(TB 级) | 学习语言知识和世界知识 |
| SFT | 人工标注的指令-回答对 | 学会按指令格式回答问题 |
| RLHF | 人类对回答的偏好排序 | 让输出更符合人类期望 |
预训练消耗资源最大(数千张 GPU 训练数周),SFT 和 RLHF 相对轻量,是让模型从"会说话"变成"好用"的关键步骤。