feat: add interactive demos for AI history, Auth design, and Git intro
This commit is contained in:
@@ -2,6 +2,13 @@
|
||||
|
||||
> 💡 **学习指南**:如果说 Prompt Engineering 是教 AI "怎么说话",那么 Context Engineering 就是教 AI "怎么记事"。本章节将通过一系列交互式实验,带你深入理解 AI 的记忆机制,从基础的滑动窗口到高级的 RAG 系统,掌握让 AI "过目不忘"的核心技术。
|
||||
|
||||
在开始之前,建议你先了解两个概念:
|
||||
|
||||
- **Token 是什么**:可以先阅读 [大语言模型入门](./llm-intro.md) 的「分词 & Token」部分。
|
||||
- **Prompt 是什么**:如果你还不熟悉 System / User / Assistant 的基本结构,可以先看 [提示词工程](./prompt-engineering.md)。
|
||||
|
||||
<AgentContextFlow />
|
||||
|
||||
## 0. 引言:金鱼与大象
|
||||
|
||||
想象一下,你正在和两个人聊天:
|
||||
@@ -11,6 +18,13 @@
|
||||
|
||||
**上下文工程 (Context Engineering)** 的目标,就是通过技术手段,让 AI 从 "金鱼" 进化成 "大象"。
|
||||
|
||||
更具体地说:你每次调用模型时,都会把一份「输入包」发给它,这份输入包通常由这些部分拼起来:
|
||||
|
||||
- **系统设定**(System Prompt):角色、规则、边界。
|
||||
- **对话历史**(Messages):你们之前聊过什么。
|
||||
- **工具结果**(Tool / Observation):Agent 调用外部工具拿到的新信息。
|
||||
- **检索片段**(RAG Context):从知识库临时取回的相关内容。
|
||||
|
||||
但这里有一个核心挑战:**AI 的"脑容量"(上下文窗口)是有限的**。我们不能把全世界的信息都塞进去。
|
||||
|
||||
我们需要解决五个核心问题:
|
||||
@@ -31,7 +45,8 @@
|
||||
|
||||
### 1.2 实验:Token 与容量
|
||||
|
||||
在 AI 的世界里,计量的单位不是"字",而是 **Token**。一个 Token 大约相当于 0.75 个英文单词,或者 0.5-1 个汉字。
|
||||
在 AI 的世界里,计量的单位不是"字",而是 **Token**。(Token 的更完整解释可以回看 [大语言模型入门](./llm-intro.md)。)
|
||||
粗略地说,一个 Token 大约相当于 0.75 个英文单词,或 0.5-1 个汉字(会因内容而变化)。
|
||||
|
||||
试着在下面的模拟器中输入文字,看看它是如何填满上下文窗口的:
|
||||
|
||||
@@ -39,9 +54,14 @@
|
||||
|
||||
**关键点**:
|
||||
|
||||
- **溢出即丢失**:一旦超过红色警戒线,模型不仅会报错,或者会直接截断后面的内容。
|
||||
- **溢出即丢失**:一旦超过红色警戒线,模型可能会报错,或者直接截断后面的内容。
|
||||
- **昂贵的记忆**:上下文越长,推理速度越慢,费用也越高。
|
||||
|
||||
### 1.3 额外收益:前缀稳定与缓存命中
|
||||
|
||||
在 Agent 场景里,上下文通常是「系统设定 + 工具定义 + 历史消息 + 本轮新信息」的拼接。
|
||||
如果你能让这份输入包的**前半段尽量稳定**(比如系统提示、工具列表不要频繁变动),很多模型/服务会更容易复用缓存,从而降低延迟与成本。
|
||||
|
||||
---
|
||||
|
||||
## 2. 第二步:即时记忆 (Sliding Window)
|
||||
|
||||
Reference in New Issue
Block a user