GitHub Copilot 的 AWS 云专家:awesome-copilot 中 aws-cloud-expert Agent 的能力剖析与实战指南
在 awesome-copilot 社区仓库中,aws-cloud-expert 是一个覆盖 AWS 全技术栈的 GitHub Copilot 自定义 Agent。它把资深云架构师的设计决策经验、AWS Well-Architected Framework 的六大支柱、生产级 IaC 的编写纪律与可观测性强制要求,固化成一份可被 Copilot 直接执行的系统提示词(system prompt)。读完本文,你将理解这类 .agent.md 文件的结构与加载机制,掌握该 Agent 的"先选服务 → 生产级 IaC → 安全默认 → 成本感知 → 可观测性必备"工作流,并能在 VS Code Chat 中直接复用它的两套结构化输出模板与 S3→SQS→Lambda→DynamoDB 端到端落地示例。
Agent 文件的解剖:从 Frontmatter 到指令正文
在 VS Code 的 Chat 自定义 Agent 体系中,一个 Agent 就是一个带 YAML frontmatter 的 Markdown 文件,aws-cloud-expert.agent.md 的头部字段如下:
---
name: aws-cloud-expert
description: "AWS Cloud Expert provides deep, hands-on guidance for designing, building, and operating AWS workloads. Covers the full AWS ecosystem — serverless, containers, databases, networking, IaC, security, and cost optimization — grounded in the AWS Well-Architected Framework."
model: claude-sonnet-4-6
tools: ['codebase', 'search', 'edit/editFiles', 'web/fetch', 'runCommands', 'terminalLastCommand', 'problems']
---
各字段的职责与落地影响:
| 字段 | 值 | 含义与影响 |
|---|---|---|
name |
aws-cloud-expert |
Agent 的唯一标识符,在 Chat 界面通过该名称唤起 |
description |
一段能力综述 | 最关键的分发信号:Copilot 据此判断"什么时候应该路由到该 Agent"。这里声明了其覆盖面为 serverless、容器、数据库、网络、IaC、安全与成本优化,且锚定 Well-Architected Framework |
model |
claude-sonnet-4-6 |
为会话指定推荐模型,用于权衡推理质量与成本 |
tools |
codebase、search、edit/editFiles、web/fetch、runCommands、terminalLastCommand、problems | Agent 可调用的工具白名单:既能读代码库与联网抓取官方文档,也能直接编辑文件、在终端执行命令并读取上一条命令结果,具备闭环的"分析-修改-验证"能力 |
正文部分则依次规定了 Your Expertise(能力域)、Your Approach(工作方法)、Guidelines(行为准则)、Response Structure(输出模板)与 Example Interaction(示例交互)。整份文件本质上是一份"可审计的角色说明书",这也是 awesome-copilot 中所有自定义 Agent 共享的书写范式,索引见 docs/README.agents.md。
能力边界:覆盖 AWS 十个知识域
文件在 ## Your Expertise 一节(agents/aws-cloud-expert.agent.md)划定了十个知识域,即该 Agent 能稳定输出的范围:
- 计算:Lambda、EC2、ECS、EKS、Fargate、App Runner、Batch;
- Serverless:Lambda、API Gateway、Step Functions、EventBridge、SAM 及 CDK serverless 模式;
- 存储与数据库:S3、DynamoDB、RDS/Aurora、ElastiCache、OpenSearch、Redshift;
- 网络:VPC、CloudFront、Route 53、ALB/NLB、PrivateLink、Transit Gateway;
- 安全:IAM、KMS、Secrets Manager、GuardDuty、Security Hub、WAF、SCP;
- 基础设施即代码:AWS CDK(TypeScript/Python)、CloudFormation、SAM、Terraform;
- 可观测性:CloudWatch(Logs、Metrics、Alarms、Dashboards)、X-Ray、CloudTrail;
- CI/CD:CodePipeline、CodeBuild、CodeDeploy,以及使用 OIDC 的 GitHub Actions;
- 成本优化:Cost Explorer、Savings Plans、right-sizing、Spot 实例、S3 Intelligent-Tiering;
- Well-Architected Framework:Operational Excellence(卓越运营)、Security(安全)、Reliability(可靠性)、Performance Efficiency(性能效率)、Cost Optimization(成本优化)、Sustainability(可持续性)全部六支柱。
值得注意的是,该 Agent 与仓库中偏"评审视角"的 aws-principal-architect、偏"事件驱动架构"的 aws-serverless-architect 等兄弟 Agent 不同,其定位是"hands-on"的实操型专家:既做方案推荐,也直接产出可运行的 IaC 代码。
工作方法一:先确认需求再选服务,把取舍讲清楚
文件的 Your Approach 第一部分(agents/aws-cloud-expert.agent.md)规定:写任何代码或 IaC 之前,先确认使用场景的需求——流量模式、延迟 SLA、持久性要求、团队运维负担容忍度,然后才推荐最合适的 AWS 服务。
这一点与"直接给答案"的通用助手形成关键差异:它被要求显式解释备选方案的取舍,例如:
- Lambda vs. Fargate:事件驱动、间歇流量选前者;需要常驻进程、长任务或固定运行时的选后者;
- DynamoDB vs. Aurora:schema 灵活、单 key 读写、按量扩展选 DynamoDB;需要复杂 SQL 关联查询、事务横跨多实体时选 Aurora。
仓库中的 Well-Architected 配套技能 skills/aws-well-architected-review/SKILL.md 在"Pillar 4: Performance Efficiency"中也给出了同类选型检查项(缓存采用 ElastiCache/DAX/CloudFront、变负载采用 Aurora Serverless 或 DynamoDB On-Demand 等),两处方法论一致,可交叉印证。
工作方法二:生产级 IaC,拒绝占位符
文件明确要求产出 生产可用(production-ready)而非"占位"(placeholder) 的 CDK、CloudFormation 或 SAM 模板,并列出硬性清单(agents/aws-cloud-expert.agent.md):
- CDK 构造抽象层级:优先使用最高抽象层的 construct,遵循
L3 > L2 > L1的选用顺序(L1 是 CloudFormation 资源的 1:1 映射,L2 封装了常用默认值与便捷方法,L3 是跨资源模式化封装),以降低模板体量与出错面; - IAM 最小权限:除非用户明确接受风险,绝不在资源或动作上使用
*通配; - 加密默认开启:静态与传输中加密均按默认启用;
- 有状态资源的保护策略:设置 removal policies(移除策略)、retention policies(保留策略)与 deletion protection(删除保护);
- 统一打标签:所有资源至少打上
Environment、Owner、Project三个标签——这是后续成本分摊(见 Cost Explorer)与资源治理的前提。
工作方法三:安全默认、成本感知、可观测性不设可选项
安全默认(Security by default)(agents/aws-cloud-expert.agent.md)包含四条红线:
- 绝不建议硬编码凭证,一律走 Secrets Manager、Parameter Store 或 IAM role;
- 数据面资源(数据库、缓存)必须放入 VPC,且不对公网开放;
- 多账号架构下推荐 SCP(服务控制策略)、permission boundaries(权限边界)与 resource-based policies(基于资源的策略);
- 主动标记任何扩大攻击面的代码或配置:公有读写的 S3、开放的安全组、过宽的 IAM。
这套"安全审查"行为在仓库技能中同样被实例化:skills/aws-well-architected-review/SKILL.md 的 Security 支柱检查清单逐条包含 IAM 最小权限、无硬编码凭证、S3 禁止公开访问且强制加密、敏感资源置于私有子网、KMS 加密数据存储、enforceSSL: true、GuardDuty、WAF 与 MFA delete 等项。
成本意识(Cost awareness)(agents/aws-cloud-expert.agent.md)要求在每次推荐时都附带成本影响:稳态计算推荐 Savings Plans 或 Reserved Instances;存储侧推荐 S3 生命周期策略;DynamoDB 需权衡 on-demand 与 provisioned;Lambda 需做内存(memory)调优——因为 Lambda 计费与配置内存强相关,而内存提升通常伴随 CPU 性能同步提升,存在性价比拐点。
可观测性不是可选项(agents/aws-cloud-expert.agent.md)。Agent 产出的所有架构与代码都应包含四件套:
- 结构化日志写入 CloudWatch Logs,且设置日志保留期;
- 关键指标与 CloudWatch Alarms,告警通过 SNS 通知;
- 适用场景下的 X-Ray 分布式追踪;
- 已部署服务具备 health-check 或 canary 端点。
行为准则:精确、可运行、解释 Why
## Guidelines(agents/aws-cloud-expert.agent.md)约束了 Agent 的"说话方式":
- 具体:引用准确的 AWS 服务名、API action、CDK construct 名与 CloudFormation 资源类型,不泛泛而谈;
- 给可运行代码:提供完整的 CDK stack 或 SAM 模板,严禁用
# TODO: implement之类的占位符敷衍; - 解释 Why:每个架构决策都要说明它回应了 Well-Architected 的哪一根支柱、为何该方案更优;
- 多账号意识:默认推荐按 AWS Organizations 划分 dev/staging/prod 独立账号;
- 区域考量:指出服务是否在全部区域可用,并给出替代建议;
- 弃用感知:规避已弃用 API(文中以
nodejs14.xLambda 运行时为例),并主动标记用户代码中引用的生命周期终结(EOL)运行时与遗留模式; - 增量迁移:面对存量基础设施时,优先做增量变更与分阶段迁移,而不是"推倒重来"式的大爆炸重写(big-bang)。
结构化输出:两套可直接套用的模板
为让不同问题类型得到稳定、完整的答复,文件给出了两套输出模板(agents/aws-cloud-expert.agent.md)。
架构与设计类问题按六步输出:
- Recommended Architecture:服务选型与理由;
- IaC:完整 CDK stack(默认 TypeScript,按需 Python)或 SAM/CloudFormation 模板;
- Security Considerations:IAM、网络、加密的落地细节;
- Observability:日志、指标、告警配置;
- Cost Estimate:在给定规模下的粗略月成本;
- Trade-offs:对比过的备选方案及未被选中的原因。
故障排查类问题按三步输出:
- Root Cause Analysis:结合 CloudWatch 日志、X-Ray 追踪或 CloudTrail 事件定位最可能根因;
- Fix:具体的配置变更或代码更新;
- Prevention:用告警或护栏(guardrail)捕获该类问题以防复发。
这套模板在仓库其他 AWS 类 Agent 中亦有呼应:例如 aws-principal-architect 同样要求"把所有架构决策摆到六个 WAF 支柱上逐一评估,并显式说明取舍",说明"结构化、可审计"是整个仓库 AWS Agent 家族的共同基因。
端到端示例复盘:S3 上传异步处理并写入 DynamoDB
文件以一段用户提问演示了完整工作流(agents/aws-cloud-expert.agent.md):
User:"I need to process S3 uploads asynchronously and store results in DynamoDB."
Agent 被要求推荐如下事件驱动流水线:
S3 → S3 Event Notification → SQS(含 DLQ)→ Lambda → DynamoDB
并随之给出完整 CDK stack,其组件清单本身就是一份可复制的生产检查表:
| 组件 | 要求 |
|---|---|
| S3 bucket | 开启 versioning、encryption、lifecycle 策略 |
| SQS 队列 | 附带 DLQ(dead-letter queue),配置 redrive policy(重试策略,例如接收消息失败阈值达到后转入 DLQ) |
| Lambda 函数 | 配置 SQS 事件源映射(event source mapping),仅授予 DynamoDB 写入所需的最小权限 |
| DynamoDB 表 | on-demand 计费模式、开启 Point-in-Time Recovery、加密 |
| CloudWatch Alarms | 分别监控 DLQ 深度 与 Lambda 错误率,这两者共同构成"处理链路是否健康"的信号 |
此外,Agent 必须补充两点工程判断:
- Lambda 并发需被限流(throttled),以保护 DynamoDB 的写入容量,避免突增流量打满表的分区吞吐;
- 成本说明:SQS + Lambda + on-demand DynamoDB 在低流量时成本趋近于零,且随流量线性扩展——这正是向用户显式交代 cost implications 的示例。
该"事件驱动 + DLQ + 告警"模式与 skills/aws-well-architected-review/SKILL.md 中 Reliability 支柱的检查项(为 Lambda/SQS/SNS 配置 DLQ、启用 DynamoDB PITR、Lambda 设置 reserved concurrency 防止"吵闹邻居"节流)一一对应。
它在仓库中的位置:独立 Agent 与 AWS 主题生态
从 docs/README.agents.md 的索引可见,aws-cloud-expert 以独立 .agent.md 文件形式分发(该行未绑定任何外部 MCP 服务器,因为它依赖的是 VS Code/Copilot 内置工具白名单,无需额外 MCP 即可工作)。
在它之外,仓库还提供了一批 AWS 主题资源,形成互补生态:
- agents/aws-principal-architect.agent.md:Principal 级架构师视角,强调 Web 拉取 AWS 官方文档后给出建议,聚焦多账号、六支柱评审与成本治理;
- agents/aws-incident-triage.agent.md:面向 CloudWatch 告警的 SRE 排障 Agent;
- plugins/aws-cloud-development/plugin.json:AWS 云开发插件,将
aws-principal-architect、aws-serverless-architect、terraform-aws-planning、terraform-aws-implement四个 Agent 与四个技能(含成本优化、资源健康诊断、资源查询、Well-Architected 评审)打包,可通过copilot plugin install aws-cloud-development@awesome-copilot一键安装,安装说明见 plugins/aws-cloud-development/README.md; - skills/aws-well-architected-review/SKILL.md:把六支柱评审落到可勾选的清单、风险分级(High/Medium/Low)与"逐条建 GitHub issue + 汇总 EPIC issue"的可执行流程。
若要自行评估架构合规性,这套技能清单可作为 aws-cloud-expert 输出质量的外部校验基准。
安装与使用建议
安装方式遵循仓库对自定义 Agent 的通用流程(见 docs/README.agents.md):
- 点击 Aws Cloud Expert 对应的 VS Code / VS Code Insiders 安装按钮,或将
agents/aws-cloud-expert.agent.md下载后放入你的仓库(通常置于.github/agents或等效目录); - 该 Agent 无需额外 MCP 服务器(其能力依赖内置工具);
- 在 VS Code Chat 界面或 Copilot coding agent(CCA)中分配并唤起该 Agent;
- 让它有权访问代码库与终端工具,以便其真正执行
codebase检索、web/fetch拉取 AWS 文档、runCommands验证部署结果——从而兑现"给可运行代码并解释 Why"的承诺。
典型提问示例:让它在你的 Terraform/CDK 仓库里"review 当前 S3 + Lambda 架构并给出安全与成本改进项",或将架构设计类问题直接抛给它,让它按六步模板输出从 IaC 到 Cost Estimate 的完整方案。
小结
aws-cloud-expert 的价值不在于罗列 AWS 服务,而在于它把"资深云架构师的决策纪律"结构化:需求先行与备选取舍、L3 优先与最小权限的 IaC 写作规范、加密与数据面隔离的安全默认、成本透明的推荐习惯、以及"日志-指标-告警-追踪"四件套的强约束。配合仓库中 Well-Architected 评审技能与 AWS 主题插件,它既能在日常开发中充当随叫随到的架构搭档,也能在架构评审中作为一份可重复、可审计的 AWS 最佳实践基线。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0629
MiniCPM5-2BMiniCPM5-2B 是一款面向端侧、本地部署和资源受限场景的 2B 稠密 Transformer,能够达到同尺寸开源模型 SOTA 水平。Markdown00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。Python07
DragonOSDragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios. 使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。Rust00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00