草稿

智能体基础原理、组成与执行流程:简易指南

智能体的本质在于认知循环与多模块协同,远超简单的 LLM+ 工具调用。理解其架构与执行流程,是构建高效自主 AI 系统的关键。本指南将从基础定义出发,逐步引导你构建第一个 AI 代理。

AI 代理基础:定义与特性

现代 AI 代理是一类能够感知环境、处理信息并自主行动的软件系统,它们通过大语言模型 (LLM) 等智能组件理解上下文、推理并适应变化。IBM 对 AI 代理的定义是:一套能够代表用户或其他系统自主执行任务、设计工作流程并使用工具的软件系统。

AI 代理具有以下核心特征:

  • 自主性:在最低限度的人为干预下独立运行。
  • 感知:从环境中获取信息并进行处理。
  • 推理:将复杂问题分解并规划解决方案。
  • 行动:通过集成的工具或 API 执行任务。
  • 学习:通过经验和反馈不断改进表现。

构建智能体的基础架构

在智能体(Agent)设计中,认知循环(Cognitive Loop)是核心理念。它强调智能体应具备感知、推理、记忆和执行四大子系统,并通过闭环反馈实现自我学习和持续优化。这一理念明确指出,自主智能体不仅仅是 LLM 加工具调用,而是多模块协同的复杂系统

下图展示了智能体认知循环的基本架构:

图 1: 智能体认知循环架构
图 1: 智能体认知循环架构

感知系统(Perception System)

感知系统负责将环境信息转化为 LLM 能理解的语义表示,是智能体与外部世界交互的入口。常见类型包括:

  • 文本感知:仅依赖文本输入,适用于对话类任务。
  • 多模态感知:视觉 - 语言模型(VLM / MM-LLM)处理图像、视频、音频等多模态输入。
  • 结构化数据感知:通过 HTML/Accessibility Tree 解析 GUI,或 JSON/数据库获取结构化信息。
  • 工具增强感知:通过 API、搜索引擎、数据库、代码执行等外部工具感知世界。

关键技术包括 Vision Transformer(ViT)、CLIP、VCoder、Set-of-Mark 操作、HTML DOM/Accessibility Tree、Web API、SQL 查询等。

推理与规划系统(Reasoning System)

推理与规划系统让智能体能够分解任务、生成计划并进行反思。其核心能力包括:

  • 任务分解:如 DPPM、HuggingGPT、Plan-and-Solve 等模型。
  • 多计划生成与选择:Chain-of-Thought (CoT)、Tree-of-Thought (ToT)、Graph-of-Thought (GoT)、LLM-MCTS、RAP 等方法。
  • 反思机制:自评与反馈学习(Verbal RL、Anticipatory Reflection)。
  • 多智能体协作:通过专家模块协同(如规划、记忆、执行、安全等专家)。

建议采用 CoT/ToT 结合 Reflection 机制,形成闭环推理,并构建模块化专家体系(如 AutoGen、CrewAI)。

核心架构

网站提出了 AI 代理的三个基础组件:AI 大脑(LLM)记忆工具

  • AI 大脑:核心 LLM,用于理解输入、推理和生成决策。
  • 记忆系统:存储上下文、历史交互和学习结果;包括工作记忆、情景记忆和语义记忆等多层结构。
  • 工具:代理可调用的外部 API 或功能模块,用于查询数据库、访问知识库、发起网络请求等。

在此基础上形成了"感知–推理–行动接口"的架构:感知层 负责处理文本、图片、API 数据等输入;推理引擎 分析信息并生成决策;行动接口 执行决策,通过调用工具或返回响应;记忆系统 在多次交互间维护上下文,帮助代理在长期运行中学习和调整。

Think-Act-Observe 工作流

AI 代理采用类似人类的"思考–行动–观察"循环:思考 (Think) 分析情况、制定计划;行动 (Act) 执行计划并调用相应工具;观察 (Observe) 评估行动效果、更新记忆并调整策略。这一循环确保代理能够适应变化环境并持续优化。

记忆系统(Memory System)

