Agent 核心概念与架构
本篇建立 Agent 的最小心智模型:它和普通 Chatbot 差在哪、主循环是什么、最小系统长什么样。RAG / LangChain / GraphRAG / LangGraph 如何选型见 RAG 与框架选型。面试里先把定义说清,再谈 RAG / 工具 / FDE 交付。
概念落地的最小项目见 Agent 最小可运行项目;同一循环的图编排见 [LangGraph 编排实践](/docs/ai/Agent/LangGraph 编排实践);终端 coding harness 见 [Pi Agent Harness 实践](/docs/ai/Agent/Pi Agent Harness 实践);记忆分层见 [Agent 记忆分层实践](/docs/ai/Agent/Agent 记忆分层实践);题型展开见 Agent 系统高频题。
Agent vs Chatbot
| Chatbot | Agent | |
|---|---|---|
| 主能力 | 单轮/多轮对话生成 | 为完成目标而行动 |
| 外部世界 | 通常只靠上下文 | 可调用工具、读库、改状态 |
| 控制流 | 用户问 → 模型答 | 规划 → 行动 → 观察 → 再规划 |
| 失败形态 | 答错、幻觉 | 工具失败、死循环、权限越界 |
一句话:Chatbot 主要「说」;Agent 要在约束下「做完一件事」。
不是所有产品都该上 Agent:纯 FAQ、固定流程表单,规则或检索 + 生成往往更稳、更便宜。
感知 - 规划 - 行动循环
目标 / 用户请求
↓
感知(上下文、工具结果、检索片段)
↓
规划(下一步:再问人 / 调工具 / 直接答)
↓
行动(tool call、写库、发请求)
↓
观察(结果、错误、日志)──┘ (循环直到完成或放弃)
面试常考名:ReAct(Reason + Act)——交替「思考」与「行动」,用观察修正下一步。名字不重要,说清「有观察反馈」即可。
工具 / 记忆 / 规划 三角
| 支柱 | 解决什么 | 最小形态 |
|---|---|---|
| 工具(Tools) | 模型本身做不到的事 | 带 JSON schema 的函数:查库、算数、调 API |
| 记忆(Memory) | 跨轮/跨会话信息 | 短期:对话历史;长期:画像 / 业务库。落地见 [记忆分层实践](/docs/ai/Agent/Agent 记忆分层实践) |
| 规划(Planning) | 多步怎么排 | 隐式(模型自规划)或显式(任务列表 / 状态机) |
缺一不可时的典型症状:
- 无工具 → 只能空谈,无法落地
- 无记忆 → 每步失忆,重复问、重复错
- 无规划 → 一步赌一把,长任务易崩
单 Agent 最小架构
┌─────────────────────────────────────┐
│ Orchestrator(循环 / 终止条件) │
│ ├─ LLM(选动作 / 填参数 / 总结) │
│ ├─ Tool Registry(name → fn) │
│ └─ Memory / State(历史 + 中间量) │
└─────────────────────────────────────┘
│ tool call
▼
外部系统(DB / HTTP / 本地函数)
生产里还会加:权限闸门、超时与重试、轨迹日志、评测集。本期先认脸,细节见高频题与实践篇。
何时上 Agent(决策表)
| 信号 | 更倾向 |
|---|---|
| 步骤固定、可画流程图 | 工作流 / 规则引擎 |
| 需要查私有知识再答 | RAG(未必要 Agent) |
| 多工具、分支多、目标开放 | Agent |
| 强合规、动作不可逆 | 人审闸门 + 窄工具面 |
医疗问诊等高风险域的分层答法见 医疗问诊系统幻觉与风险平衡。
常见误解
- 「接了 GPT 就是 Agent」——没有工具与目标闭环,仍是 Chatbot
- 「Agent = 多 Agent」——单 Agent + 好工具往往够用;多 Agent 是复杂度税
- 「记忆 = 无限加长 context」——要分层:工作记忆 vs 检索记忆 vs 业务真源;写法见 [Agent 记忆分层实践](/docs/ai/Agent/Agent 记忆分层实践)
面试速记
- Agent 和 Chatbot 区别? Chatbot 主对话生成;Agent 为完成目标循环「规划→行动→观察」,通常带工具。
- ReAct 是什么? Reason + Act:交替推理与工具调用,用观察修正下一步。
- 三角是什么? 工具、记忆、规划;缺一会出现空谈、失忆或乱步。
- 何时不上 Agent? 固定流程、纯 FAQ、强合规不可逆动作——规则/RAG/人审更合适。
- 最小架构有哪些块? Orchestrator + LLM + Tool Registry + Memory/State(+ 日志评测)。