Appearance
什么是 Agent
这一课先不急着堆术语,先把这门课到底在做什么说清楚。
这节课解决什么问题
- LLM、chatbot、Agent、Harness、UI 分别是什么
- chatbot 和 Agent 的边界到底在哪里
- 这套课的主线到底教哪一层
先看这门课的学习目标
这套课的主线,不是先把名词背完,而是按下面这条路往前走:
- 先把 LLM 变成一个能多轮对话的 chatbot
- 再理解消息历史、提示词、上下文和上下文压缩
- 最后把 chatbot 升级成会调用工具、会持续推进任务的 Agent
所以第一模块的重点,不是先讲复杂框架,而是先把对话内核、消息结构和上下文问题建立起来。
这些东西分别是什么
| 概念 | 你可以先怎么理解 | 它不等于什么 |
|---|---|---|
| LLM | 负责理解和生成语言的模型 | 不等于完整产品 |
| Chatbot | 把 LLM 包进对话界面后的最小产品形态 | 不等于 Agent |
| Agent | 会围绕目标持续推进任务的系统 | 不只是“更强一点的聊天” |
| Harness | 给模型提供工作环境的那层工程代码 | 不等于 UI |
| UI | 给人看的交互界面,比如聊天框、按钮、任务面板 | 不等于 Agent 本体 |
一句话记住:模型负责思考,Harness 负责给模型提供工作环境,UI 负责让人和系统交互。
chatbot 和 Agent 差在哪里
chatbot 的核心是对话。
你给它一条消息,它基于当前消息历史回一条消息。哪怕它支持多轮聊天、支持 system prompt、支持读取部分历史记录,它的核心还是“问一句,答一句”。
Agent 则更进一步。
它会围绕一个目标持续往前推进:判断下一步要做什么、必要时调用工具、拿到结果后继续,直到完成、失败,或者停下来请人确认。
所以这门课里会用一个很实用的区分方法:
- chatbot 重点是对话
- Agent 重点是执行
像 ChatGPT 这类产品,已经把长期记忆、搜索、工具调用等能力接进去,能解决很多问题。但如果没有围绕任务持续推进的循环,它更接近增强版 chatbot,而不是完整 Agent。
这套课主要教哪部分
主线重点教的是:从 LLM 调用,到 chatbot,到 Agent 系统这中间的一整层。
重点包括:
- 消息历史怎么组织
- system prompt 和 user prompt 各负责什么
- 上下文为什么会爆
- 上下文压缩怎么做
- Agent Loop 怎么把模型、工具和状态接起来
- 什么时候需要 Harness、MCP、RAG、Memory 这些更完整的机制
不放在主线中心的内容包括:
- 模型训练细节
- Transformer 公式推导
- 某个具体产品的全部 UI 细节
- 某家厂商的产品化胶水代码
先做一个最小 chatbot
这一课的课堂目标很简单:先让系统能聊起来。
最小 chatbot 只需要 4 个东西:
- 一条 system prompt,告诉模型基本角色
- 一条 user message,代表用户当前输入
- 一组 messages,保存对话历史
- 一次模型调用,把回复追加回 messages
只要这 4 步跑通,你就已经有了后面所有 Agent 的最小对话内核。
最小 chatbot 的消息长什么样
先不用管框架,最小版本只要看懂这组数据就够了:
ts
const messages = [
{
role: 'system',
content: '你是一个简洁的编程助理。',
},
{
role: 'user',
content: '解释一下什么是闭包',
},
]模型返回回复后,只是再往这个数组后面追加一条 assistant 消息:
ts
messages.push({
role: 'assistant',
content: '闭包就是函数和它定义时所处作用域的组合。',
})当用户继续追问时,再追加一条 user 消息,然后把整组 messages 再发给模型。
这就是最小 chatbot 的核心。后面所有上下文、压缩、Agent Loop,本质上都是围绕这组消息继续长出来的。
这一模块接下来怎么展开
第一课先把关系和最小 chatbot 建起来。
后面几课按这个顺序往前推:
- 为什么每次都要把聊天记录整段带回模型
- system prompt、user prompt、assistant 消息各自负责什么
- 为什么聊天越多,上下文越容易爆
- 为什么必须做上下文压缩
- chatbot 到哪里为止,才会开始变成 Agent
为什么它现在还不算 Agent
因为它还缺少 3 个关键部分:
- 没有围绕目标持续推进的循环
- 没有真正的外部动作执行链路
- 没有任务状态和终止条件
后面第二模块要补上的,正是这些东西。
本节产物
- 一个最小可运行的 chatbot
- 一张 LLM、chatbot、Agent、Harness、UI 的关系图
- 一份这套课主线范围说明
课堂实作
- 跑通一次 system prompt + user prompt + assistant 回复
- 把两轮对话都追加进 messages,观察历史消息如何影响回答
- 删掉历史消息再问一次,观察模型为什么会“忘掉前文”
并入项目
这一课会成为后面所有 Agent 项目的最小对话内核。
面试会怎么问
- chatbot 和 Agent 的区别是什么
- Harness 在 Agent 系统里负责什么
- 为什么支持搜索和记忆的产品,仍然不一定算完整 Agent
