# AI 分配方案与架构设计外包流程 > 版本:2.0 > 日期:2026-07-10 > 适用范围:Edu 微服务项目(15 AI + 1 coord 全并行开发模式) > 关联文档:[多 AI 协作指南](../standards/multi-ai-collaboration.md)、[004 架构影响地图](./004_architecture_impact_map.md)、[待开发功能路线图](./roadmap/pending-features.md)、[总裁最终裁决](./president-final-rulings.md)、[AI 工作顺序协同规划](./ai-work-orchestration.md)、[coord 仲裁汇总](./issues/coord.md)、[总工作安排](./issues/workline.md)、[上下游对接总矩阵](./issues/matrix.md) > > **状态说明**:架构设计外包三阶段(模块理解 → 模块架构设计 → 按图实施)已实施完成。当前进入**全并行开发模式**:各 AI 一口气完成自己模块从 P2 到 P6 的所有代码,开发期间用 mock,最后统一集成测试。 --- ## 1. 全并行开发模式 ``` 各 AI 独立开发(全并行) coord 协调 │ │ 读取自己的 contract.md 维护 proto 契约 在 workline.md 规划全阶段任务 仲裁异议(objections/) 开发期间用 mock(见 contract.md §4) 汇总就绪信号(matrix.md §8) │ │ ▼ ▼ 交付:完整代码 + 就绪信号 交付:契约 + 仲裁 + 总矩阵 │ │ └──────────► 统一集成测试 ◄─────────────┘ ``` **核心原则**: - 各 AI 一口气完成自己模块从 P2 到 P6 的所有代码 - 开发期间消费上游的 mock(gRPC mock / MSW / Kafka mock) - 上游就绪后在 `issues/matrix.md` §8 更新就绪信号 - 所有模块就绪后统一集成测试(见 `issues/matrix.md` §9 检查清单) --- ## 2. 完整服务清单 | 类别 | 服务名 | 语言/框架 | 限界上下文 | 阶段 | HTTP 端口 | gRPC 端口 | 负责 AI | | ---- | -------------- | ---------------- | ---------------------- | ------ | --------- | --------- | ------- | | 网关 | api-gateway | Go (Gin) | API 网关 | P2 | 8080 | — | ai01 | | 网关 | push-gateway | Go (Gin) | 推送网关 | P5 | 8081 | — | ai02 | | BFF | teacher-bff | TS (NestJS) | 教学场景域聚合 | P2 | 3003 | — | ai03 | | BFF | student-bff | TS (NestJS) | 学习场景域聚合 | P3 | 3009 | — | ai04 | | BFF | parent-bff | TS (NestJS) | 家长场景域聚合 | P4 | 3010 | — | ai05 | | 业务 | iam | TS (NestJS) | 身份认证 | P2 | 3002 | 50052 | ai06 | | 业务 | core-edu | TS (NestJS) | 教学核心(含 classes) | P3 | 3004 | 50053 | ai08 | | 业务 | content | TS (NestJS) | 内容资源 | P4 | 3005 | 50054 | ai09 | | 业务 | msg | TS (NestJS) | 消息通知 | P5 | 3007 | 50056 | ai10 | | 业务 | data-ana | Python (FastAPI) | 数据分析 | P4 | 3006 | 50055 | ai11 | | 业务 | ai | Python (FastAPI) | AI 网关 | P5 | 3008 | 50057 | ai12 | | 前端 | teacher-portal | TS (Next.js) | 教学场景域前端 | P2 | 4000 | — | ai13 | | 前端 | student-portal | TS (Next.js) | 学习场景域前端 | P3 | 4001 | — | ai14 | | 前端 | parent-portal | TS (Next.js) | 家长场景域前端 | P4 | 4002 | — | ai15 | | 前端 | admin-portal | TS (Next.js) | 管理场景域前端 | P6 | 4003 | — | ai16 | | 共享 | shared-proto | protobuf | 契约 | 跨阶段 | — | — | coord | | 共享 | shared-ts | TS | TS 共享工具 | 跨阶段 | — | — | coord | | 共享 | shared-go | Go | Go 共享工具 | 跨阶段 | — | — | coord | | 共享 | shared-py | Python | Python 共享工具 | 跨阶段 | — | — | coord | | 共享 | ui-tokens | TS | 设计令牌 | 跨阶段 | — | — | coord | | 共享 | ui-components | TS | UI 组件库 | 跨阶段 | — | — | ai13 | | 共享 | hooks | TS | React Hooks 库 | 跨阶段 | — | — | ai13 | | 基础 | infra | — | K8s/Grafana/WAF | 跨阶段 | — | — | coord | > **注**:classes 模块已合并到 core-edu(ai08 负责),不再独立分配 AI。 --- ## 3. AI 分配方案(15 AI + 1 coord) ### 3.1 分配原则 - **单一负责制**:每个模块(限界上下文)只有一个 AI 负责,禁止并行修改同一模块 - **同语言内聚**:一个 AI 负责同语言服务,学习成本只付一次 - **领域亲缘性**:同类业务放一起(BFF 归 BFF、Python 归 Python) - **工作负载均衡**:复杂服务(Neo4j+ES 的 content、ClickHouse 的 data-ana)独立分配 - **前端统一**:Module Federation 微前端由各自 AI 负责,teacher-portal 作为 Shell 由 ai13 统一设计 - **coord 不写业务代码**:专注契约管理 + 仲裁 + 共享包 ### 3.2 分配矩阵 | AI 标识 | 语言 | 服务 | 阶段 | gRPC 端口 | | --------- | ------ | ----------------------- | --------- | --------- | | **ai01** | Go | api-gateway | P2 | — | | **ai02** | Go | push-gateway | P5 | — | | **ai03** | TS | teacher-bff | P2+扩展 | — | | **ai04** | TS | student-bff | P3 | — | | **ai05** | TS | parent-bff | P4 | — | | **ai06** | TS | iam | P2.1+P2.2 | 50052 | | **ai08** | TS | core-edu | P3 | 50053 | | **ai09** | TS | content | P4 | 50054 | | **ai10** | TS | msg | P5 | 50056 | | **ai11** | Python | data-ana | P4 | 50055 | | **ai12** | Python | ai | P5 | 50057 | | **ai13** | TS | teacher-portal | P2+扩展 | — | | **ai14** | TS | student-portal | P3 | — | | **ai15** | TS | parent-portal | P4 | — | | **ai16** | TS | admin-portal | P6 | — | | **coord** | — | shared-* / infra / docs | 跨阶段 | — | ### 3.3 为什么这样拆 | 决策 | 理由 | | ---------------------------- | ------------------------------------------------------------------------------- | | ai01 独立负责 api-gateway | Go 网关层,路由 + JWT 验签 + 限流,接入 shared-go | | ai02 独立负责 push-gateway | Go 推送网关,WebSocket/SSE + 多设备会话隔离 + 审计表 | | ai03 独立负责 teacher-bff | 教学场景域 BFF,GraphQL schema + DataLoader + ActionState + admin 命名空间 | | ai04 独立负责 student-bff | 学习场景域 BFF,GraphQL + 考试作答 + 作业提交 | | ai05 独立负责 parent-bff | 家长场景域 BFF,GraphQL + 多子女切换 + 成绩趋势 | | ai06 独立负责 iam | RBAC + DataScope + JWT RS256 + gRPC 12 RPC + 审计日志,权限中枢复杂度最高 | | ai08 独立负责 core-edu | 教学核心(含原 classes 模块),5 Service 22 RPC + Outbox + 考试/作业/成绩状态机 | | ai09 独立负责 content | 内容资源,4 Service 18 RPC + Neo4j 知识图谱 + ES 题库检索 | | ai10 独立负责 msg | 消息通知,3 Service 13 RPC + Outbox + 多渠道通知 | | ai11 独立负责 data-ana | Python 数据分析,12 RPC + ClickHouse 宽表 + CDC 消费 | | ai12 独立负责 ai | Python AI 网关,6 RPC + ES 检索 + LLM 网关 + 流式响应 | | ai13 独立负责 teacher-portal | MF Shell + GraphQL client 单例 + AppShell + 共享组件库 | | ai14 独立负责 student-portal | MF Remote + 考试作答 + 作业提交 | | ai15 独立负责 parent-portal | MF Remote + Dashboard + 多子女切换 | | ai16 独立负责 admin-portal | MF Remote + 用户管理 + 角色权限 + 审计日志 | | coord 不写业务代码 | 专注 proto 契约 + 仲裁 + shared-* 包 + infra + 文档体系 | --- ## 4. 各 AI 文档阅读清单(按需阅读) > **架构文档按需阅读原则**(见 [project_rules §10](../../.trae/rules/project_rules.md) 与 [multi-ai-collaboration §2.2](../standards/multi-ai-collaboration.md)): > > - **模块开发**:只读自己模块的架构与服务 README,不读其他模块内部实现 > - **全局工作**(coord、跨模块契约、基础设施、文档体系):读全局架构文档 > - **功能开发/文档书写等强依赖场景**:必须读对应架构 > - **严格模块边界**:AI 只读自己负责模块的文档与源码,仅在确认跨模块契约时才读对方的对外接口(proto/API/事件),不读对方内部实现 ### 4.1 全员必读(所有 AI,无论模块开发还是全局工作) | 顺序 | 文档 | 说明 | | ---- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | | 1 | [project_rules.md](../../.trae/rules/project_rules.md) | 项目强制约束(架构规则、编码规范、提交规范、多 AI 协作、分支开发) | | 2 | [coding-standards.md](../standards/coding-standards.md) | 多语言编码标准 | | 3 | [multi-ai-collaboration.md](../standards/multi-ai-collaboration.md) | 多 AI 协作指南(§2.1 严格模块边界、§2.2 按需阅读、§3 分支开发规则) | | 4 | [president-final-rulings.md](./president-final-rulings.md) | 总裁最终裁决(70+ 问题逐个裁决 + 时间统筹 + 15 AI 工作清单) | ### 4.2 模块开发按需阅读(只读自己模块,禁止读其他模块内部实现) | AI | 必读文档 | 说明 | | ---- | ------------------------------------------------------------------------------------------------------------------ | --------------- | | ai01 | `services/api-gateway/README.md`、004 §网关层章节、[contract](./issues/contracts/api-gateway_contract.md) | Go 网关层架构 | | ai02 | `services/push-gateway/README.md`、004 §push-gateway 章节、[contract](./issues/contracts/push-gateway_contract.md) | Go 推送网关架构 | | ai03 | `services/teacher-bff/README.md`、004 §teacher-bff 章节、[contract](./issues/contracts/teacher-bff_contract.md) | 教学场景域 BFF | | ai04 | 004 §student-bff 章节、[contract](./issues/contracts/student-bff_contract.md) | 学习场景域 BFF | | ai05 | 004 §parent-bff 章节、[contract](./issues/contracts/parent-bff_contract.md) | 家长场景域 BFF | | ai06 | `services/iam/README.md`、004 §iam 章节、[contract](./issues/contracts/iam_contract.md) | 身份认证架构 | | ai08 | `services/core-edu/README.md`、004 §core-edu 章节、[contract](./issues/contracts/core-edu_contract.md) | 教学核心架构 | | ai09 | 004 §content 章节、[contract](./issues/contracts/content_contract.md) | 内容资源架构 | | ai10 | 004 §msg 章节、[contract](./issues/contracts/msg_contract.md) | 消息通知架构 | | ai11 | `services/data-ana/README.md`、004 §data-ana 章节、[contract](./issues/contracts/data-ana_contract.md) | Python 数据分析 | | ai12 | 004 §ai 章节、[contract](./issues/contracts/ai_contract.md) | Python AI 网关 | | ai13 | `apps/teacher-portal/README.md`、004 §前端章节、[contract](./issues/contracts/teacher-portal_contract.md) | 教师端前端 | | ai14 | 004 §前端章节、[contract](./issues/contracts/student-portal_contract.md) | 学生端前端 | | ai15 | 004 §前端章节、[contract](./issues/contracts/parent-portal_contract.md) | 家长端前端 | | ai16 | 004 §前端章节、[contract](./issues/contracts/admin-portal_contract.md) | 管理端前端 | > **禁止越界阅读**:上表只列自己模块。如需确认与某模块的契约,走 §4.4 跨模块契约阅读,不读对方内部源码与 README。 ### 4.3 全局工作必读(仅 coord,以及 AI 执行跨模块/全局任务时) | 顺序 | 文档 | 说明 | | ---- | --------------------------------------------------------- | ---------------------------------------------------- | | 1 | [README.md](../../README.md) | 项目总览 | | 2 | [MIGRATION_GUIDE.md](../../MIGRATION_GUIDE.md) | 迁移指南 | | 3 | [004 架构影响地图](./004_architecture_impact_map.md) 全文 | 全局架构与依赖(coord 必读;模块开发只读 §4.2 章节) | | 4 | [pending-features.md](./roadmap/pending-features.md) | 六阶段路线图 | | 5 | [ai-work-orchestration.md](./ai-work-orchestration.md) | AI 工作顺序协同规划 | | 6 | [issues/coord.md](./issues/coord.md) | coord 仲裁汇总 | | 7 | [issues/matrix.md](./issues/matrix.md) | 上下游对接总矩阵 | ### 4.4 跨模块契约按需阅读(仅涉及 proto 变更或确认接口时) | 场景 | 必读文档 | | ----------------------- | --------------------------------------------------------------------------------------- | | 修改/新增 proto message | `packages/shared-proto/proto/` 中**相关** .proto 文件(不读全部,只读变更涉及的文件) | | 确认与其他模块的接口 | [issues/contracts/](./issues/contracts/) 中对方模块的 contract.md + 004 §跨模块交互章节 | | 确认上下游依赖 | [issues/matrix.md](./issues/matrix.md) §1 服务依赖图 + §2-§5 接口矩阵 | ### 4.5 黄金模板参考(仅 TS 服务首次实现新服务时) | AI | 参考文档 | | ---------------------------- | ---------------------------------------------------------------------------------- | | ai03-05, ai08-10(TS 服务) | `services/classes/src/` 黄金模板源码(首次实现新服务时参考横切关注点,不强制全读) | | ai01 / ai02 / ai06 / ai11-16 | 按需参考 classes 的横切关注点实现模式(错误处理/可观测/健康检查等),不强制读源码 | --- ## 5. 各 AI 全阶段设计重点 ### ai01 — api-gateway(Go) | 设计重点 | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 路由表矩阵(路径 → 下游服务 + 端口,需覆盖全部 6 个业务服务 + 3 个 BFF);限流策略表(每路由 QPS);熔断阈值配置(错误率/延迟阈值);JWT RS256 公钥校验流程(shared-go/jwks);CORS 白名单;请求 ID 注入;接入 shared-go(env/logger/tracer) | ### ai02 — push-gateway(Go) | 设计重点 | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | HTTP /internal/* + Kafka 双通道;WebSocket/SSE 连接生命周期(认证 → 心跳 → 断线重连);多设备会话隔离策略;Redis Pub/Sub 跨实例广播;X-Internal-Key 认证;审计表(6 字段);ActionState 信封响应 | ### ai03 — teacher-bff(TS) | 设计重点 | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | GraphQL schema(SDL-first,存放 packages/shared-ts/contracts/graphql/);DataLoader 批量去重策略;并行 gRPC 调用编排;ActionState 信封 + 降级模式 B;admin schema 命名空间预留(P6);DownstreamClient 抽象;depth ≤ 7 + cost ≤ 1000 | ### ai04 — student-bff(TS) | 设计重点 | | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 学生端 GraphQL schema;DataLoader 复用 teacher-bff 模式;权限区分(学生只能看自己的数据,DataScope=SELF);考试/作业/成绩的学生视角 API;DownstreamClient 复用 | ### ai05 — parent-bff(TS) | 设计重点 | | --------------------------------------------------------------------------------------------------------------------------------------- | | 家长端 GraphQL schema;与 iam 的学生-家长关联查询(GetChildrenByParent);多子女账户切换设计;家长通知偏好配置;DataScope=CHILDREN 过滤 | ### ai06 — iam(TS) | 设计重点 | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | RBAC 权限点枚举(全部模块的 CRUD 权限常量);三层角色模型(系统/组织/临时)权限合并规则;DataScope 6 级 SQL WHERE 注入规则;视口 4 层配置表设计;JWT RS256 私钥签发 + 公钥暴露端点(GetPublicKey RPC);gRPC 50052 + 12 RPC;iam_student_guardians 表;审计日志(AuditEvent + topic edu.iam.audit.created);shared-ts Outbox 接入;/readyz 5 项依赖检查 | ### ai08 — core-edu(TS) | 设计重点 | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | classes 模块黄金模板对齐;gRPC 50053 + 5 Service 22 RPC(ClassService + ExamService + HomeworkService + GradeService + AttendanceService);考试生命周期状态机;Outbox 事件定义(ExamEvent/HomeworkEvent/GradeEvent/ClassEvent);TOPIC_MAP 修订(edu.teaching.* 命名);成绩计算公式与配置化 | ### ai09 — content(TS) | 设计重点 | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | gRPC 50054 + 4 Service 18 RPC(TextbookService + ChapterService + KnowledgeGraphService + QuestionService);Neo4j 图模型(知识点 → 前置依赖 → 教材关联);ES 索引 mapping 设计(题库全文检索 + 标签过滤);Outbox(KnowledgePointEvent + QuestionEvent);Neo4j Sync Worker + ES Sync Worker;/readyz(MySQL + Neo4j + Kafka) | ### ai10 — msg(TS) | 设计重点 | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | gRPC 50056 + 3 Service 13 RPC(NotificationService + NotificationPreferenceService + NotificationTemplateService);通知渠道抽象(站内信/邮件/短信,策略模式);Kafka 消费幂等设计(event_id 去重);Outbox(NotificationEvent);与 push-gateway 的 /internal/push 通道;通知模板管理;已读/未读状态管理 | ### ai11 — data-ana(Python) | 设计重点 | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | gRPC 50055 + 12 RPC(含 Server Streaming SubscribeMasteryUpdate);ClickHouse 宽表设计(考试、作业、成绩、掌握度、出勤 5 张宽表);CDC 消费者架构(Debezium → Kafka → ClickHouse);学情分析 API(班级统计/个人趋势/预警阈值);掌握度计算算法(加权滑动平均);Dashboard 数据聚合;降级模式(ClickHouse 不可用时降级);MasteryEvent + AIUsageEvent(豁免 Outbox) | ### ai12 — ai(Python) | 设计重点 | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | gRPC 50057 + 6 RPC(含 StreamGenerateQuestion + StreamChat);LLM Provider 适配器模式(OpenAI/百川/本地模型);SSE 流式响应(题目逐字生成);出题 Prompt 模板管理;备课工作流(分析学情 → 推荐知识点 → 生成题目 → 教师审核 → 入库);用量计费/频率限制;AIUsageEvent(豁免 Outbox);接入 content + data-ana gRPC | ### ai13 — teacher-portal(TS) | 设计重点 | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Module Federation Shell 配置(exposes + shared,无 remotes);GraphQLProvider + urql client 单例;AppShell 改造(REST → GraphQL);登录页 + Dashboard + 班级列表;共享组件库(packages/ui-components + packages/hooks + packages/ui-tokens);feature flag NEXT_PUBLIC_MF_ENABLED;P3+ 扩展(考试/作业/成绩/学情/推送/AI 页面) | ### ai14 — student-portal(TS) | 设计重点 | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | MF Remote;7 页(dashboard/homework/exams/take/result/grades/my-schedule);复用 teacher-portal Shell 暴露的 GraphQLProvider + AppShell + 共享组件;学生端权限(DataScope=SELF) | ### ai15 — parent-portal(TS) | 设计重点 | | ----------------------------------------------------------------------------------------------------------------------------------------------- | | MF Remote;Dashboard + 孩子列表 + 考试/作业/成绩 + 通知偏好 UI 占位;复用 teacher-portal Shell;多子女切换 UI;家长端权限(DataScope=CHILDREN) | ### ai16 — admin-portal(TS) | 设计重点 | | --------------------------------------------------------------------------------------------------------------------------------------------------------- | | MF Remote;用户管理 + 角色权限管理 + 学校设置 + 组织管理 + 审计日志消费;复用 teacher-bff GraphQL endpoint(admin 命名空间);admin 权限点(ADMIN_ 前缀) | ### coord — 协调 AI | 职责 | 具体内容 | | -------------- | ----------------------------------------------------------------------------- | | proto 契约维护 | 统一管理 `packages/shared-proto/`,跨 AI 的 proto 变更唯一入口 | | 仲裁汇总 | 审阅 `issues/objections/` 各 AI 提请的异议,在 `issues/coord.md` 写入仲裁结果 | | 总矩阵维护 | 维护 `issues/matrix.md` 上下游对接总矩阵 + 就绪信号跟踪 | | 共享包管理 | shared-proto / shared-ts / shared-go / shared-py / ui-tokens 建立与维护 | | 架构文档同步 | 各 AI 产出后,同步更新 `004_architecture_impact_map.md` | | CI/CD | `.github/workflows/ci.yml` 覆盖全部 15 服务 | | 基础设施 | `infra/` K8s/Grafana/WAF/灾备(可由 SRE AI 协助) | --- ## 6. 协作文档体系 ### 6.1 目录结构 ``` docs/architecture/issues/ ├── coord.md # coord 仲裁汇总 ├── workline.md # 总工作安排(15 AI 甘特图) ├── matrix.md # 上下游对接总矩阵 ├── objections/ # 各模块问题/异议(AI 提请,coord 仲裁) │ ├── [模块名]_issue.md # 15 个模块各一个 │ └── cross_issue.md # 跨模块问题 ├── worklines/ # 各模块工作排期(AI 自己写,覆盖 P2-P6 全阶段) │ └── [模块名]_workline.md # 15 个模块各一个 └── contracts/ # 各模块对接契约(我提供什么 + 我消费什么 + mock 策略) └── [模块名]_contract.md # 15 个模块各一个 ``` ### 6.2 三类文档职责 | 文档类型 | 子文件夹 | 维护方 | 内容 | | ---------------- | ------------- | ---------------------- | ---------------------------------------------- | | issue(异议) | `objections/` | 各 AI 提请,coord 仲裁 | 遇到问题时追加条目,coord 仲裁后更新状态 | | workline(排期) | `worklines/` | 各 AI 自己写 | 全阶段甘特图 + 详细任务 + 依赖与就绪信号 | | contract(契约) | `contracts/` | 各 AI 维护 | 我提供什么 + 我消费什么 + mock 策略 + 就绪信号 | ### 6.3 全并行开发工作流 1. 各 AI 读取自己的 `contracts/[模块名]_contract.md` 了解上下游接口 2. 各 AI 在 `worklines/[模块名]_workline.md` 详细规划全阶段任务 3. 开发期间消费上游的 mock(见 contract.md §4 mock 策略) 4. 上游就绪后在 `matrix.md` §8 更新就绪信号 5. 所有模块就绪后统一集成测试(见 `matrix.md` §9 检查清单) ### 6.4 遇到问题 各 AI 在 `objections/[模块名]_issue.md` 追加异议条目 → coord 审阅 → 在 `coord.md` 写入仲裁结果 → 各 AI 按仲裁结果执行。 --- ## 7. 交叉审查规则 ### 7.1 coord 定期审查 coord 收到各 AI 的 contract.md 后,执行以下审查: | 检查项 | 检查方式 | | -------------------- | --------------------------------------------------------------- | | 端口不冲突 | 对照 [port-allocation](../../infra/port-allocation.md) 端口矩阵 | | gRPC 端口不冲突 | 50052-50057 一一对应 | | Topic 不重复 | 汇总全部 AI 的 Kafka 事件,去重检查(见 matrix.md §4) | | 错误码前缀不重叠 | 汇总全部 AI 的错误码前缀,唯一性检查(见 matrix.md §6) | | Proto message 不遗漏 | 检查全部"跨模块交互点"是否在 proto 中有对应定义 | | 就绪信号可验证 | 检查每个 AI 的就绪信号是否可验证(见 matrix.md §8) | ### 7.2 AI 间契约确认 当 AI A 需要确认与 AI B 的接口时: 1. 读 AI B 的 `contracts/[B模块名]_contract.md` 2. 如有疑问,在 `objections/cross_issue.md` 追加条目 3. coord 仲裁后在 `coord.md` 写入结论 --- ## 8. 协作规则 > **默认多 AI 协作**:所有 AI 工作默认按多 AI 合作模式进行,详见 [multi-ai-collaboration.md](../standards/multi-ai-collaboration.md)。 ### 8.1 分支并行开发 采用**长期分支**模式,共 17 个分支(15 模块 + coord + 集成): | 分支名 | 负责 AI | 用途 | | -------------------------- | ------- | --------------------------- | | `feat/api-gateway-ai01` | ai01 | api-gateway 开发 | | `feat/push-gateway-ai02` | ai02 | push-gateway 开发 | | `feat/teacher-bff-ai03` | ai03 | teacher-bff 开发 | | `feat/student-bff-ai04` | ai04 | student-bff 开发 | | `feat/parent-bff-ai05` | ai05 | parent-bff 开发 | | `feat/iam-ai06` | ai06 | iam 开发 | | `feat/core-edu-ai08` | ai08 | core-edu 开发(含 classes) | | `feat/content-ai09` | ai09 | content 开发 | | `feat/msg-ai10` | ai10 | msg 开发 | | `feat/data-ana-ai11` | ai11 | data-ana 开发 | | `feat/ai-ai12` | ai12 | ai 开发 | | `feat/teacher-portal-ai13` | ai13 | teacher-portal 开发 | | `feat/student-portal-ai14` | ai14 | student-portal 开发 | | `feat/parent-portal-ai15` | ai15 | parent-portal 开发 | | `feat/admin-portal-ai16` | ai16 | admin-portal 开发 | | `feat/coord-coord` | coord | 共享包 + 契约 + 仲裁 + 文档 | | `release/integration` | coord | 集成分支,合并各模块到 main | **分支规则**: - 每个 AI 在自己的分支上 `git add` → `git commit` 提交 - **AI 禁止** `git checkout -b`、`git switch`、`git branch`、`git merge`、`git push origin main` - 各模块分支开发完成后,由 coord 合并到 `release/integration` 进行集成测试 - 集成测试通过后,由 coord 将 `release/integration` 合并到 `main` - 每个 AI 只能修改自己负责的目录(见 §3.2) - `packages/shared-proto/` 仅 coord 修改,其他 AI 只读 - `docs/`、`.trae/`、`infra/`、`.github/` 仅 coord 修改 ### 8.2 唯一冲突文件处理 `pnpm-lock.yaml` 是唯一可能多 AI 同时修改的文件,冲突时由**人类决策者**在合并时解决: ```bash # 人类决策者操作(AI 不执行) git checkout main git merge # 冲突时: git checkout --theirs pnpm-lock.yaml # 取分支版本 pnpm install # 重新生成 git add pnpm-lock.yaml git commit ``` ### 8.3 提交规范 ```bash # 每个 AI 在自己的服务目录内工作(在分配的分支上) git add services//... git commit -m "feat(): 模块架构设计文档" ``` > **不标注 AI 身份**:commit message 不追加 `AI-Agent:` 等身份字段,经验沉淀不出现 AI 标识。 ### 8.4 proto 变更流程 任何 AI 需要新增/修改 proto: 1. 在 `objections/cross_issue.md` 声明需求 2. coord 统一修改 `packages/shared-proto/` 3. coord 通知受影响 AI 更新 contract.md --- ## 9. 审计模板(自检用) 每个 AI 审计自己负责的服务时,填写下表: ```markdown ## 服务审计表 — [AI标识] | 服务 | 权限装饰器 | 错误码前缀 | logger | metrics | tracer | /healthz | /readyz | 优雅关闭 | 测试覆盖率 | Dockerfile | | ---- | ---------- | ---------- | -------- | -------- | -------- | -------- | -------- | -------- | ---------- | ---------- | | xxx | ✅/❌/⚠️ | ✅/❌/⚠️ | ✅/❌/⚠️ | ✅/❌/⚠️ | ✅/❌/⚠️ | ✅/❌/⚠️ | ✅/❌/⚠️ | ✅/❌/⚠️ | XX% | ✅/❌/⚠️ | ``` --- ## 10. 相关文档 - [多 AI 协作指南](../standards/multi-ai-collaboration.md) — 日常开发协作流程 - [004 架构影响地图](./004_architecture_impact_map.md) — 全局架构与依赖 - [总裁最终裁决](./president-final-rulings.md) — 70+ 问题逐个裁决 + 时间统筹 + 15 AI 工作清单 - [AI 工作顺序协同规划](./ai-work-orchestration.md) — 6 批次并行规划(历史参考) - [coord 强制裁决](./coord-final-decisions.md) — 80+ 项强制裁决 - [coord 交叉审查](./coord-cross-review.md) — 交叉审查结果 - [coord 仲裁汇总](./issues/coord.md) — 新流程仲裁记录 - [总工作安排](./issues/workline.md) — 15 AI 甘特图 - [上下游对接总矩阵](./issues/matrix.md) — 服务依赖 + 接口矩阵 + mock 策略 - [项目规则](../../.trae/rules/project_rules.md) — 强制约束 - [编码规范](../standards/coding-standards.md) — 多语言编码标准 - [待开发功能路线图](./roadmap/pending-features.md) — 六阶段目标 - [端口分配](../../infra/port-allocation.md) — 端口矩阵