AI Agents简介:面向开发者的技术概述
Source: Dev.to
人工智能已经从静态的提示–响应模式转变为能够执行结构化操作的系统。这些系统被称为AI agents。虽然该术语在营销中常被夸大,但其底层架构是实用的,基于成熟的软件原理。
我参加了 Google 和 Kaggle 联合的 5 天 AI agents 强化课程,并承诺每天记录所学内容。
本文是一个 5 部分系列的第一篇,概述构建 AI agent 所需的基础概念,并为后续探讨实现细节、工具集成、编排、治理和评估的文章奠定基础。
什么是 AI Agent?
从技术上讲,AI agent 是一个使用语言模型、工具和状态管理来完成定义目标的软件系统。它通过受控的推理与行动循环运行,而不是仅仅作为被动的文本生成器。
一个典型的 AI agent 包括:
- 模型 – 用于推理
- 工具集合 – 用于检索信息或执行操作
- 编排器 – 管理模型与这些工具之间的交互
- 部署层 – 用于大规模运行系统
这种结构将模型从文本接口转变为可以支持业务流程或技术工作流的可操作组件。
AI Agent 工作流:思考–行动–观察循环
所有 agent 系统都遵循可预测的控制循环。该循环至关重要,因为它决定了正确性、安全性和资源使用。
-
任务获取
系统接收任务,可能来自用户请求或自动触发。
示例: “获取订单 #12345 的状态。” -
上下文评估
agent 评估可用信息:先前的消息、存储的状态、工具定义、策略规则。 -
推理步骤
模型生成计划。
示例:- 确认用于订单查询的正确工具
- 确认用于获取运输数据的工具
- 确定响应结构
-
执行行动
编排器使用已验证的参数调用选定的工具。 -
观察与迭代
agent 将工具输出重新纳入上下文,重新评估任务,并持续执行直至完成或终止。
这种受控循环防止了失控行为,并在生产系统中支持可预测的结果。
AI Agent 系统的核心架构
1. 模型层
模型负责所有推理。模型的选择取决于延迟要求、成本限制、任务复杂度以及输入/输出格式。可以使用多个模型进行路由、分类或分阶段任务,但最初的实现通常为简化起见只使用单一模型。
2. 工具层
工具提供操作能力。工具是一个具有严格输入/输出模式且文档清晰的函数。类别包括:
- 数据检索(API、搜索函数、数据库操作)
- 数据处理(格式化、过滤、转换)
- 操作行为(创建工单、发送通知、计算)
有效的工具设计应保持动作狭窄、可预测且文档完善。工具构成了 agent 的“行动面”,决定了系统完成目标的可靠性。
3. 编排层
该层监督系统,负责:
- 运行推理循环
- 应用系统规则
- 跟踪状态
- 管理工具调用
- 处理错误
- 调节成本和步骤限制
开发者在此定义 agent 的操作范围和边界。
4. 部署层
只有将 agent 部署为服务,它才有实际价值。典型的部署包括:
- API 接口
- 日志与可观测性
- 访问控制
- 会话数据或长期记录的存储
- 持续集成工作流
此层确保 agent 行为像可靠的软件组件,而非原型。
AI Agent 的能力层级
了解 agent 的能力层级有助于设定现实的期望。
| 层级 | 描述 |
|---|---|
| 0: 仅模型系统 | 模型仅回答查询,不使用工具或记忆。适用于文本生成或解释任务。 |
| 1: 连接工具的系统 | 模型使用少量工具完成直接任务(例如查询外部 API 获取事实信息)。 |
| 2: 多步骤系统 | agent 进行规划并执行一系列工具调用,支持需要中间决策的任务。 |
| 3: 多 agent 系统 | 两个或更多 agent 协作;协调者根据能力或领域将任务路由到专门的 agent。 |
| 4: 自我改进系统 | agent 能创建新工具或根据观察到的缺口重新配置工作流。当前主要处于研究阶段。 |
构建你的实用首个 Agent
开发者不需要复杂的系统即可运行一个简单的 agent。一个小而明确的项目足以帮助理解架构。以下步骤在 Kaggle Notebook 中使用 Google 的 Gemini 模型完成。
步骤 1. 配置 Gemini API 密钥
import os
# Replace with your actual key or load it from your environment manager
os.environ["GOOGLE_API_KEY"] = "YOUR_API_KEY_HERE"
print("API key configured.")

步骤 2. 导入 ADK 核心组件
from google.adk.agents import Agent
from google.adk.models.google_llm import Gemini
from google.adk.runners import InMemoryRunner
from google.adk.tools import google_search
from google.genai import types
步骤 3. 可选:重试设置
retry_config = types.HttpRetryOptions(
attempts=5,
exp_base=7,
initial_delay=1,
http_status_codes=[429, 500, 503, 504],
)
步骤 4. 定义你的首个 Agent
root_agent = Agent(
name="helpful_assistant",
description="A simple agent that can answer general questions.",
model=Gemini(
model="gemini-2.5-flash-lite",
retry_opt=retry_config,
),
tools=[google_search],
)
从这里你可以实例化一个运行器(例如 InMemoryRunner)并开始向 root_agent 发送查询。这个最小化的设置演示了构建功能性 AI agent 所需的核心要素——模型、工具、编排器和部署。