大模型应用开发八股
Transformer架构
Embedding
将输入编码成向量。
Positional Encoding
加上位置编码后,词向量就变成能代表“词+位置”的向量。
注意力机制(Self-Attention)
对每个词算三个向量:
- Q(Query):我是谁?我想要什么?
- K(Key):你是谁?你能提供什么?
- V(Value):你能告诉我什么?
每个词都会生成一组 Q、K、V 向量,对于原来“I love you”的编码向量,进一步转换维度(3, 512)->(3, 64)。
然后,我们用下面这个公式计算每两个词之间的“相关性”:
Attention(Q, K, V) = softmax(Q × K.T / √d) × V
Q × K.T
:代表相关程度(一个 3x3 的矩阵)softmax
:让每一行变成概率(加起来是 1)- 然后乘以 V,得到新的向量表示。
这个过程的结果维度也是 (3, 64)
,表示每个词融合了其他词的信息。
多头注意力(Multi-Head Attention)
不只用一个 QKV,而是用好几个,比如 8 个头,每个头学习不同的“关注方式”,最后把它们拼在一起。这样可以从多个角度理解一句话。
- 输入:
(3, 512)
- 每个头:输出
(3, 64)
- 拼起来:
(3, 512)
前馈神经网络(Feed Forward)
每个词的向量再通过一个小型的神经网络(两层,全连接),让它更抽象一些。
加残差和 LayerNorm
为了让训练更稳定,我们还要加两个东西:
- 残差连接(Residual):输入 + 输出
- 层归一化(Layer Normalization):让数据分布更标准化
编码器(Encoder) vs 解码器(Decoder)
Transformer 原始的结构有两大块:
- 编码器(Encoder):理解输入
- 解码器(Decoder):生成输出
- Decoder Masking: 保证预测时不能偷看后面的词(自回归生成)
比如在翻译任务中:
- 编码器输入英文句子 “I love you”
- 解码器输出法语句子 “Je t’aime”
BERT 只用编码器
GPT 只用解码器
原始的 Transformer(用于翻译) 同时用了编码器和解码器
提示词工程解决了哪些问题?
1.核心定位:提示词工程主要解决大模型应用中用户意图和模型输出的对齐问题。通过设计优化输入指令,引导大模型生成符合预期的输出。
2.任务定义不明确时,通过提示词细化任务边界。
3.输出格式控制,在提示词中明确格式。
4.复杂任务拆解,在代码生成、数学解题任务中。
开发中的价值
1.降低模型微调成本(无需重新训练)
2.提升用户体验
3.工程化扩展性(构建提示词模板库)
LangGraph
1. Q: 为什么 LangGraph 要引入“图(Graph)”作为核心架构,而不是传统的链(Chain)?
A: 因为智能任务往往不是线性的,而是需要条件判断、分支、循环、中断等复杂流程。LangGraph 用图来建模每一个节点(函数/步骤)之间的控制流,这种结构更加灵活,天然支持 agentic workflows,让 AI 应用拥有像人一样的决策路径选择能力。
2. Q: 什么是“多智能体系统(Multi-Agent Systems)”?LangGraph 是如何支持的?
A: 多智能体系统指的是多个 AI 角色(agents)协同完成一个任务,例如一个搜索专家、一个总结专家、一个审校者。LangGraph 支持在同一图中定义多个 agent,各自负责不同节点,并通过边来协调它们的互动流程,使复杂任务变得可管理、可追踪。
3. Q: LangGraph 中的“中断(Breakpoints)”和调试工具有什么联系?
A: Breakpoints 允许你暂停图的执行流程,就像传统 IDE 的断点调试一样。这对排查智能体行为特别重要。结合 LangGraph Studio,你可以在图执行到某一步时直观查看状态,甚至修改输入,然后继续执行,非常适合迭代和调试复杂流程。
4. Q: LangGraph 的“时间旅行(Time Travel)”功能是怎么实现的?为什么它强大?
A: 它基于持久化的状态快照(Checkpoints),允许你从任意历史节点恢复状态并“分叉”出一个新的执行路径。这不仅方便回溯错误、测试不同策略,还支持构建多结局应用,如交互式小说、AI 辩论助手等。
5. Q: 什么是 LangGraph 的“持久化层(Persistence Layer)”?为什么这是核心能力?
A: 持久化层记录每一次图执行过程的状态(包括消息、变量、位置等),为实现 memory、人类反馈、时间旅行等提供技术基础。可以选择内存、本地 SQLite、Postgres 甚至云数据库持久化。
6. Q: LangGraph 是怎么定义和处理“Memory”的?它和传统的 RAG 记忆机制有何不同?
A: LangGraph 的 memory 并不只是聊天历史记录,而是任意结构化状态的保存与恢复。相比于简单拼接历史的 RAG 模式,LangGraph 的内置 checkpoint 能够让每一步决策都具有上下文,从而实现更精细、更可控的记忆能力,尤其适合多轮任务型智能体。