记忆系统支持智能体的长期知识、短期上下文与动态学习。主要类型有:

  • 短期记忆:依赖上下文窗口,可用摘要或滑动窗口机制维持对话状态。
  • 长期记忆:RAG、Embodied Memory、SQL/图数据库、AWM(Agent Workflow Memory)。
  • 存储内容:经验、流程、知识、用户信息等。
  • 挑战:上下文长度限制、记忆去重、隐私与过时问题。

执行系统(Execution System)

执行系统负责将内部计划转化为真实动作,是智能体与外部世界交互的出口。主要机制包括:

  • 工具/API 调用:结构化函数调用、JSON schema 描述的 Tool Use。
  • 多模态动作空间:支持 GUI 自动化、代码生成与执行、机器人控制等。
  • 同步与误差控制:避免视觉延迟、状态错乱、错误传播。

架构整合与自我学习

智能体必须形成“闭环系统(closed-loop autonomy)”,即感知 → 推理 → 执行 → 反馈 → 反思 → 记忆更新。未来研究方向包括自监督反思学习、单次示范学习、人机协同智能体等。

为便于理解各模块与主流项目的对应关系,下面以表格形式进行总结。

模块可补充内容对应项目/框架
感知系统引入 VCoder / SoM / Accessibility Tree 的架构模式OpenDevin, OSWorld
推理系统扩展 ToT、ReAct、DPPM、Reflection 机制LangGraph, AutoGen
记忆系统增加长期 + 短期混合记忆实现方案LangChain Memory, MemGPT
执行系统讲解工具调用与 GUI 控制CrewAI, OpenInterpreter
多智能体系统增加专家智能体协作设计ChatDev, CAMEL, AgentVerse
表 1: 智能体架构模块与主流项目/框架对照表

参考: Fundamentals of Building Autonomous LLM Agents - arxiv.org

智能体执行流程

理解智能体的执行流程有助于把握其实际工作机制。整体流程可概括为感知、思考、行动的循环:

感知(解析意图)

Agent 首先接收用户请求或环境输入,利用 LLM 解析任务意图。例如,用户询问“明天巴黎天气如何?”,Agent 识别出需调用天气 API 获取答案。

思考(决策规划)

在思考阶段,Agent 采用 Chain-of-Thought(CoT)推理,决定采取哪些动作。LLM 会输出如“Thought: 我需要获取天气 -> Action: 调用 WeatherAPI(location=巴黎)”的推理链,体现分析与计划能力。

行动(调用工具)

Agent 根据思考阶段的决策,调用预先注册的工具函数(Tools)并获取结果。工具可包括数据库查询、API 调用、计算等。例如,Agent 会调用 WeatherAPI 函数获取巴黎天气数据。

观察(获取结果)

工具执行完毕后,结果返回给 Agent。Agent 将结果加入上下文,LLM 综合新信息继续推理,判断是否需要进一步行动或已获得答案。

终止(给出答案)

当 Agent 判断任务完成(或达到步数上限),LLM 生成最终答案输出,通常以 Action: Finish 标志结束,并给出 Final Answer

智能体组成要素

智能体系统的核心组成包括:

  • 一个或多个 LLM:作为大脑进行推理与生成。
  • 工具清单:每个工具定义可执行函数及使用说明。
  • Prompt 模板:引导 LLM 以特定格式进行思考和行动(如 ReAct 格式)。
  • 执行循环逻辑:由框架提供,负责解析 LLM 输出并调用工具。

代码示例

以下为一个简单的 Agent 工具定义与调用示例,帮助理解实际开发流程。

# 使用 LangChain 框架定义和调用 Agent 工具
from langchain.agents import Tool, initialize_agent, AgentType
from langchain.llms import OpenAI

# 定义一个简单的乘法工具
def multiply_numbers(x: str, y: str) -> str:
    return str(int(x) * int(y))

math_tool = Tool(
    name="MultiplyNumbers",
    func=multiply_numbers,
    description="接收两个数字字符串,返回它们的乘积"
)

# 初始化 LLM 和 Agent
llm = OpenAI(temperature=0)  # 使用 OpenAI 的 LLM,temperature=0 保证确定性
agent = initialize_agent([math_tool], llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)

