Harness 企业级落地(二) : 让 AI 读懂项目
这一篇我们继续深究,一个团队如何能成长为:AI 全栈开发,可以同时维护 APP、后台、网页等多端代码。
AI 时代下,我们认为程序员不应该局限于某一门技术,应该以顶层思维看待整个项目,了解整个系统的设计和数据流向。
这样不仅能够提高个人的知识广度,更能够独立且高效地完成具体的某个模块,从而加快产品的迭代速度,实现快速的想法验证。
一、顶层设计思维
要完成 AI 全栈,得先做到:
- 把我们的
全栈项目汇总管理起来 - 让 AI
读懂每个子项目的代码风格、框架分层、设计理念,并沉淀下来
进而达到:
- 无论什么模型,都能快速地知道你的需求,
需要动到具体哪一个端 - 编码符合这个端的风格,代码也不会出现低级失误
- 编写完毕之后,能够自动启动各个端,然后自己做跨端的e2e 全流程测试
二、基于 git submodule 的项目结构
针对全栈协作的场景,APP、后端和网页端等各个端,会有各自有独立的代码仓库,同时迭代节奏和分支管理也有所不同。
所以我们先维护一个组合根仓库,把业务子项目通过 Git submodule 的方式去汇合起来,常见的结构大致是这样:
fullstack-workspace/├── cow-harness/# 全栈入口与通用 Harness├── .ai-harness/│ └── workspace-map.md# 业务模块地图├── apps/mobile/# APP 端代码(git submodule)├── services/backend/ # 后端代码(git submodule)└── apps/web/ # 网页端代码(git submodule)│ └── .gitmodules
.gitmodules
- 记录仓库来源和落盘路径,根仓库记录每个子仓库此刻应使用的分支。这样子团队任何人拉下根仓库,都能拿到同一组前后端代码版本;
- submodule 本身不会影响子项目的分支策略,分支规范、提交习惯和代码目录仍由各子仓库自己维护。
workspace-map.md
- 盘点子项目分别属于什么领域、是否已经初始化等;
- 一张地图,解决“这个任务先去哪里”。
三、让 AI 深度读懂整个项目
“读懂” 不是让 AI 把整个仓库扫一遍,然后给你写一份看上去很专业的总结;而是要非常精准的知道每个项目的设计、风格、规范约束、安全性能指标等。
为此,我们特意为这个环节编写了一个 SKILL:domain-init。
这个 SKILL 拥有非常完整的项目识别能力,不仅接入到 cow-harness,也独立进行了开源,需要自取:github.com/MinLeeV5/do…
1. 前置介绍
domain-init 会先做领域识别:从构建文件、依赖、入口、测试工具和目录结构里找信号,判断当前项目是哪个端(如:更接近 React 前端、Go 后端、移动端、CLI...)。
确定领域后,会采样真实代码,识别项目已经在使用的架构设计、组件规范、接口分层、测试夹具和验证命令等等,再把这些事实变成可 review 的规则草案。
核心重点:代码是事实源,规则只是对事实的结构化表达。
2. 四大原则
| 原则 | 它解决的问题 |
|---|---|
| 信号优先 | 先根据项目里的依赖、入口和构建文件判断领域,避免一份前端规范误用到后端或客户端。 |
| 证据先行 | 每条约定都要能回到项目代码中找到出处,避免模型凭记忆造出“理论正确、项目错误”的规则。 |
| 按领域过滤 | 前端重点看设计系统、状态和可访问性;后端重点看接口、数据和可观测性。相关的才进入上下文。 |
| 人不缺席 | 领域判断、扫描范围、规则草案和最终写入都有确认点。AI 负责归纳,人负责判断哪些是约定、哪些只是历史包袱。 |
3.最佳实践
如果只是从已有项目里抽取,会有另一个风险:可能原本项目就设计得不是很好,然后 AI 就会依照这个规范越写越烂。
于是 domain-init 还提供了一些最佳实践 references。
| 参考文件 | 设计作用 | 避免 |
|---|---|---|
detection-signals.md | 定义领域识别的优先级、降级路径和人工确认机制。 | 把项目类型猜错。 |
domain-matrix.md 与 dimension-pool.md | 用领域矩阵过滤规则、Skill 和 Agent 的适用维度。 | 把所有治理维度一次性塞给每个项目。 |
project-index.md | 为不同问题指定开源质量标杆和应参考的关键文件。 | 只会套空泛的“最佳实践”。 |
output-formats.md | 规定 rule、skill、agent 的结构、代码示例和证据要求。 | 生成只有口号、没有执行性的产物。 |
project-index.md :关键的质量索引,引用了大量的优秀实践,不同的问题,我们去找不同的标杆。比如:
- 编码约定可以参考
everything-claude-code的分语言规则 - 前端性能和组件架构可以参考 Vercel 的 agent skills
- 测试策略和验证门控可以看
get-shit-done - 安全审查则有
gstack和 Trail of Bits 的工作流
同时,使用这些优秀实践时,不是把别人仓库的内容拷过来。核心是让 AI 学习它如何组织规则、如何表达硬约束、如何把验证写进流程;然后再回到当前项目的代码事实,生成适合自己的内容。
四、初始化产物
初始化完成后,每个子项目里都会有一组**能被后续任务反复读取的资产。**这些资产不会放在组合根仓库,而是放在各自的业务子项目里。
services/backend/├── AGENTS.md # AI 进入项目的入口├── cow-harness/│ └── skills/domain-init/# 嵌套的领域初始化 skill├── .ai-harness/│ ├── project.profile.md # 项目画像│ ├── context-map.md # 模块、入口与边界│ ├── verification.md# 验证方式与命令│ └── domain-init-report.md# 检测依据、确认范围和结果├── .agents/ # 当前项目选择的平台规则、skills、agents└── .ai-runtime-artifacts/ # 需求、计划、验证与决策记录
project.profile.md :回答“这是什么项目、关键约束是什么”;
context-map.md :回答“代码应该改在哪里、边界在哪里”;
verification.md 回答“改完怎么证明它没问题”。
另外还会生产一些模型层的入口
domain-init-report.md :把领域判断的依据、用户确认过的范围和生成结果保留下来,避免这些结论变成无从追问的黑盒;
.agents/ :这个项目真正会被 AI 加载的规则、skills 和 agents;
.ai-runtime-artifacts/ :保存需求分析、计划、验证记录和架构决策。
五、初始化后,如何执行任务
当一个任务从全栈组合根目录进入时
- AI 先读
workspace-map.md - 任务里出现明确的项目路径、模块名、接口名或界面名,就用这些证据定位业务子项目
- 结合相关的多个项目,开始判定任务体量,决定是否进行 spec 拆解
- 项目一旦选定,读取顺序也固定下来:先通过
AGENTS.md进入项目,再加载cow-harness/core/的通用流程,以及当前项目的project.profile.md、context-map.md和verification.md - 然后 AI 会遵循 harness 的规范,去使用 superpower 和 omx 开始干活
六、快速接入
- 维护好全栈组合仓库,先把所有子模块拉到组合根仓库锁定的版本:
git submodule update --init --recursivegit submodule status --recursive
2.cow-harness也作为 submodule 加入到你的项目中
git submodule add git@github.com:WxqKb/cow-harness.git cow-harnessgit submodule update --init --recursive
3.接下来让cow-harness 开始为你初始化子项目:
请先读取 cow-harness/README.md、cow-harness/init/fullstack-bootstrap.prompt.md和 cow-harness/skills/domain-init/SKILL.md。这是一个由多个业务子项目组成的全栈项目。请先运行git submodule status --recursive,区分业务子项目、Harness 和第三方依赖;展示候选业务子项目并等待我选择。只初始化我确认的子项目,不要在组合根目录生成混合的领域规则,也不要自动改写未选择的子项目。
七、写在最后
实际上,各大基模的在 coding 的发力下,AI 对程序员行业的冲击是致命的,在大公司体感是十分明显的。
比方说:接收到的一句话需求,能让 AI 全面了解拆分,快速搭建出 A/B 方案,并发布给天使用户测试。这个流程验证以往可能要投入一周的时间,但是 AI +harness 2 天就能搞定。而这种提效方式,对个人和业务都会产生不容小视的价值,而且早已不是天方夜谭。
Harness 全栈说白了,也会卷掉一波人。
但笔者想说的是,在这个大环境下我们尽量去成长。当编码技术不再是壁垒的时候,我们应该更快速的去利用好 AI,让 AI 全面扩宽我们的知识面和业务边界。 沉淀成为我们的核心竞争力,那我相信当环境好起来后,你依然是那个香饽饽~
下一篇,我们会继续深入讲解 harness 中,是如何使用 openspec 和 omx 工作流,进行高质量的工作的。
cow-harness 开源仓库,欢迎使用!
-
07.23
OpenAI 总裁布罗克曼:Kimi K3 无疑相当不错 但我们仍有巨大优势
-
07.23
旭阳新材:市占率“双料冠军”却向对手赔本供货 粗放扩张埋下多重经营隐患丨IPO观察
-
07.23
Gemini 谁啊?谷歌前沿 AI 模型迟迟未发布 竞争对手群嘲
-
07.23
Codex Claude Code 的推理档位:其实就是一句提示词
-
07.23
魔兽世界破敌开路任务攻略详解
-
07.23
《幻兽帕鲁》实用帕鲁队伍搭配推荐
-
-
- 前所未有的事故!AI失控发起攻击:中方救场
- 07.23
-
-
-
- 从山巅至冰川湖的视觉呈现
- 07.23
-
- 连贯 FPV 无人机建筑航拍
- 07.23
-
-
下载
- |
-
-
下载
- 《行尸走肉第一章》免安装中文汉化硬盘版下载
- 单机|436 MB
- 一款以动作冒险为主题的游戏
-
-
下载
- 《街头霸王X铁拳》免安装中文汉化硬盘版下载
- 单机|111MB
- 一款非常好玩的格斗游戏
-
-
下载
- |
-
-
下载
- 《暗黑破坏神3》免安装繁体中文正式版下载
- 单机|7630 MB
- 一款以角色扮演为主题的游戏
-
-
下载
- 《马克思佩恩3》免安装硬盘版下载
- 单机|27033 MB
- 一款以第三人称射击为主题的游戏