是什么
L2 · 主题中枢
Agent 基础
Agent 不是单一模型,而是由感知、推理、决策、行动构成的可执行系统
将感知、推理、决策、行动解耦,才能独立调试、替换与扩展,避免黑盒行为累积
为什么
当业务需要 AI 自主完成多步骤任务、处理动态环境或协调外部工具时,必须建立清晰的分层架构以避免状态混乱与不可控行为。
怎么做
从明确任务边界开始,依次设计感知输入格式、推理逻辑、决策规则与行动接口,并通过最小闭环验证各模块协同。
什么时候
适用于需自主规划、工具调用或环境交互的复杂任务;若任务为单次问答或固定模板执行,则无需引入完整 Agent 架构。
FOCUS
先记住这些
为什么需要模块化架构
单次 Prompt 无法处理状态依赖与动态环境,模块化设计使错误可定位、行为可预测、能力可组合
真正难在哪里
状态一致性维护、工具调用失败处理、决策路径可解释性、以及防止错误在循环中放大
什么时候引入 Agent
当任务涉及多步骤、环境变化、工具调用或结果依赖前序输出时;否则优先使用简单方案
ROUTE
学习路径
定义输入、输出、成功标准与失败容忍度
为感知、推理、决策、行动定义清晰的数据格式与职责
用单一工具与简单任务验证模块协同与数据流转
记录状态、设置超时、定义干预点与回退策略
PROBLEM / POSITION / INTERFACE
先弄清它为什么存在,以及谁在使用
-
01 解决的问题
当业务需求涉及多步骤执行、动态环境响应或外部系统交互时
缺乏分层架构会导致状态丢失、工具误调用、错误累积无法追溯,最终表现为不可控的随机输出
- 成功标准
- 各模块职责清晰、数据流转可观测、失败可定位、行为可干预,且能稳定完成预设任务闭环
-
02 AI 生态位
作为任务执行中枢,接收环境输入,经推理与决策后驱动工具或接口,形成感知-行动循环
- 上游
- 依赖业务需求定义、可用工具集、环境状态数据与上下文记忆
- 下游
- 为上层应用提供可组合的任务执行能力,输出结构化结果或触发外部系统动作
-
03 人的生态位
定义任务目标、设定约束条件、验收结果、干预异常路径,并在关键节点保留最终决策权
- 适合使用
- 任务需多步骤规划、环境状态变化、工具调用或结果依赖前序输出
- 不必使用
- 任务为单次问答、固定模板执行、或可通过简单规则/脚本解决时
-
04 独特价值
通过模块化分工实现复杂任务的自主执行,支持动态环境适应与工具组合,远超单次 Prompt 的能力边界
状态管理、错误传播、工具调用时序、决策可解释性与安全边界控制是核心难点
- 复杂度判断
- 复杂度不是功能数量,而是控制与验证成本。
INTERFACE FLOW
谁在操作,信息怎样流动
-
WHO OPERATES
HUMAN定义任务目标、设定约束条件、验收结果、干预异常路径
AGENT执行感知、推理、决策与行动的闭环循环
TOOL提供外部能力接口,执行具体操作并返回结果
-
INPUT
环境状态数据、用户指令、历史上下文、可用工具描述
-
CONTROL
任务目标定义、约束规则、工具选择策略、重试机制、超时阈值、权限边界
-
OUTPUT
结构化执行结果、工具调用记录、状态变更日志、异常信号,可能触发外部系统动作
FLOW
Agent 执行流程
COMPARE
Agent 与替代方案对比
| 维度 | Agent 架构 | 单次 Prompt | 规则脚本 |
|---|---|---|---|
| 任务复杂度 | 多步骤、动态环境 | 单次问答或固定模板 | 固定逻辑、无状态变化 |
| 工具调用 | 支持动态选择与组合 | 不支持或需硬编码 | 需预先定义所有路径 |
| 错误处理 | 可观测、可干预、可回退 | 错误直接暴露 | 依赖预设异常处理 |
| 开发成本 | 高(需设计模块与接口) | 低(直接调用) | 中(需编写逻辑) |
PRACTICE
Agent 最小构建步骤
import os
from openai import OpenAI
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
def perceive(user_input):
return {"intent": "query", "context": user_input}
def reason(perceived):
return {"path": "search", "query": perceived["context"]}
def decide(reasoned):
return {"tool": "search_api", "params": reasoned}
def action(decision):
# 模拟工具调用
return {"status": "success", "data": "result"}
def run_agent(user_input):
p = perceive(user_input)
r = reason(p)
d = decide(r)
result = action(d)
return result
print(run_agent("查找最新技术文档"))展示感知、推理、决策、行动的简化协同
{
"status": "success",
"data": "result",
"metadata": {
"perception": {
"intent": "query",
"context": "查找最新技术文档"
},
"reasoning": {
"path": "search",
"query": "查找最新技术文档"
},
"decision": {
"tool": "search_api",
"params": {
"path": "search",
"query": "查找最新技术文档"
}
},
"action": {
"status": "success",
"data": "result"
}
}
}FAQ
常见问题
01谁在实际设计和使用 Agent 架构?+
系统架构师定义模块边界,开发者实现接口,业务人员验收结果。
明确角色分工可避免职责混乱与调试困难。02Agent 与单次 Prompt 的核心区别是什么?+
Agent 支持多步骤执行、状态管理与工具调用,Prompt 仅处理单次输入输出。
避免在简单任务中引入不必要的复杂度。03最小可用 Agent 需要哪些组件?+
感知解析、逻辑推理、路径决策、工具调用与结果反馈闭环。
帮助快速验证架构可行性。04生产环境中最常见的失败点在哪里?+
状态丢失、工具调用超时、错误累积未拦截、决策路径不可解释。
决定监控重点与兜底策略。05什么时候不需要引入 Agent?+
任务为单次问答、固定模板执行或可通过简单脚本解决时。
控制系统成本与维护负担。