# 让 Agent 解决一个需要计算的任务
result = agent.run("如果我有 123 个苹果,每个苹果切成 456 片,我总共有多少片?")
print(result)

上述代码中,定义了名为 “MultiplyNumbers” 的工具,并用 LangChain 的 initialize_agent 快速创建了一个遵循 ReAct 模式的零样本 Agent。运行 agent.run 时,Agent 会自动决定调用乘法工具完成计算,并将结果插入最终回答。整个执行流程由 LangChain 框架接管,包括解析 LLM 输出、调用工具、结果回填等,开发者只需提供工具和 LLM 即可。

Subagents(子代理)与专家顾问天团

在复杂 AI 编程场景中,单一 Agent 随对话推进易导致上下文膨胀和主线污染。Subagents(子代理)实践将复杂任务拆解为多个专精、上下文隔离的子角色,每个子代理在独立上下文中完成明确子任务,结果再汇总主线。Claude Code 等平台已将其产品化,形成“专家顾问天团 + 工作流编排”模式。

为什么使用 Subagents

采用 Subagents 主要有以下优势:

  • 上下文隔离:子代理独立上下文,避免主线被无关信息污染。
  • 任务专业化:每个子代理聚焦原子化职责(如依赖升级、代码审查、i18n 校验),提升准确率。
  • 可复用与治理:项目级/用户级子代理配置可复用,并可设置工具与权限边界。
  • 流程可编排:多个子代理按顺序组合成 workflow,提高可靠性与可验证性。

常见激活方式

