Agent = LLM + 工具 + 状态/记忆 + 任务流程控制
1. Agent和普通ChatBot的区别
普通ChatBot:
用户提问 → 模型答
Agent:
用户给目标 → 模型判断要做什么 → 调工具 → 看结果 →再决定下一步 → 最后交付结果
“Agent不是模型本身,而是一套模型驱动的执行系统”
2. Tool Calling:Agent的手和脚
Agent真正有用,是因为它能调用工具。 工具可以是:
searchKnowledgeBase(query)
saveConversationToMarkdown(content)
getUserWeakness(userId)
createReviewQuestion(topic)
updateProgress(topic, score)
模型本身是“大脑”,工具才能让它能操作真实世界。
LangChain文档里把tools定义为扩展Agent能力的函数,让Agent可以获取实时数据、执行代码、查数据库、采取行动。
“把App里的业务能力包装成模型可调用的工具”
3. Memory/State:Agent为什么能“越来越懂你”
Agent需要记忆,但记忆分集中。
短期记忆
当前这轮对话里的上下文,例如:
用户刚刚答错了 Android
onSaveInstanceState。
长期记忆
跨会话保存的信息,例如:
用户经常混淆Activity生命周期和Fragment生命周期。
任务状态
当前任务走到哪一步,例如:
{
"topic": "Android Lifecycle",
"current_question": 3,
"wrong_points": ["onStop vs onDestroy"],
"mastery_score": 0.62
}
LangChain现在也把短期记忆作为Agent state的一部分,Agent每一步执行时都会读取状态,并在工具调用后哥您。
“Agent必须知道任务进度,否则它只是一个健忘的聊天窗口”
4. RAG:让Agent查自己的知识库
RAG = Retrieval-Augmented Generation,检索增强生成。RAG and Agentic RAG
简单说:
先从资料库里找相关内容,再让模型基于这些内容生成。
比如选择学习“Android ViewModel”,Agent不是完全凭模型记忆回答,而是应该先查知识库:
Android Lifecycle Notes
ViewModel Source Code Notes
Official Android Docs Summary
Your Previous Wrong Answers
然后在生成问题。
LangChain文档也说,retrieval是让LLM在运行时访问相关上下文,RAG则是在检索基础上结合生成,给出有依据的回答。
比如在App中,RAG可以用:
用户选择:Android 架构
↓
检索相关笔记
↓
生成一个问题
↓
用户回答
↓
AI 根据检索内容纠错
↓
保存薄弱点
这比随记让AI出题强多了。
5. MCP:Agent时代的“USB-C接口”
MCP,全称 Model Context Protocol。
可以理解为:
让AI应用连接外部工具、数据库、本地文件、工作流的一套标准接口。
官方文档也把MCP形容成AI应用的“USB-C port”,让AI应用可以连接数据源、工具和工作流。
比如Cursor能读你的项目文件、调用某些工具,背后就和这种“上下文/工具连接协议”的方向有关。
6. 总结
Agent
├── LLM:负责理解、推理、生成
├── Tools:负责行动,比如查资料、存文件、调用 API
├── Memory / State:负责记住你是谁、学到哪、弱点是什么
├── RAG:负责从知识库中找依据
└── Workflow:负责控制流程,比如提问 → 评分 → 追问 → 复习