计算机后端评审

cs-backend-review
分类编程
作者Alireza Rezvani
许可MIT
评分4.80/5
使用9.4K

/cs:backend-review — 后端工程评审

使用 cs-backend-engineer agent(使用 context: fork)来处理此请求:

$ARGUMENTS

强制性问题库

权威来源:engineering-team/skills/senior-backend/references/forcing_questions.md(共 7 个问题,每轮一个,每个问题需提供建议 + 权威引用)。

1. 读写比 + 一年内 p99 QPS
2. 租户模式(单租户 / 共享多租户 / 隔离多租户)
3. 同步请求/响应 vs 异步(队列) vs 事件驱动
4. 数据敏感度等级(公开 / 内部 / PII / PHI / PCI)
5. 单体 / 模块化单体 / 微服务(需基于团队规模给出理由)
6. RPO 和 RTO
7. SLO + 指定的错误预算消耗者

路由协议

1. 引导执行 7 个强制性问题(参考 engineering-team/skills/senior-backend/references/forcing_questions.md)。每轮一个。提供带引用的建议。记录在 /tmp/backend-grill-<date>.md 中。
2. 识别否决标准(Kill Criteria) —— 例如,“微服务,团队规模 5 人”会触发(Newman 的 MonolithFirst 原则)。立即停止并解决。
3. 运行确定性配置文件选择器:

bash
python engineering-team/skills/senior-backend/scripts/backend_decision_engine.py \
--team-size <N> --qps-p99 <N> --read-write-ratio <ratio> \
--tenancy <single-tenant|shared-multi-tenant|isolated-multi-tenant> \
--data-sensitivity <public|pii|phi|pci> \
--pattern <monolith|modular-monolith|domain-bounded-services|microservices|serverless> \
--language-preference <typescript|python|go|rust|java|kotlin|dotnet>

4. 输出匹配的配置文件 + 指定的审批链(用于技术栈变更 / 模式迁移 / 外部服务)。
5. 按依赖顺序分发至专项评审员:
- 首先是 slo-architect —— 没有 SLO,就没有设计
- api-design-reviewer —— API 契约
- database-designer + database-schema-designer —— 模式 + ER 图
- migration-architect —— 仅在变更现有模式时调用
- observability-designer —— 黄金指标 + 告警
- ci-cd-pipeline-builder —— 匹配交付节奏的流水线
- senior-security + adversarial-reviewer —— 公开上线前执行
- ra-qm-team/* —— 若数据敏感度为 PHI / PCI / 受监管数据
- cs-karpathy-reviewer —— 任何提交之前执行

输出预期(≤ 200 字摘要)

  • 匹配的配置文件 + 原因
  • 三个 SLO 目标(p50, p99 延迟 + 可用性)
  • RPO + RTO
  • 指定的审批链(技术负责人 + On-call + DBA + ...)
  • 已调用的专项评审员列表 + 产出物路径
  • 建议的下一个子技能

反模式

  • ❌ 在未指明第二个需要该功能的团队之前,就推荐 Kafka / 事件驱动。
  • ❌ 在团队规模 < 30 人、缺乏平台团队或缺乏限界上下文独立性时推荐微服务。
  • ❌ 在未分发至 api-design-reviewer 之前就设计 API。
  • ❌ 在未回答 Q1(QPS + 读写比)之前推荐数据库。
  • ❌ 自动批准生产环境的模式迁移。必须指定 On-call 和 DBA。

自定义

配置文件位于 engineering-team/skills/senior-backend/profiles/。内置四个:node-express, fastapi-python, django-monolith, go-or-r
ust-microservice。将其复制一份并重命名为 <your-org>.json,然后调整约束条件 / SLO 底线 / 审批链。

相关命令

  • /cs:fullstack-review — 全栈视角(父级)
  • /cs:frontend-review — 针对 API 调用端
  • /cs:engineer-grill — 跨角色 21 问深度质询
  • /slo-design — 通过 slo-architect 进行显式 SLO 设计
  • /karpathy-check — Karpathy 四原则审查