onexai Harness AI Coding:把编码规范做成 46 个 MCP 工具,AI 跨项目一致性 96%
用 AI 写代码半年,日常开发在 claude-sonnect-4-6 和 deepseek-v4-pro 之间按 token 用量与任务复杂度切换。目前大概 80% 的开发需求由 AI 完成,简单 review 后即可验收上线。方案设计方面,AI 能给出不少候选方案,但有些还是需要自己设计,或者跟 AI 多轮对话优化。
仅从编码能力和简单架构设计看,AI 的 Code 能力已经超过初中级开发工程师。在一个大的平台项目中,2 个人类 + 1 个 Agent 就够了:
- 资深开发/架构师:负责核心架构设计、功能设计和开发,把项目框架搭好,并构建出完整的 AI 约束框架;
- Agent(例如 Claude Code):协助开发工程师完成各类功能开发;
- 初中级开发工程师:落地非核心功能,并完成 AI 做不了的运维类工作(服务部署、云资源申请、网络打通),给 AI 兜底。
AI Coding 的问题
放在小组、部门甚至公司维度,AI Coding 的问题会变得明显:
- 开发风格不统一:AI 在一个项目内倾向于遵循既有代码风格和架构,不一致问题较小;但跨项目看,组件复用、包复用、错误码规范都不一样。开发者各自的 SKILL、MCP Tool 也难以标准化和统一分发。
- 无意义的防御性代码:AI 写出的不少防御性编程代码并不需要,反而让代码臃肿。
- 规范约束要反复通过 Prompt 强调:同一个项目不断加新功能、应用开发要新增多个服务时,每个服务都要重新跟 AI 强调规范和约束,新服务要写的约束 Prompt 甚至更多。
非 AI 时代的答案
AI 当前的能力形态,本质是一个“拥有超强记忆力、极快编码速度、但在系统全局设计和复杂逻辑上缺乏经验的初中级工程师”。
对比结论:
- 简单项目/功能:AI Coding 能力 > 高级开发工程师(效率、规范度、实现方案、考虑异常等方面);
- 复杂项目:AI Coding 能力 env > file > KV > default), BindPFlag, env binding with key replacer, Unmarshal with mapstructure tags, hot reload, test isolation
web-frontend Get the web frontend standards: React 19 + Rsbuild + Wujie micro-frontend, monorepo layout, naming, components, stores, routing, i18n, styling, and commit rules
规范全量喂给 AI 会消耗大量 Context。实际用法是渐进式喂入:
- 日常编码中,AI 已经会基于已有代码风格生成新代码,只需要在需要时靠近规范;
- 开发新项目时,让项目从初始化起就符合规范;
- 阶段性用定向 `/review` 命令把项目再规范化,避免频繁优化,用 `onexai review` 强制 review 并自动修复;review 时可以指定规范等级;
- 其他情况让 AI 自行判断用哪份规范,`onexai rag` 提供基于语义的规范查找。
> onexai 的所有工具会自动转换为 MCP Tool,并连接至 Claude Code 等 AI IDE。
向 AI 告知规范时,不是全量灌入,而是先通过 `onexai convention overview` 让 AI 知道可用规范与调用方式。overview 输出中有三条关键约定:
- 每个规范都是一个 MCP tool,命名规则为 `convention_`:下划线连接 `convention` 和子命令,子命令内部的连字符保留。例如 Error Return → `convention_error-return`,Dependency Injection → `convention_dependency-injection`;
- 可以调用 MCP tool,也可以使用等价 CLI:`onexai convention `;
- 规范条文分三个 Level,且同一文档可能混合多个级别:
| Level | Label | Description |
|---|---|---|
| **Mandatory** | 强制 | Must be followed in all projects. Only affects product function. Exceptions require formal review approval. Existing projects: phased improvement. New projects: enforced from design stage. |
| **Recommended** | 建议 | Follow unless there is a justified reason not to. Existing projects: adopt incrementally. New projects: default follow, exceptions require review. |
| **Reference** | 参考 | Guidance only, not hard requirements. Adopt flexibly per project context. |
这个信息层本身也是给 AI 的引导,让它知道“规范是分级、可查、可按需深入”的。规范索引中剩下的脚手架部分,由 `onexai create` 相关命令与 `scaffold` 规范条目负责落地。