Subagents 的激活方式包括:

  • 自动委托:平台根据 description 与上下文自动匹配并委派任务,适合常见职责。
  • 显式调用:在提示词中直接指定,如 Use the test-runner subagent to fix failing tests@agent- 选择子代理。
  • 配置强化:通过项目或用户级配置文件(如 .claude/agents/*.md)指定触发条件和默认行为,提升调用确定性。

设计与实现要点

Subagents 设计需关注以下要点:

  1. 原子化粒度:将职责拆分为最小可复用单元,如 i18n-validatormaven-build-specialistdependency-version-upgrader 等。
  2. 明确输入/输出:每个子代理声明所需输入、产出文件路径,便于主线与其他子代理传参。
  3. 中间产物显式化:依赖前序结果时,建议将结果写入临时目录(如 /tmp/implementation/),并在描述中注明读写权限与文件名。
  4. 强化匹配关键词:在 description 中加入 use PROACTIVELYMUST BE USED 等关键词,提高自动委托命中率。
  5. 工具与模型隔离:子代理可配置不同模型或工具集(如限制某些子代理不能执行网络写入),用于安全治理。

子代理配置示例

以下为子代理配置的 Markdown + YAML 前置示例:

---
name: i18n-validator
description: 多语言校验专家,检测 i18n 问题,检测缺失翻译与格式错误。use PROACTIVELY
tools: [Read, Grep, Glob]
model: sonnet
---
你是国际化专家。步骤:1. 扫描代码与资源文件;2. 列出缺失或异常翻译;3. 输出修复建议并写入 /tmp/i18n-report.md

子代理 Workflow 编排

对于复杂但可复用的业务流程(如添加领域模型新字段),可将每一步做成子代理并顺序执行,显著降低人工成本:

  1. dependency-version-upgrader(依赖管理)
  2. domain-model-field-enhancer(领域模型修改)
  3. maven-build-specialist(编译验证)
  4. tester(自动化测试与回归)

每个节点输出作为下一个节点输入,最终由主 Agent 或验证 Agent 做合规校验与收尾。

权衡与注意事项

  • 延迟:每次启动子代理需重新加载上下文与资源,增加执行延迟。
  • 上下文切换成本:为保持隔离,子代理通常不自动继承主线全部上下文,需显式传参或文件传递。
  • 可维护性:子代理库需团队沉淀和规范,避免重复与冲突。

热门 AI 代理框架

指南对多个主流框架进行了比较,开发者可根据需求选择:

框架关键特性适用场景
LangGraph基于 LangChain,采用图模型管理复杂流程;支持状态管理、条件路由、并行执行和错误处理复杂工作流、多步骤任务、状态机
LlamaIndex专注数据索引和检索;提供查询引擎、RAG 优化、多模态支持和知识图谱知识库、文档检索、数据分析
CrewAI支持多代理协作,强调角色划分、任务委派和协同工作团队自动化、协作性项目
n8n无代码/低代码平台,提供可视化工作流编辑和丰富集成;适合原型开发或非技术用户
Agno Framework现代化高性能框架,强调可伸缩性和云原生设计高性能应用、企业级部署

总体建议:初学者可选择 LangChain(功能全面)或 n8n(可视化无代码);复杂工作流可用 LangGraphCrewAI;数据密集型应用推荐 LlamaIndex;需要高性能或企业级部署的场景可考虑 Agno Framework

专项框架与新兴协议

  • Hugging Face Agents Course:提供交互式笔记本、最新模型和实际案例,是初学者学习代理开发的优秀资源。
  • Agent‑to‑Agent (A2A) 协议:规范代理间通信,包括安全消息交换、任务委派和资源共享,适用于多代理协作及跨平台集成。
  • Model Context Protocol (MCP):主张统一的 AI 集成标准,实现跨平台兼容、安全数据访问和实时同步,减少集成复杂度并加速开发。
  • AgentOps:面向生产环境的监控与运营工具,提供实时性能指标、对话跟踪、错误检测、自动化部署、版本控制、A/B 测试和成本优化等功能,支持多租户和合规要求。

这些协议推动了代理生态的标准化、互操作性和运维能力,为企业 adoption 奠定基础。

构建第一个 AI 代理:分步教程

指南以构建一个 客户服务代理 为例,展示完整开发流程。

定义目标与能力

该代理能处理常见客户咨询、查询公司知识库,并在遇到复杂问题时升级到人工客服。核心能力包括自然语言处理、知识库检索和人工升级逻辑。

环境准备

  • 系统要求:Python ≥3.8;若提供网页界面则需 Node.js ≥16;Git 用于版本控制;推荐使用 VS Code。

  • 依赖:OpenAI API 密钥 (GPT‑4);向量数据库(如 Pinecone 或 Weaviate);可选云账号。

  • 创建虚拟环境并安装依赖

    python -m venv ai-agent-env
    source ai-agent-env/bin/activate
    pip install --upgrade pip
    pip install langchain openai python-dotenv
    pip install chromadb streamlit requests
    # 可选:pip install langsmith jupyter pytest
    

配置环境

创建 .env 文件,存放 API 密钥和可选配置:

OPENAI_API_KEY=your_openai_api_key_here
LANGCHAIN_TRACING_V2=true
LANGCHAIN_API_KEY=your_langsmith_key_here
VECTOR_DB_URL=your_vector_db_url_here
AGENT_NAME=CustomerServiceAgent
MAX_ITERATIONS=10
TEMPERATURE=0.1

.env 文件加入 .gitignore,避免泄漏密钥。

编写代理核心逻辑

示例代码使用 langchain 创建了一个 CustomerServiceAgent 类,定义了三种工具:查询知识库 (search_knowledge_base)、升级到人工 (escalate_to_human) 和查询订单状态 (check_order_status)。然后使用 create_openai_functions_agent 创建代理执行器,并设置会话记忆窗口、最大迭代次数和提示模板。代码结构清晰,展示了如何将工具函数整合进代理,使其能根据用户输入灵活调用不同功能。

验证环境

编写简单测试脚本验证 OpenAI API 连通性和环境配置,例如调用 gpt-3.5-turbo 发送"Hello, world!“并输出响应。

通过上述步骤,开发者可以快速搭建一个具备记忆、工具调用和人类升级逻辑的客户服务代理,为深入开发奠定基础。

部署与托管

成功开发代理后,需要将其部署到可靠的平台,指南提出 性能、可靠性和可观测性 三大支柱:

  • 性能:优化响应时间、并发处理和缓存策略。
  • 可靠性:构建容错机制、健康检查、故障转移和备份策略。
  • 可观测性:通过日志、追踪、指标和警报了解代理在生产环境中的行为并快速定位问题。

云平台选项

  1. AWS – 通过 EC2 托管实例、RDS 存储会话历史、Lambda 部署轻量代理,并利用 CloudWatch 进行监控。指南还提供了一个 docker-compose.yml 示例,可在容器中部署代理、Redis 和 Nginx。
  2. Google Cloud Platform (GCP) – 利用 Cloud Run 进行无服务器容器部署,使用 Vertex AI 管理模型,搭配 Cloud Functions 和 Cloud Monitoring 实现事件驱动和可观察性。该平台适合数据密集型工作负载。
  3. Microsoft Azure – 为企业环境提供 App Service、OpenAI Service、Container Apps 和 Application Insights,适合与微软生态集成并满足合规要求。
  4. 专业平台 – 如 Hugging Face Spaces(适合演示和原型、提供免费额度和模型托管),以及 Vercel/Netlify(用于 Web 代理的边缘部署和自动伸缩)。

开发者应根据工作负载、成本、生态偏好和合规要求选择平台。

安全与合规

AI 代理经常处理敏感数据和调用强大工具,安全是设计时必须考虑的核心。主要措施包括:

  • 身份认证与授权:实施多因素身份验证,使用 JWT 等方式验证令牌,并通过 角色访问控制 (RBAC) 区分管理员、开发者、查看者和普通用户。
  • 输入验证与防注入:对用户输入进行清理,避免“忽略前面指令”等提示注入;限制输入长度、过滤敏感词汇等。
  • 内容过滤与速率限制:阻止恶意代码注入、过滤不当内容并限制请求速率,防止滥用代理工具。
  • 合规要求:遵守 GDPR、SOC 2 等通用标准,并针对行业规范(如医疗的 HIPAA、金融的 PCI DSS、政府的 FedRAMP)实施数据加密、访问控制、日志审计和事故响应计划。

指南还强调每个安全问题的缓解措施,例如通过输入消毒、模板约束、防止工具滥用以及实施加密和访问控制等手段。

进阶议题

为了让 AI 代理更高效和智能,本指南提出了一些高级技巧和系统设计:

  • 模型选择策略:根据任务复杂度和延迟要求,在不同模型之间动态选择。例如在简单任务中使用速度快的模型,在复杂任务或需要推理时选择更强大的模型。
  • 提示优化:包括动态调整提示长度、上下文压缩、优化少样本示例和缓存模板等。
  • 分层记忆系统:将工作记忆、情景记忆和语义记忆结合,采用多层检索策略按优先级返回相关上下文。
  • 智能缓存:对嵌入向量和相似查询结果进行缓存,预测性预加载并设计缓存失效策略。
  • 性能监控与分析:关注 P95/P99 响应延迟、令牌使用效率、任务成功率和内存利用率等指标;通过 A/B 测试比较不同提示、模型或架构版本,优化成本与用户体验。

这些技术可帮助开发者在产品化过程中提升代理性能、降低成本并确保用户满意度。

总结

本文系统梳理了智能体的认知循环架构、核心子系统、执行流程及子代理机制。通过模块化设计、专家协作与闭环反馈,智能体可实现高效自主决策与持续进化。理解并掌握这些原理,是开发强大 AI Agent 系统的基础。

指南在结尾部分强调了几个核心理念:

  • 可观测性至关重要:从第一天起就要建立完善的监控体系,以便快速调试和优化。
  • 安全设计优先:安全不是事后补救,而应融入系统设计的每个阶段。
  • 拥抱迭代开发:代理系统需要在真实使用中不断学习和改进。
  • 社区协作:开放源码和社区分享是 AI 代理生态蓬勃发展的动力。

网站还给出了"下一步"建议:动手构建实际项目、加入社区并持续学习。随着 AI 代理市场预计从 2024 年的 51 亿美元 增长到 2030 年的 471 亿美元,开发者正站在这一技术浪潮的前沿。未来机会包括企业自动化、消费者助理、医疗和研究应用、内容创作工具、教育培训系统等领域。AI 代理的发展将赋能企业、提升人类能力并解决复杂问题。

参考文献

文章导航

章节内容

这是章节的内容页面。

章节概览