核心问题:Agent 和 ChatBot 的本质区别是什么?
场景引入:用户说"帮我查一下上周的销售数据,做个分析报告"
ChatBot:只能回答"我无法访问你的数据"
Agent:能理解→规划→执行→输出报告
讨论结论:
本质区别:
ChatBot 止于"理解",只能输出文本
Agent 始于"行动",能感知环境、规划任务、执行动作
Agent 定义:
Agent = 以 LLM 为核心,具备环境感知、任务规划、工具调用、记忆管理能力的自主任务执行系统
三大核心模块:
Tool Use 深入:
Tool 定义:name + description + parameters schema
工具过多时的优化策略:工具检索、工具分层、动态路由
工具选择链:意图拆解 → 阶段判断 → 类别筛选 → 具体工具
Planning 与执行循环:
ReAct 循环:Thought → Action → Observation → Thought → ...
退出条件:成功退出 / 失败退出(重试上限)/ 用户介入
错误恢复:需要推理能力 + 环境感知能力
Memory 设计:
短期记忆:最近几轮,原样保留
长期记忆:全部历史,摘要 + 向量检索
工作记忆:当前任务上下文
面试答题模板:
Agent 和 ChatBot 的本质区别在于"行动能力"。ChatBot 止于理解和生成文本,Agent 能感知环境、规划任务、调用工具执行动作,并根据反馈调整策略。核心组件包括 Planning、Tool Use、Memory,通过 ReAct 循环实现自主执行。