协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
byted-volcengine-topology-change-impact【开发与工程】面向代码变更、配置变更、扩容缩容、网络策略调整、入口切换等场景做变更风险分析。只要用户在问“这个变更风险有多大”“这个变更会影响什么”“上下游会波及哪些服务/资源”之类的问题,就应该使用这个 skill;即使用户只给了自然语言变更说明,也要主动尝试结合 topology.json 推断影响范围,并输出风险结论与文字化的上下游影响描述。
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
这个 Skill 负责把“变更描述”转成一份可执行的静态风险分析结果。
topology.json,不是运行时监控或实时健康状态这个 Skill 不直接构建拓扑;如果当前工作区还没有 business_topologies/<business>/topology.json,应先使用 topology-graph-builder 生成底层数据。
依赖:本 Skill 只需要 topology-graph-builder 生成的 topology.json 作为数据输入。同时依赖 references/risk_assessment_rules.md 中的指南进行风险推断。
默认在当前工作区寻找:
business_topologies/
<business>/
topology.json
topology.md
如果工作区中存在 .trae/business_topologies/,也可以直接复用。
静态风险分析的前提是:用户至少提供下面两类信息中的大部分。
如果用户只说“帮我评估这个变更”,但没有说明目标对象,要先追问。
先把用户输入整理成一张简化的变更卡片:
change_type:代码变更 / 配置变更 / 扩容 / 缩容 / 网络策略 / 入口切换 / 其他target:目标服务、组件或云资源action:新增 / 删除 / 修改 / 替换 / 放开 / 收紧 / 扩 / 缩scope:如果用户给了业务、环境、地域,要一并带上assumption:缺失信息要显式标记为假设如果用户给的是代码变更或配置变更,但没有直接出现资源 ID,要先抽取最可能的服务名、组件名、应用名、网关名、配置项名或资源关键词,再去拓扑里做候选匹配。
不要直接肉眼扫 topology.json。优先执行当前 Skill 自带的脚本:
python3 ./skills/byted-volcengine-topology-change-impact/scripts/change_risk_from_topology.py \
--node "<target>" \
--output markdown
其中 --node 是变更目标。脚本只负责查询出结构化的拓扑数据和受影响的 ECS。
如果用户已经明确给了业务:
python3 ./skills/byted-volcengine-topology-change-impact/scripts/change_risk_from_topology.py \
--business "<business>" \
--node "<target>" \
--output markdown
脚本内部直接读取 topology.json 进行节点匹配和图分析,自动拿到:
核心要求:脚本不会输出任何“风险等级”或“风险结论”。你(大模型)必须:
references/risk_assessment_rules.md。如果返回多个候选:
id:exact、public_ip:exact 这类高置信命中,可以以第一候选为主继续分析name:fuzzy、metadata:fuzzy,先把候选列表给用户确认不要在低置信命中下直接下结论。
回答至少覆盖下面几块:
用下面三层口径组织:
直接影响:目标节点 1 跳关联、或可明确推断受影响的 ECS / 入口链路潜在影响:同局部拓扑中 2 跳内可达,但无法静态确认一定受影响待确认项:缺少业务边界、环境信息或运行时数据的部分如果拓扑里只能确认到基础设施资源,就老实写:
EIP/CLB/ECS/安全组/子网/VPC输出文字描述时:
type:id,必要时再补 name必须严格按照 references/risk_assessment_rules.md 中定义的标准来输出 critical / high / medium / low,并把级别翻译成风险判断(包含风险结论、影响边界、置信说明)。
拓扑并不能直接告诉你"哪一行代码会调用谁",所以需要用下面的口径来解释:
结论里要明确写出:这是"基于静态拓扑的影响推断",不是运行时调用链。
优先使用这个模板:
结论:
- 变更对象:...
- 风险等级:critical / high / medium / low
- 风险结论:...
- 核心判断:...
- 影响边界:...
- 置信说明:...
影响范围:
- 直接影响:...
- 潜在影响:...
- 待确认项:...
上下游影响描述:
- 上游入口链路:...
- 中间转发/依赖层:...
- 受影响承载节点:...
- 与目标直接关联的资源:...
判断说明:
- 本次分析基于静态 topology.json 推断
- 不代表运行时调用链或实时健康状态
用户:
把 payment-api 这个服务的副本数从 4 缩到 2,帮我分析影响面,并说明它的上下游影响链路。
回答重点:
payment-api 作为节点关键词命中拓扑用户:
安全组 sg-xxx 要开放 443 端口,这个变更会波及哪些上下游资源?
回答重点:
用户:
我要把公网入口从老 CLB 切到新 CLB,先帮我做一次变更风险分析。
回答重点:
topology.json,明确提示先运行 topology-graph-builder