详细内容或原文请订阅后点击阅览
使用 Amazon Bedrock AgentCore 的 AI 驱动开发生命周期
采用人工智能驱动开发生命周期 (AI-DLC) 的工程团队通常很难将概念转化为工作代码。本文将介绍 Amazon Bedrock AgentCore、Kiro 和 Claude Code 上的两个参考实现:一个 SQL 到 ER 图表生成器和一个将 AI-DLC 构建阶段付诸实践的多代理代码安全分析器。
来源:亚马逊云科技 _机器学习采用 AI 驱动开发生命周期 (AI-DLC) 以及 Amazon Bedrock AgentCore 和 Kiro 等编码代理的工程团队经常会遇到概念框架和工作代码之间的差距。 Amazon Bedrock AgentCore 是一项用于使用任何框架或模型大规模构建、连接和优化代理的服务。 AI-DLC 将人工智能定位为整个软件开发生命周期的中心协作者,负责处理例行执行,而人类则保留对关键决策的监督。这篇文章通过工作参考实现弥补了这一差距。
本文介绍了两个参考实现背后的架构、设计决策和关键代码模式,这两个参考实现演示了使用 Amazon Bedrock AgentCore、Kiro 和本地代理编码工具的 AI-DLC 构建阶段模式。第一个使用 AgentCore 运行时(Amazon Bedrock AgentCore 的一项功能)从 SQL 架构生成 Mermaid 实体关系图。第二个通过多代理架构提供自动化代码安全分析,该架构使用 AgentCore Gateway(Amazon Bedrock AgentCore 的一项功能)、AgentCore 内存(Amazon Bedrock AgentCore 的一项功能)以及外部工具集成。它们共同说明了如何构建人工智能驱动的工作流程,在加速交付的同时保持人机参与的治理。两种实现都链接到各自 GitHub 存储库中的完整部署说明。
AI-DLC构建模式的实践
AI-DLC 构建阶段让 AI 提出架构、生成实施计划、生成代码和创建部署工件,团队成员实时提供技术决策的澄清。此处描述的实现直接映射到此模式:
两个系统共享一个基于 AgentCore 的通用架构基础,展示了团队如何从模块化、可管理的组件组成人工智能驱动的工作流程。
解决方案 1:SQL 架构到 ER 图生成
此 AWS Samples 项目使用 Amazon Bedrock AgentCore 上的代理 AI 工作流程从 SQL 架构文件自动生成 Mermaid ER 图。开发人员签入 SQL 代码后,Amazon Simple Storage Service (Amazon S3) 触发器和基于 AWS Lambda 函数的工作流程会调用 AgentCore 运行时,该运行时会解析数据定义语言 (DDL) 以生成保存回 Amazon S3 的 .mmd 图表。它只读取模式元数据(表、约束和外键),从不读取行数据,这使其成为模式到图自动化的干净参考。
业务挑战
管理不断发展的 SQL 模式的数据库团队需要当前的实体关系文档。手动创建 ER 图非常耗时,而且文档经常偏离实际模式。当架构通过拉取请求发生变化时,团队需要更新图表,而无需向开发工作流程添加手动文档步骤。
架构
系统采用无服务器、事件驱动的架构,具有以下组件:
图 1:用于 SQL 架构到 ER 图生成的事件驱动架构
输出存储:生成的.mmd 图表文件以专用前缀保存到 Amazon S3,元数据跟踪源文件和生成时间戳。
实施细节
代理实现使用 BedrockAgentCoreApp 运行时包装器和 @app.entrypoint 装饰器来注册处理程序:
from bedrock_agentcore.runtime import BedrockAgentCoreApp
从 bedrock_agentcore.memory 导入 MemoryClient
应用程序 = BedrockAgentCoreApp()
模型= BedrockModel(model_id =“us.anthropic.claude-sonnet-4-5-20250929-v1:0”,region_name =“us-west-2”)
erdiagram_agent = 代理(模型=模型)
Memory_client = MemoryClient(region_name="us-west-2")
@app.entrypointasync defgenerate_er_diagram(payload: Dict[str, Any]) -> Dict[str, Any]:sql_content = Payload.get("sql_content", "")file_name = Payload.get("file_name", "unknown_file.sql")# 生成图,存储在内存中,保存到S3...关键设计决策包括:分块处理:大型 SQL 文件被分成可管理的段,独立分析,然后合并为统一的图表。这可以处理具有数百个表的模式,而不会超出上下文限制。结构化提示:代理使用系统分析提示,在生成图表语法之前提取表、列、数据类型、主键和外键关系。OpenTelemetry 跟踪:每个步骤都使用跨度和属性进行检测,提供对处理持续时间、块计数和错误归因的可观察性。完整的实现(包括 OpenAI Codex 技能和 MCP 服务器集成)可在 example-to-create-mermaid-entity-diagrams-from-sql-using-agentic-ai-on-agentcore 存储库中找到。解决方案 2:安全软件切换安全合规性代码审查需要跨 CVE 数据库、组织编码策略和特定于语言的安全模式的专业知识。手动安全审查会在交付管道中造成瓶颈,并且跨团队标准应用的不一致会导致代码质量参差不齐。该解决方案通过多代理架构提供自动化代码安全分析,以实现开发阶段之间的安全软件切换:关键功能
此无服务器代码安全分析解决方案使用 Amazon Bedrock AgentCore 自动扫描 Python 或 Java 代码中的安全漏洞、依赖项中的 CVE 风险以及策略违规。当代码从 GitLab 管道推送到 Amazon S3 时,会触发分析。然后,基于 Strands 的代理使用 Amazon Bedrock 上的 Anthropic Claude Sonnet 模型评估代码。它调用在 AWS Lambda 上运行的模型上下文协议 (MCP) 工具来进行 CVE 和策略检查。 (有关按区域划分的模型可用性,请参阅按模型划分的区域可用性。)结果(包括从 1 到 10 的质量分数和建议)通过语义搜索存储在 AgentCore 内存中,并通过基于会话的实时 Web 仪表板显示。 Amazon Cognito 提供身份验证,AgentCore Observability(Amazon Bedrock AgentCore 的一项功能)和 Amazon CloudWatch 提供监控。
Dashboard Lambda:提供 Web UI,提供基于会话的结果以及跨文件、违规和质量指标的搜索和多选项卡导航。
分析代理遵循与解决方案 1 相同的 AgentCore 运行时模式,并添加了通过 AgentCore 网关路由的 MCP 工具调用:
from bedrock_agentcore.runtime import BedrockAgentCoreApp
从 bedrock_agentcore.memory 导入 AgentCoreMemory
应用程序 = BedrockAgentCoreApp()模型= BedrockModel(model_id =“us.anthropic.claude-sonnet-4-5-20250929-v1:0”,region_name =“us-west-2”)Analysis_agent = Agent(模型=模型,工具=[分析代码,检查质量])内存= AgentCoreMemory(命名空间=“代码分析”)@app.entrypointasync def parse_uploaded_code(payload: Dict[str, Any]) -> Dict[str, Any]:file_content = Payload.get("file_content", "")file_name = Payload.get("file_name", "unknown.py")session_id = Payload.get("session_id", "")# 分析代码,将结果存储在内存中,返回质量分数...Agent从AWS Lambda触发器接收代码内容,使用基础模型(FM)进行多维度分析,然后根据需要通过AgentCore Gateway调用外部工具(策略检查器、CVE扫描器)。结果将持久保存到 AgentCore 内存中,以进行仪表板检索和历史比较。多代理分离:代码分析代理仅专注于质量评估。策略检查和 CVE 扫描委托给通过 AgentCore Gateway 调用的专用 AWS Lambda 函数,从而保持每个组件的单一用途和独立可更新性。完整的实现可在sample-agentic-secure-software-handoffs 存储库中找到。Kiro 特工和技能OpenAI ChatGPT Codex(MCP 服务器和技能)
基于会话的结果持久性:每次分析运行都会在 AgentCore 内存中创建一个唯一的会话。仪表板通过会话 ID 检索结果,允许开发人员比较多个代码提交的质量分数。
网关介导的工具调用:外部工具使用 MCP 通过 AgentCore Gateway 注册,而不是直接调用。这将代理与工具实现细节分离,并允许在不修改代理代码的情况下添加新工具。
虽然 AgentCore 为已部署的事件驱动代理工作负载提供云运行时,但开发工作流程本身受益于在开发人员工作站实现 AI-DLC 模式的本地代理工具。
代理任务执行:Kiro 的代理模式通过自主使用工具(文件创建、终端命令、搜索)处理多文件实施任务,同时在每个规范检查点保持人机交互审核。
该存储库还包括 OpenAI Codex 集成,演示了相同的 ER 图生成工作流程如何通过 MCP 和自定义技能扩展到其他编码代理:
Claude Code(当地代理)
Claude Code 作为本地命令行代理运行,补充 AgentCore 部署:
组合工作流程
使用这些工具的典型 AI-DLC 螺栓(短而密集的工作周期)遵循以下模式:
Inception (Kiro):将业务需求转换为具有验收标准的规范。该团队在生物阐述会议中验证人工智能生成的规格。
构建(Claude Code 和 Kiro):生成实现代码、部署脚本和测试套件。本地代理处理文件生成和迭代细化,而 Kiro 管理任务编排。
通过 Cognito M2M 身份验证确保安全:使用 OAuth2 客户端凭据流进行服务到服务通信。避免硬编码凭据或长期令牌。
通过 CI/CD 集成,而不是手动上传:在生产中,将代理连接到存储库事件(合并请求、管道阶段),而不需要手动文件上传。此处显示的 S3 触发模式直接转换为 GitLab webhook 或 GitHub Actions 集成。
将 Amazon Bedrock Guardrails 用于生产代理输出:配置内容过滤策略、拒绝主题检测和基础验证,以确保代理生成的响应符合负责任的 AI 标准。对于代码分析代理,护栏可以阻止包含不安全代码模式或幻觉 CVE 引用的输出。对于图表生成代理,接地检查验证输出是否准确反映源模式。将护栏与自动评估管道相结合,以持续监控代理行为并标记与预期输出质量的偏差。
当得到具体实施模式的支持时,AI-DLC 方法变得实用。 Amazon Bedrock AgentCore 提供运行时基础设施(容器化代理、持久内存、安全网关和外部工具集成),而 Kiro 和 Claude Code 等本地工具则加速开发工作流程本身。
从 SQL-to-ER-Diagram 示例开始部署您的第一个 AgentCore 代理。按顺序遵循部署脚本,然后使用安全软件切换示例通过多代理协调、MCP 工具集成和 CI/CD 驱动的触发器来扩展模式。
拉姆帕坦吉
库纳尔·戈什
Ananth Kommuri
要深入了解,请参阅使用 Amazon Bedrock AgentCore 将您的 AI 代理从概念验证转移到生产,以获取将代理扩大到生产规模的补充演练。有关完整服务的详细信息、API 参考和配置指南,请参阅 Amazon Bedrock AgentCore 文档。
Arghya 是旧金山湾区 AWS 的高级解决方案架构师,专注于帮助客户采用和使用 AWS 云来实现大数据、数据湖、流式处理和批量分析、生成式 AI 和代理式 AI 解决方案。
Ram 是旧金山湾区 AWS 的高级解决方案架构师。他帮助农业、保险、银行、零售、医疗保健和生命科学、酒店业和高科技垂直行业的客户在 AWS 云上成功运营业务。他专注于数据库、分析和机器学习。
Kunal 是 AWS 的高级解决方案架构师。他热衷于在 AWS 上构建高效且有效的解决方案,特别是涉及生成式 AI、分析、数据科学和机器学习。除了家庭时光,他还喜欢阅读、游泳、骑自行车和看电影。
Ananth 是位于旧金山湾区的 AWS 的高级解决方案架构师。 Ananth 通过 AWS 上的数据分析、AI/ML 和 IoT 解决方案帮助客户提高运营效率。
