Skip to content

Agent 架构模式

本页解决什么:解释 Agent 为什么不是聊天窗口,而是由目标、上下文、工具、记忆、状态、权限和评估组成的执行系统。读完后应能判断什么时候需要 Agent,什么时候普通 RAG 或工作流就够了。
Agent 由模型、目标、上下文、工具、记忆和评估组成的架构图
Agent 不是聊天窗口,而是把目标、上下文、工具、记忆、状态和评估组合起来的执行系统。
Agent 从计划、执行、观察、评估到回退和转人工的执行闭环
靠谱 Agent 需要闭环:计划、执行、观察、评估;低置信、越权或失败时必须回退或转人工。

基本原理

Agent 不是聊天机器人。一个可用的 Agent 至少包含:模型、目标、上下文、工具、状态、记忆、评估和权限。模型负责理解和生成,Agent 系统负责把这些输出变成可执行、可观察、可中断的任务流程。

Agent 解决的问题是:单个 LLM 只能生成文本,不能可靠地查数据、调用 API、执行代码、读取文件、维护任务状态或处理长流程。Agent 把模型和外部世界连接起来。

AIMA Agent 类型

AIMA 的传统 Agent 类型可以帮助判断现代 Agent 需要哪些能力。简单规则型 Agent 适合稳定规则,基于模型的 Agent 需要内部状态,目标型 Agent 需要搜索和规划,效用型 Agent 需要权衡风险和收益,学习型 Agent 则通过反馈改进策略。

AIMA 类型现代对应适合场景
Simple reflex agentif-then 规则、阈值告警简单质检、监控报警
Model-based reflex agent带状态的工作流 Agent多轮任务、设备状态监控
Goal-based agentPlan-and-Execute、规划型 Agent报告生成、实验流程、代码任务
Utility-based agent带打分和权衡的决策 Agent风控、调度、成本/质量平衡
Learning agent从反馈中改进的 Agent推荐、强化学习、自动优化

ReAct

ReAct 是 Reason + Act 的组合:模型先推理当前状态,再选择工具行动,得到观察结果后继续推理。它适合检索问答、网页任务、数据分析和工具型助手。

text
Thought: 我需要知道项目里有哪些文件。
Action: list_files(path=".")
Observation: 返回文件列表。
Thought: 发现有 docs 目录,下一步读取配置。
Action: read_file(path="docs/config.md")

常见模式

模式机制解决的问题适用场景
ReAct推理、行动、观察循环动态工具调用检索、网页、数据分析
Plan-and-Execute先规划,再执行长任务拆解报告、研发任务、实验分析
Router按任务路由模型或工具成本和能力匹配多模型客服、知识助手
Reflection执行后反思修正迭代改进代码修复、复杂推理
Evaluator-Optimizer生成器和评估器循环质量控制文案、代码、报告
State Machine状态图控制流程生产流程可控审批、工单、实验管线

Python 入口

python
# LangGraph 风格的最小状态图示意
from typing import TypedDict

class State(TypedDict):
    question: str
    answer: str

def retrieve(state: State) -> State:
    state["answer"] = "检索到相关资料"
    return state

def generate(state: State) -> State:
    state["answer"] = f"基于资料回答:{state['question']}"
    return state

# 真实项目可用 langgraph.graph.StateGraph 把节点和边显式编排。

这个示例只展示状态式 Agent 的思想:任务状态在节点之间传递,而不是只靠一次 prompt。

下一步

维知 Wiki · 面向应用工程的 AI 知识与训练系统