如果你已经了解过 Bedrock 的大模型 API 调用和 SageMaker 的模型训练,可能会问一个更实际的问题——如何把它们组合起来,解决真实的业务问题?

单点的大模型 API 能对话,但要完成一个完整的业务流程——比如智能客服需要查订单、取消订单,或者文档处理需要 AI 提取 + 人工审核——就需要把多个服务串联起来。

今天这篇文章,就为你完整梳理 AWS AI 应用开发的架构模式与实践路径,从最基础的 API 调用到完整的 Agent 业务流程,覆盖不同复杂度的场景。

一、理解 AI 应用开发的架构逻辑

在开始写代码之前,先想清楚一件事:为什么单纯的 LLM API 调用不够用?

直接调用大模型 API 存在几个核心局限 :

  1. 无状态:大模型不会自动记住你上一句说了什么,每次调用都需要重新发送完整对话历史

  2. 无法访问业务数据:模型不知道你的订单系统里有什么,不知道用户的购买记录

  3. 缺乏结构化流程:纯大模型对话无法保证业务规则(比如“必须确认才能取消订单”)

这就是为什么需要 Agent(智能代理) 架构——它让大模型在理解自然语言的同时,能够调用工具、维持状态、遵循业务流程 。

二、五种集成模式:从简单到复杂

基于 AWS Bedrock 的 AI 应用开发,可以分为五个层次 :

模式一句话定位复杂度适用场景Converse API最基础的对话 API 调用⭐ 最低简单问答、内容生成、原型验证Inline Agents在 Lambda 中自己控制 Agent 循环⭐⭐ 中低自定义工具调用、快速迭代Bedrock AgentsCDK 基础设施即代码的 Agent⭐⭐⭐ 中高企业级 CI/CD、多 Action GroupLambda + LangGraph容器化 Lambda 中的工作流编排⭐⭐⭐ 高复杂多步流程、灵活控制AgentCore + LangGraph生产级 Agent 运行时 + 全量指标⭐⭐⭐⭐ 最高生产环境部署、完整可观测性

新手建议:从 Converse API 开始(5 分钟上手),熟悉后再逐步进阶到工具调用和 Agent 架构。

三、核心能力组件

无论选择哪种模式,一个完整的 AI 应用都离不开以下四个核心能力 :

1. 智能层(Intelligence):用 Bedrock 调用大模型

Bedrock 是 AI 应用的“大脑”,负责理解用户意图、提取关键信息、决定下一步行动 。通过统一的 Converse API,可以调用 Claude、Nova、Llama 等多种模型。

python

import boto3
import json

bedrock = boto3.client('bedrock-runtime', region_name='us-east-1')

response = bedrock.converse(
    modelId='anthropic.claude-3-sonnet-20240229',
    messages=[{
        'role': 'user',
        'content': [{'text': '我想查一下订单状态'}]
    }]
)

print(response['output']['message']['content'][0]['text'])

2. 记忆层(Memory):用 DynamoDB 维持对话状态

大模型是无状态的,需要借助外部存储来维持对话上下文。DynamoDB 是常见的方案——存储会话 ID、完整对话历史、提取出的关键信息(如订单号)。

3. 工具层(Tools):让 AI 能调用外部系统

工具调用(Tool Use / Function Calling)是 Agent 架构的核心。它让大模型不是“凭空回答”,而是通过结构化的方式调用你定义的工具 。

工具可以连接:

  • 数据库查询(查订单、查用户信息)

  • 业务 API(取消订单、修改任务)

  • 外部服务(查天气、网页抓取)

python

# 工具定义示例
tools = [{
    'toolSpec': {
        'name': 'get_order_status',
        'description': '根据订单号查询订单状态',
        'inputSchema': {
            'json': {
                'type': 'object',
                'properties': {
                    'order_id': {'type': 'string', 'description': '订单号'}
                },
                'required': ['order_id']
            }
        }
    }
}]

4. 编排层(Orchestration):用 LangGraph 管理多步流程

当业务逻辑涉及多个步骤时(比如:意图识别 → 查订单 → 确认操作 → 执行),就需要编排框架。LangGraph 是目前最流行的方案之一——它用有向图(Directed Graph)的方式定义对话流程,每个节点负责一个阶段,条件边控制路由 。

四、两种典型业务场景实战

