架构师 AI Agent 构建能力标准与执行手册
定位:架构师 L3 达标核心能力项 —— Agent 搭建与自动化闭环 目标:从顶层设计到落地执行,完成一个可交付、可复用的 Agent 构建方案
一、架构师为什么要会建 Agent 传统架构师解决的是「系统怎么搭」的问题。AI 时代的架构师还要解决「效率系统怎么搭」的问题。
Agent 不是聊天机器人。Agent 是一个能感知上下文 → 自主决策 → 调用工具 → 输出结果 → 反馈迭代 的自动化闭环系统。架构师搭 Agent,本质上是在搭一个数字员工 ,替代自己的重复劳动。
核心思维转变:
传统思维
Agent 思维
我来写代码
我来定义意图,Agent 来写代码
我来做 Code Review
我来定规则,Agent 来审
我来排查问题
我来搭排查流水线,Agent 来跑
我来写文档
我来搭知识工作流,文档即产出
二、架构师 Agent 构建能力标准(L3 必达) 2.1 四层能力模型 1 2 3 4 5 6 7 8 9 10 11 L3-架构师Agent能力金字塔 ┌─────────────┐ │ L4 自主进化 │ Agent能自我优化Prompt、更新规则 ├─────────────┤ │ L3 工作流闭环 │ 多步骤任务编排,异常处理,结果验收 ← 你在这里 ├─────────────┤ │ L2 工具链集成 │ 配置Hooks、调用外部API、文件系统操作 ├─────────────┤ │ L1 单点自动化 │ 用Prompt完成单次任务(问答、补全、翻译) └─────────────┘
2.2 L3 达标硬性指标
#
能力项
达标标准
验收方式
1
Prompt Engineering
能编写结构化 System Prompt,包含角色定义、约束条件、输出格式、异常处理
提交至少 1 个生产级 Prompt 文件
2
工具编排
能为 Agent 配置至少 3 种工具调用能力(文件读写、命令执行、代码搜索等)
提交 Agent 配置文件(如 .claude/settings.json、MCP 配置等)
3
Hooks/触发器
能配置事件驱动的自动化流程(如提交前自动审查、部署前自动检查)
提交 Hook 配置,展示触发日志
4
多步骤任务流
能编排 3 步以上的 Agent 工作流,含条件分支和错误回退
提交工作流定义或脚本
5
结果验收
能定义验收标准,Agent 输出可被自动化验证
提交验证脚本或检查清单
三、架构师 Agent 构建方法论 3.1 设计原则:SAFER 框架 架构师设计 Agent,遵循五个原则:
原则
含义
关键问题
S - Single Responsibility
一个 Agent 只做一件事
这个 Agent 的唯一职责是什么?
A - Auditable
每一步都可审计
出了问题能追溯到哪一步?
F - Fail-safe
失败时安全降级
Agent 挂了会不会搞坏东西?
E - Explicit Boundary
边界明确,不越权
Agent 不能做什么?
R - Recoverable
可恢复、可重试
中间断了他能不能接着跑?
3.2 构建流程:六步法 1 2 3 4 5 6 Step 1: 场景定义 → 这个Agent解决什么问题?频率多高?价值多大? Step 2: 输入输出规约 → 输入是什么?输出是什么?格式是什么? Step 3: 工具选型 → 需要哪些工具?哪些API?哪些数据源? Step 4: Prompt/规则编写 → System Prompt + 约束条件 + 异常处理 Step 5: 编排与集成 → 多步骤串联、条件分支、错误处理 Step 6: 验收与上线 → 自动化测试、效果度量、迭代优化
四、实战:三个架构师级别 Agent 构建方案 方案 A:AI 辅助架构审查 Agent(推荐首选) 场景 :代码提交前自动进行架构合规性检查
Step 1 — 场景定义 1 2 3 4 5 问题:代码提交缺乏统一的架构层面的审查,经常出现循环依赖、分层违规、 接口设计不合理等问题,到 Code Review 阶段才发现,返工成本高。 目标:在 git commit 阶段自动拦截架构层面的问题。 频率:每次提交。 价值:左移架构审查,降低返工率。
Step 2 — 输入输出规约 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 输入:git diff(本次提交的变更内容) 输出:架构审查报告(JSON 格式) { "passed": true/false, "issues": [ { "rule": "分层规范", "severity": "error|warning", "file": "xxx.go", "line": 42, "message": "controller 层直接调用 dao 层,跳过了 service 层", "suggestion": "应通过 XxxService 接口调用" } ] }
Step 3 — 工具选型
工具
用途
Claude Code Pre-commit Hook
触发时机
AST 解析(Go: go/ast)
分析代码结构
Claude API / 本地模型
理解语义,判断是否违规
项目架构规范文档
作为审查依据
Step 4 — 配置实现 方案 A-1:基于 Claude Code Hooks(轻量级,5 分钟可落地)
在项目根目录 .claude/settings.json 中配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 { "hooks" : { "PreToolUse" : [ { "matcher" : "Bash" , "hooks" : [ { "type" : "command" , "command" : "python scripts/arch-review.py" } ] } ] } }
方案 A-2:基于 Git Pre-commit Hook(独立于 Claude Code)
创建 .git/hooks/pre-commit:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 #!/bin/bash echo "🔍 Running Architecture Review Agent..." CHANGED_FILES=$(git diff --cached --name-only --diff-filter=ACM | grep -E '\.(go|java|ts)$' ) if [ -z "$CHANGED_FILES " ]; then echo "✅ No source code changes, skipping review." exit 0 fi DIFF=$(git diff --cached) RESULT=$(claude -p " 你是架构审查 Agent。请基于以下架构规范审查本次代码变更: ## 架构规范 1. 分层规范:Controller → Service → DAO,不允许跨层调用 2. 接口规范:Service 层必须面向接口编程 3. 依赖规范:禁止循环依赖 4. 命名规范:遵循项目既定命名约定 ## 变更内容 $DIFF ## 输出要求 - 如无问题,输出:PASS - 如有问题,输出问题列表,每个问题包含:文件、行号、违规规则、严重程度、修改建议 - 最后一行输出:RESULT: PASS 或 RESULT: FAIL " )echo "$RESULT " if echo "$RESULT " | grep -q "RESULT: FAIL" ; then echo "❌ Architecture review failed. Please fix the issues above." exit 1 fi echo "✅ Architecture review passed." exit 0
Step 5 — 架构审查规则文件 创建 docs/arch-rules.yaml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 rules: - id: layer-violation name: 分层规范检查 severity: error description: "禁止跨层调用,Controller 不能直接调用 DAO" patterns: - from: "controller" forbidden_to: ["dao" , "repository" , "mapper" ] - from: "handler" forbidden_to: ["dao" , "repository" ] - id: circular-dependency name: 循环依赖检查 severity: error description: "包之间不允许存在循环依赖" check_command: "go vet ./..." - id: interface-missing name: 接口规范检查 severity: warning description: "Service 层对外暴露应通过接口" patterns: - in: "service" should_define_interface: true - id: naming-convention name: 命名规范检查 severity: warning description: "遵循 Go 命名规范" conventions: - "导出函数使用 PascalCase" - "私有函数使用 camelCase" - "接口名以 er 后缀或描述性名词结尾"
Step 6 — 验收标准 1 2 3 4 5 6 7 验收清单: □ Hook 在 git commit 时自动触发 □ 能检测出至少 3 类架构违规(分层、循环依赖、接口缺失) □ 审查结果输出结构化 JSON □ 严重问题能阻断提交 □ 误报率 < 10% □ 审查耗时 < 30 秒(中等规模变更)
方案 B:智能运维排障 Agent 场景 :生产环境异常自动诊断与修复建议
设计概要 1 2 3 4 5 6 7 8 触发:监控告警 / 手动触发 输入:错误日志 + 系统状态 + 近期变更记录 处理流程: 1. 日志模式识别 → 分类异常类型 2. 上下文关联 → 查询近期部署、配置变更 3. 根因分析 → 基于知识库匹配历史相似案例 4. 修复建议 → 输出诊断报告 + 推荐操作 输出:结构化诊断报告(Markdown)
核心编排脚本 创建 scripts/diagnose-agent.sh:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 #!/bin/bash set -eLOG_FILE=${1:-""} KNOWLEDGE_BASE="docs/troubleshooting/" OUTPUT="diagnosis-report-$(date +%Y%m%d-%H%M%S) .md" if [ -z "$LOG_FILE " ]; then echo "Usage: ./diagnose-agent.sh <error-log-file>" exit 1 fi echo "🔍 Diagnosing..." ERROR_PATTERNS=$(claude -p " 从以下日志中提取关键错误信息,包括:错误类型、发生时间、涉及模块、调用链。 只输出结构化 JSON,不要解释。 日志内容: $(cat $LOG_FILE) " )echo "📋 Error patterns extracted." RECENT_CHANGES=$(git log --since="24 hours ago" --oneline --no-merges 2>/dev/null || echo "Not a git repo" ) HISTORY_MATCH=$(claude -p " 基于以下错误模式,从知识库中查找相似案例和已知解决方案: 错误模式: $ERROR_PATTERNS 知识库目录:$KNOWLEDGE_BASE " )claude -p " 你是运维架构诊断 Agent。请生成一份结构化的诊断报告。 ## 错误分析 $ERROR_PATTERNS ## 近期变更 $RECENT_CHANGES ## 历史案例匹配 $HISTORY_MATCH ## 输出格式 # 诊断报告 ## 1. 问题概述 [一句话描述] ## 2. 根因分析 [分析链条] ## 3. 影响范围 [受影响的模块/服务] ## 4. 推荐操作 - 立即:[紧急处理步骤] - 短期:[根治方案] - 长期:[预防措施] ## 5. 历史相似案例 [引用知识库中的案例] ## 6. 置信度 [高/中/低,及原因] " > "$OUTPUT " echo "✅ Diagnosis report generated: $OUTPUT "
知识库目录结构 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 docs/troubleshooting/ ├── database/ │ ├── connection-pool-exhaustion.md │ ├── slow-query-diagnosis.md │ └── replication-lag.md ├── network/ │ ├── dns-resolution-failure.md │ ├── service-mesh-timeout.md │ └── load-balancer-misconfig.md ├── kubernetes/ │ ├── pod-crashloopbackoff.md │ ├── resource-limit-oom.md │ └── certificate-expiry.md └── application/ ├── yaml-type-panic.md ← 你的实际案例 ├── memory-leak-patterns.md └── goroutine-leak.md
方案 C:架构文档自动生成 Agent 场景 :代码变更后自动同步更新架构文档
设计概要 1 2 3 4 5 6 7 8 触发:Git push / 手动触发 输入:代码变更 diff + 现有架构文档 处理流程: 1. 解析变更 → 识别影响哪些架构组件 2. 差异分析 → 判断文档是否需要更新 3. 文档更新 → 自动生成/修改架构文档 4. 提交 PR → 将文档变更提交为 PR 输出:架构文档更新 PR
配置文件 agents/doc-agent-config.yaml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 name: "架构文档同步 Agent" version: "1.0" description: "监控代码变更,自动同步更新架构文档" triggers: - type: "git-push" branches: ["main" , "release/*" ] watch_paths: - "server/**" - "web/**" - "docs/arch/**" output: format: "markdown" directory: "docs/arch/" pr_target: "main" pr_labels: ["auto-generated" , "doc-sync" ] templates: component_doc: | # {{component_name}} {{summary }} {{module_structure }} {{api_definitions }} {{dependencies }} {{change_log }} rules: - "API 接口变更时,必须同步更新接口文档" - "新增模块时,必须补充模块说明和依赖关系" - "删除模块时,必须标记为废弃并更新引用关系" - "配置项变更时,必须同步更新配置文档"
五、Agent 构建工具链速查 5.1 推荐工具矩阵
场景
工具
适合架构师的程度
代码 Agent(日常开发)
Claude Code CLI
★★★★★ 直接集成到工作流
代码 Agent(IDE内)
Cursor / Copilot
★★★★☆ 适合编码阶段
自定义 Agent 框架
Claude Agent SDK
★★★★★ 完全可编程
工作流编排
n8n / Dify
★★★☆☆ 可视化但灵活性低
MCP Server 扩展
自建 MCP Server
★★★★☆ 扩展 Agent 能力边界
Hook 自动化
Claude Code Hooks
★★★★★ 零代码,事件驱动
5.2 Claude Code Agent 能力扩展点 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Claude Code Agent 架构 ┌──────────────────────────────────────────┐ │ System Prompt │ ← 定义 Agent 人格和能力边界 │ (CLAUDE.md / .claude/instructions.md) │ ├──────────────────────────────────────────┤ │ Tools (内置) │ │ Read / Write / Edit / Bash / Grep / ... │ ← Agent 的"手" ├──────────────────────────────────────────┤ │ MCP Servers (扩展) │ ← 扩展 Agent 能力 │ GitHub / Playwright / Context7 / ... │ ├──────────────────────────────────────────┤ │ Hooks (触发器) │ ← 事件驱动的自动化 │ PreToolUse / PostToolUse / ... │ ├──────────────────────────────────────────┤ │ SubAgents (子Agent) │ ← 任务分解与并行 │ Explore / Plan / Code-Review / ... │ └──────────────────────────────────────────┘
5.3 架构师 Agent 配置文件模板 .claude/settings.json(项目级 Agent 配置)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 { "permissions" : { "allow" : [ "Read" , "Grep" , "Glob" , "Bash(git *)" , "Bash(go vet *)" , "Bash(go test *)" ] , "deny" : [ "Bash(rm -rf *)" , "Bash(git push --force *)" ] } , "hooks" : { "PostToolUse" : [ { "matcher" : "Write|Edit" , "hooks" : [ { "type" : "command" , "command" : "echo '[$(date)] File modified: $CLAUDE_FILE_PATH' >> .claude/change-log.txt" } ] } ] } }
CLAUDE.md(项目级 Agent 指令)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # Project: pangee-cluster ## Architecture - Go backend (server/) + Vue frontend (web/)- Based on Kubeclipper, manages Kubernetes clusters- YAML config files parsed via gopkg.in/yaml.v2## Coding Standards - Follow Go standard project layout- Service layer must define interfaces- Error handling: use fmt.Errorf with %w for wrapping- All exported functions must have doc comments## Agent Rules - Before modifying any file in server/, run: go vet ./server/...- After code changes, run relevant tests: go test ./server/...- Never modify vendor/ directory directly- For architecture changes, update docs/arch/ first, then implement
六、执行路线图 第一周:基础搭建 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Day 1-2: 配置 Claude Code 工作环境 - 安装 Claude Code CLI - 配置项目级 CLAUDE.md - 配置 settings.json(权限 + Hooks) Day 3-4: 实现方案 A(架构审查 Agent) - 编写 arch-review.py 或 pre-commit hook - 定义架构规则文件 - 测试验证 Day 5: 内部试运行 - 在 feature 分支上测试 - 收集误报/漏报数据 - 迭代规则
第二周:扩展深化 1 2 3 4 5 6 7 8 9 10 11 12 13 Day 6-7: 实现方案 B(排障 Agent) - 搭建知识库目录 - 编写排障脚本 - 用历史故障验证效果 Day 8-9: 整合与自动化 - 将多个 Agent 编排为统一入口 - 配置 CI/CD 集成 Day 10: 产出交付 - 编写 Agent 使用文档 - 录制演示视频/截图 - 提交 L3 达标案例
七、案例提交 Checklist 提交 Agent 构建案例时,确保以下材料齐全:
本文档为架构师岗位 AI Agent 构建能力达标的执行手册,与《架构师L3标准与AI案例.md》配套使用。