外观
一句话答案
Agent 基于 ReAct 循环(感知→思考→行动→观察),通过 Tool Calling 扩展 LLM 能力,实现复杂任务自动化。
核心要点
Agent Runtime 是 Agent 执行的核心引擎,负责管理 Agent 的运行生命周期。
核心组件:
┌─────────────────────────────────────────┐
│ Agent Runtime │
│ │
│ ┌──────────┐ ┌──────────────────┐ │
│ │ Planner │ │ Memory Manager │ │
│ │(规划模块)│ │ (记忆管理) │ │
│ └──────────┘ └──────────────────┘ │
│ │
│ ┌──────────┐ ┌──────────────────┐ │
│ │ Executor │ │ Tool Registry │ │
│ │(执行模块)│ │ (工具注册) │ │
│ └──────────┘ └──────────────────┘ │
│ │
│ ┌──────────────────────────────────┐ │
│ │ Observability │ │
│ │ (日志 / Trace / Metrics) │ │
│ └──────────────────────────────────┘ │
└─────────────────────────────────────────┘Agent 自主循环(ReAct Loop):
while not done:
1. Observation:获取当前状态(对话历史 + 工具结果)
2. Thought:LLM 推理下一步(Chain-of-Thought)
3. Action:选择并调用工具,或生成最终答案
4. if 调用工具:
执行工具,将结果追加到 Context
continue → 下一次循环
else:
返回最终答案,结束循环关键设计点:
- 最大迭代次数:防止无限循环,设置 max_steps(如 15 步)
- 超时控制:每次 LLM 调用和工具调用设置超时
- 状态快照:每步保存状态,支持断点恢复
- 并发控制:Multi-Agent 场景下的工具调用并发限流
追问与易错
追问方向:
- 这个概念在你的项目中是怎么应用的?
- 和相关技术/方案相比有什么优劣?
- 如果出了问题你会怎么排查?
易错点:
- ❌ 只知道概念不知道原理——面试官会追问底层实现
- ❌ 缺乏实际使用经验——结合项目场景回答更有说服力
💡 记忆锚点
Agent像一个有工具箱的实习生,靠ReAct循环干活:观察当前情况(Observation)→ 想想该怎么做(Thought/CoT)→ 挑个工具动手干(Action/Tool Call)→ 看看结果(Observation)→ 不满意再来一轮,直到搞定。关键防护:设max_steps防无限循环,每步存快照支持断点恢复,工具调用要超时和限流。