场景一:智能客服 Agent(Bedrock + LangGraph + DynamoDB)

这是一个完整的无服务器智能客服系统架构,以订单查询和取消为例 :

工作流程

  1. 用户通过 WebSocket 发送消息 → API Gateway → Lambda

  2. Lambda 调用 Bedrock 识别意图,提取订单号

  3. 通过工具调用查询 RDS 数据库中的订单信息

  4. LangGraph 管理三步流程:意图识别 → 订单确认 → 执行操作

  5. DynamoDB 存储会话状态,支持多轮对话

  6. MLflow on SageMaker 提供完整追踪(每个节点的输入/输出、延迟、token 用量)

python

# LangGraph 状态图示例(简化)
from langgraph.graph import StateGraph

graph = StateGraph(ConversationState)
graph.add_node('entry_intent', handle_entry)   # 意图识别
graph.add_node('order_confirm', confirm_order) # 订单确认
graph.add_node('resolution', execute_action)   # 执行操作

graph.add_conditional_edges('entry_intent', route_by_intent)
graph.add_conditional_edges('order_confirm', route_by_confirmation)

场景二:文档处理流水线(Bedrock Data Automation + SageMaker 人工审核)

对于合同、发票等多页文档,单纯靠 AI 还不够——某些关键字段需要人工复核。AWS 提供了一个完整的集成方案 :

工作流程

  1. 文档上传到 S3,触发 Step Functions 工作流

  2. Lambda 调用 Bedrock Data Automation 提取文档中的关键字段,同时输出置信度评分

  3. 对于置信度低于阈值(如 70%)的字段,工作流将任务路由到 SageMaker Ground Truth 进行人工审核

  4. 审核人员通过私有工作团队 UI 查看并修正 AI 提取的内容

  5. 修正后的数据回写到 S3,形成最终输出

这个模式实现了“AI 处理 90% 的常规内容,人只复核不确定的部分”的效率平衡 。

五、SageMaker 在 AI 应用中的角色

在这类智能业务流程中,SageMaker 通常扮演两个角色 :

  1. 自定义模型训练与部署:如果 Bedrock 的现成模型不够用,可以在 SageMaker 中训练专属模型,然后部署为端点供应用调用

  2. 人工审核与标注:通过 SageMaker Ground Truth 构建人工审核工作流,用于处理 AI 不确定的边缘情况

六、快速上手路径

初级:用 Bedrock 示例库学习(1-2 小时)

AWS 官方提供了 Bedrock for Beginners 示例库,按顺序跑通以下示例,就能理解从 API 调用到完整 Agent 的全部核心概念 :

  1. Converse API:你的第一次模型调用

  2. 多轮对话:手动维护对话历史

  3. 工具调用:让模型使用 get_weather 函数

  4. 知识库(RAG):创建知识库,让模型基于 FAQ 回答

  5. Guardrails 安全护栏:拦截不当提问

  6. Capstone Agent:综合以上所有能力构建一个完整的大学 FAQ 聊天机器人

中级:用 AgentCore CLI 快速搭建生产级 Agent(30 分钟)

2025 年发布的 Amazon Bedrock AgentCore 大大简化了 Agent 的部署 :

bash

# 安装 AgentCore CLI
npm install -g @aws/agentcore

# 创建新项目(交互式向导:选择框架、语言)
agentcore create
cd my-agent

# 本地开发调试
agentcore dev

# 一键部署到 AWS
agentcore deploy

AgentCore 支持 LangGraph、Strands Agents、CrewAI 等主流框架,且与模型无关(可选用 Claude、Nova 等)。

别忘了“打扫房间”

实验完成后,按顺序清理资源 :

  1. 删除 Bedrock 知识库(如果创建了)

  2. 删除 S3 Vectors 存储桶(先清空再删除)

  3. 删除 Lambda 函数和 Step Functions 工作流

  4. 停止或删除 SageMaker 端点


AWS AI 应用开发早已超越了“调用一个 API”的阶段。从基础的 Converse API,到带工具调用的 Inline Agent,再到用 LangGraph 编排的复杂业务流程,AWS 提供了从简单到复杂的完整进阶路径。而 AgentCore 的推出,进一步降低了生产级 Agent 的部署门槛,让开发者可以聚焦于业务逻辑本身,而非基础设施