模型的手脚被「捆住」了
LLM 再聪明,它本质上只会一件事:输出文字。问它「现在北京几点」,它要么瞎猜,要么承认不知道。它不能搜索、不能算大数、不能操作文件——除非我们给它工具。
Agent(智能体) = LLM(大脑)+ 工具(手脚)+ 循环(工作流)。
ReAct:像人一样边想边做
一个经典 ReAct 循环长这样:
任务:查一下 DeepTutor 项目有多少 Star,并换算成 3% 是多少。
Thought(思考):我需要先查到 Star 数,再算 3%。
Action(行动):调用工具 web_search("HKUDS DeepTutor github stars")
Observation(观察):搜索结果约 20k stars。
Thought:拿到 20k,接下来用 calculator 计算 20000 * 0.03。
Action:调用工具 calculator("20000 * 0.03")
Observation:600
Thought:任务完成,输出最终答案。
Final Answer:DeepTutor 约 2 万 Star,其 3% 约为 600。
工具调用的真相
模型并没有「亲手」执行任何东西。真实流程是:
模型输出 → {"tool": "calculator", "args": {"expr": "20000 * 0.03"}}
↓
外部框架解析这段 JSON → 真正执行计算 → 把结果 "600" 拼回上下文
↓
模型看到 Observation → 继续下一步思考
框架就是在这里实现「安全围栏」:哪些工具可用、参数是否合法、要不要人工确认。
从 DeepTutor 看 Agent 的形态
HKUDS 的 DeepTutor 就是一个典型的学习 Agent:它把辅导、测验、深度研究、可视化整合在一个工作区里,背后是统一的 Agent 循环——按需调用知识库检索(RAG)、联网搜索、代码执行等工具,并维护跨会话的学习记忆。本站把这些「学习模式」静态化成了路线图、测验和抽认卡;而 DeepTutor 的动态部分,正是这一章的 Agent 机制。
两条安全提醒
- 最小权限:给 Agent 的工具只开放必要能力,代码执行要隔离沙箱。
- 人工确认:涉及花钱、发消息、删数据的高危动作,必须加一层人工审批。
💡 一句话总结:Agent 之所以强,不是因为模型变聪明了,而是它第一次拥有了「行动 → 看结果 → 调整」的闭环。