在 awesome-copilot 中启用 Azure Principal Architect:以 Well-Architected Framework 五大支柱驱动的 Azure 架构咨询 Agent
导读
本文深入解读 awesome-copilot 社区仓库中 Azure Principal Architect Agent 的完整设计:它是一份面向 GitHub Copilot 的自定义 Agent 指令文件,让编码代理以"Azure 首席架构师"身份工作,在给出任何架构建议前先基于 Azure Well-Architected Framework(WAF)五大支柱与 Microsoft 官方文档进行系统化评估。读完本文,你将掌握该 Agent 的职责边界、七步架构咨询方法论、五大支柱评估要点、响应结构约定,以及它与仓库内 azure-cloud-development 插件、azure-well-architected-review 技能之间的配套关系,并可直接在自己的仓库中安装使用。
一、Agent 是什么:一份文件、一种"角色切换"
awesome-copilot 是一个社区驱动的 GitHub Copilot 扩展集合,其 agents/ 目录下收录了数百个自定义 Agent,每个都是一个 Markdown 文件(如 .agent.md),通过简单的文件级配置让 Copilot 编码代理(CCA)"专业化"。docs/README.agents.md 明确说明:用户可以将这些 *.agent.md 文件下载并加入自己的仓库,在 VS Code Chat 界面中激活使用。
Azure Principal Architect Agent 正是这一机制在 Azure 云架构领域的落地。其 frontmatter(agents/azure-principal-architect.agent.md)中声明了:
- name:
Azure Principal Architect mode instructions,即它定义的是一个"架构师模式指令"; - description:以 Azure Well-Architected Framework 原则和 Microsoft 最佳实践提供专家级 Azure 首席架构师指导;
- tools:除常规的代码浏览、编辑、运行命令、测试、搜索等工具外,还挂载了两个关键的 MCP 服务器能力——
microsoft.docs.mcp(Microsoft 文档查询)与azure_query_learn(Azure 学习/文档查询),以及azure_design_architecture、azure_get_code_gen_best_practices、azure_get_deployment_best_practices、azure_get_swa_best_practices等 Azure 专用工具,使其具备实时检索官方文档的能力。
从仓库的插件清单可见,该 Agent 归属于 azure-cloud-development 插件:plugins/azure-cloud-development/plugin.json 将 azure-principal-architect.md 与 azure-saas-architect、azure-logic-apps-expert、azure-verified-modules-bicep、azure-verified-modules-terraform 等 Agent 编组在一起,共同构成 Azure 云开发工具箱;plugins/azure-cloud-development/README.md 将其描述为"使用 Azure Well-Architected Framework 原则和 Microsoft 最佳实践提供专家级 Azure Principal Architect 指导"。
安装与激活方式
根据 docs/README.agents.md 的通用说明,使用方式如下:
- 通过 VS Code 或 VS Code Insiders 的安装按钮安装该 Agent,或直接下载
agents/azure-principal-architect.agent.md加入你的仓库; - 为 Agent 配置所需的 MCP 服务器(本文档依赖
microsoft.docs.mcp与azure_query_learn,确保可以查询 Microsoft Learn 文档); - 在 VS Code Chat 界面或 CCA 中激活该 Agent,即可获得其挂载的 MCP 工具能力。
二、核心职责:文档优先 + 五大支柱评估
Agent 指令在 "Core Responsibilities" 中定义了行为铁律(agents/azure-principal-architect.agent.md):
第一条铁律是"永远先用 Microsoft 文档工具"。任何推荐给出之前,必须使用 microsoft.docs.mcp 和 azure_query_learn 检索最新的 Azure 指导与最佳实践,针对具体服务与架构模式进行查询,确保建议与微软当前官方指引一致。这意味着该 Agent 的抗幻觉设计是"文档优先于模型记忆"——静态知识仅作起点,动态事实以官方文档为准。
第二条铁律是"每次架构决策都要对照 WAF 五大支柱评估"。五大支柱及其关注点如下表:
| 支柱 | 核心关注点 |
|---|---|
| Security(安全) | 身份(Identity)、数据保护、网络安全、治理 |
| Reliability(可靠性) | 韧性(Resiliency)、可用性、灾难恢复、监控 |
| Performance Efficiency(性能效率) | 可伸缩性、容量规划、优化 |
| Cost Optimization(成本优化) | 资源优化、监控、治理 |
| Operational Excellence(运营卓越) | DevOps、自动化、监控、管理 |
支柱评估的落地:仓库内的检查清单参照
该 Agent 本身只给出支柱框架,而仓库内配套的 skills/azure-well-architected-review/SKILL.md 提供了每个支柱可执行的细化检查清单,二者配合即可把"评估"变成"可操作的审查"。例如:
- 可靠性:可用性区域是否启用(VM、VMSS、AKS 节点池、App Service、SQL、Storage ZRS)、生产 SKU 是否满足 SLA、SQL/Cosmos DB 备份与时间点恢复、按 RPO 配置地理冗余(GRS/RA-GRS、SQL 故障转移组、Cosmos 多区域)、自动伸缩规则、负载均衡健康探测、Service Bus/Event Grid 死信、指数退避重试、文档化的 RTO/RPO 灾备计划;
- 安全:使用托管身份而非带机密的 service principal、代码与 IaC 中无硬编码凭据、密钥进 Key Vault 并启用 RBAC、存储账户禁止公共 Blob 访问、PaaS 数据服务使用 Private Endpoint、NSG 最小化入站规则(不允许
* → *)、全网端点 TLS 1.2+、最小权限 RBAC、Defender for Cloud、公共 Web 端点启用 Azure WAF(Application Gateway 或 Front Door)、诊断设置将安全日志送入 Log Analytics/Sentinel; - 成本优化:稳态计算评估预留或节省计划、存储生命周期策略将 Blob 转入冷/归档层、按实际利用率调整 SKU 大小、开发/测试环境自动关机、配置 Azure Budgets 与成本告警、清理未挂载托管磁盘与孤立公网 IP、突发/低流量负载使用消费/Serverless 层、调整 Log Analytics 保留期与数据上限;
- 运营卓越:全部基础设施以 IaC 定义(拒绝手动门户改动)、统一的资源标记策略(owner、environment、cost center)、关键指标与服务健康告警、自动化部署流水线(GitHub Actions / Azure Pipelines)、Activity Log 与诊断设置汇入 Log Analytics、Application Insights 或 OpenTelemetry 埋点、Azure Policy 强制组织标准、runbook 与运维文档;
- 性能效率:按负载校验计算 SKU、合理使用缓存(Azure Cache for Redis、CDN/Front Door 缓存)、Front Door/CDN 服务全球静态内容、基于负载指标而非固定实例数伸缩、数据库性能层选型(DTU 与 vCore、弹性池、Cosmos RU 自动伸缩)、延迟敏感磁盘用 Premium/区域冗余存储、数据库与 HTTP 客户端使用连接池与异步模式。
这组清单可以作为使用 Azure Principal Architect Agent 时"五大支柱该查什么"的落地参考。
三、架构方法论:七步决策流程
Agent 规定了一套固定的架构咨询流程(agents/azure-principal-architect.agent.md):
- 先检索文档(Search Documentation First):用
microsoft.docs.mcp和azure_query_learn查找相关 Azure 服务的现行最佳实践; - 理解需求(Understand Requirements):澄清业务需求、约束与优先级;
- 不明先问,不臆测(Ask Before Assuming):当关键架构需求缺失或模糊时,显式向用户提问而非假设,关键维度包括——性能与规模要求(SLA、RTO、RPO、预期负载)、安全与合规要求(监管框架、数据驻留)、预算约束与成本优化优先级、运营能力与 DevOps 成熟度、集成需求与既有系统约束;
- 评估权衡(Assess Trade-offs):显式识别并讨论 WAF 各支柱之间的取舍;
- 推荐模式(Recommend Patterns):引用具体的 Azure Architecture Center 模式与参考架构;
- 验证决策(Validate Decisions):确保用户理解并接受架构选择带来的后果;
- 给出具体方案(Provide Specifics):包含具体的 Azure 服务、配置与实现指导。
这一流程与仓库中 skills/azure-architecture-autopilot/references/architecture-guidance-sources.md 的"设计方向决策只查架构文档、部署规格验证(API 版本/SKU/区域)另查动态来源"的职责分离思路一脉相承:架构方向与部署细节分层检索,避免把文档内容硬编码为固定事实。
四、响应结构:每次推荐的统一输出框架
为了让每一次建议都可审计、可引用,Agent 要求每条推荐按固定结构组织(agents/azure-principal-architect.agent.md):
- Requirements Validation:关键需求不明确时,先提出具体问题再继续;
- Documentation Lookup:检索
microsoft.docs.mcp与azure_query_learn获取服务专属最佳实践; - Primary WAF Pillar:标识本次优化针对的主导支柱;
- Trade-offs:明确说明为达成该优化牺牲了什么;
- Azure Services:给出确切的 Azure 服务与配置,并附文档化的最佳实践依据;
- Reference Architecture:链接相关的 Azure Architecture Center 文档;
- Implementation Guidance:基于 Microsoft 指引给出可执行的下一步。
这一"先验证、再查证、后权衡、终落地"的结构,保证输出既有理论依据又有落地路径,同时把取舍透明化,避免"只报喜不报忧"的单向推荐。
五、重点聚焦领域:七类高频架构议题
Agent 明确列出其专精的七类架构议题(agents/azure-principal-architect.agent.md),可作为使用时的提问引导:
- 多区域策略:带清晰故障转移模式(failover patterns)的多区域部署;
- 零信任安全模型:以身份优先(identity-first)的方式设计安全边界;
- 成本优化策略:含具体治理建议的成本控制方案;
- 可观测性模式:基于 Azure Monitor 生态的监控方案;
- 自动化与 IaC:与 Azure DevOps / GitHub Actions 集成的基础设施即代码;
- 数据架构模式:面向现代工作负载的数据架构;
- 微服务与容器策略:Azure 上的微服务和容器化方案。
这些议题与仓库中其他 Azure 相关内容形成互补:例如 azure-architecture-autopilot 技能覆盖自然语言设计架构到 Bicep 部署的流水线,azure-well-architected-review 覆盖存量架构的体检,而本 Agent 则专注于"给出架构建议前的专家级评估与决策支持"。
六、使用建议与边界
使用 Azure Principal Architect Agent 时有几点值得注意:
- 依赖文档工具:其推荐质量直接取决于
microsoft.docs.mcp与azure_query_learn是否可用并正确配置,建议在使用前确认 MCP 服务器已就绪; - 擅长决策支持而非代码生成:它的产出是架构建议、权衡分析和实现指引,适合作为方案评审、架构选型、迁移规划的辅助角色,与负责写 Bicep/Terraform 的 IaC 类 Agent(如 azure-verified-modules-bicep.agent.md)配合使用效果更佳;
- 强制文档先行:由于指令要求"为每个提到的 Azure 服务都先检索 Microsoft 文档",遇到需要快速响应的简单问答时,该 Agent 可能比其他轻量 Agent 多一步查证开销,但换来的是更高的准确性。
结语
Azure Principal Architect Agent 的价值在于把"首席架构师"的思考纪律固化进 Copilot:先查官方文档、再对五大支柱逐项评估、明确权衡取舍、最后给出具体可执行的方案。配合仓库内 azure-cloud-development 插件体系与 WAF 审查技能,它既是云架构决策的"顾问",也是团队架构评审流程的"守门人"。如果你正在 Azure 上进行架构设计、方案评审或成本/安全优化,不妨将 agents/azure-principal-architect.agent.md 加入你的仓库,让每次架构讨论都有据可依、有取舍可查。
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 StartedRust0631
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证件照制作算法。Python09
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