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:负责控制流程,比如提问 → 评分 → 追问 → 复习