跳到主要内容
把硬件设计拆成八个 git commit,是我最近见过最拧巴的机制

把硬件设计拆成八个 git commit,是我最近见过最拧巴的机制

盖文
盖文

· 阅读约 9 分钟

圈内内参|这期记个还早的东西,Copperhead,一个硬件 AI 工程平台。它官网最值得看的不是"AI 画板子"那句话,而是它给硬件设计流程硬套上去的结构:八个阶段、每阶段一次独立 agent 运行、产物必须写盘、门禁不过就停,每个阶段打一个 git commit。信源先说死:这篇全从 Copperhead 官网公开页面来——演示回放、FAQ、价格页、运行前提说明,没有匿名消息源交叉验证。正文里的信息层级整体比平时更贴"据公开页面显示"这一档,我看见多少写多少,没看见的不写。

先说那个演示。页面里有段终端回放,v0.8.1,给它自己的说法是给一个键盘工程加 USB-C 电源输入。过程不复杂:读文档、检查网络、校验变更、编辑原理图和电源文档、跑 ERC、记录决策,最后提交哈希 3f2c9a1,全程大概 17 秒。这个 17 秒我不信它代表真实工作流——官方放的演示回放,brief、参数、模型响应一个都看不见,不是一个可核验的独立测试场景。但它摆出来的流程切法是真的,而且这个切法比那个 17 秒关键得多。

Copperhead 把整个硬件设计流程切成八块:规格、架构、物料清单、原理图、布局、制造输出、固件、开发计划。每块一次独立 agent 运行,结束前必须把产物写到磁盘——SPEC.md、SUBSYSTEMS.md、BOM.md、design.kicad_sch、design.kicad_pcb、gerbers、钻带、STEP、固件源码、DEVPLAN.md,文件名固定,不写盘后面的阶段不启动。对应门禁检查不过,运行就停。页面说了,每个阶段产一个 git 提交,最终输出包括 gerbers、固件、文档,用 KiCad 自带 ERC 和 DRC 验证。

这里有意思的从来不是"它分了八步"。任何有点规模的硬件项目都分这几步,不分才怪。它真正在解决的那个问题,官方 FAQ 给起了个名字:drift。同一个硬件决策同时扩散到原理图、BOM、功率预算好几份文档里,这几份文档不同步的时候不会立刻报错,一路拖到 bring-up 阶段才炸。到那时候,一次改板 5000 到 50000 美元,6 到 8 周。drift 这词我不翻,软件工程里没有对应物。你非要在软件里找类比,最接近的就是技术债,但技术债会自己冒出来——接口改了编译器红给你看。硬件的 drift 不报错。原理图改了 BOM 没跟着动,原理图这版照样绿,KiCad 不会弹出任何东西告诉你功率预算已经对不上了。正因为它不报错,所以只能靠阶段门禁去拦,藏在开发流程结构里,而不是靠工程师在编辑器里自己盯。

这就说回到写盘。写盘这件事在软件 agent 循环里几乎没人讨论,中间态存不存都行,反正是工具自己的事。但在这里,写盘不是给编辑器读的。它是把"这个阶段的设计意图"钉死成一个能检查的 artifact。你没写 SPEC.md,架构阶段不启动;BOM 没过门禁,原理图阶段不会往下走。这套东西说白了,是拿 git 的原子性和 CI 门禁去替代硬件设计里本来靠人脑和会议维持的同步。官网管自己叫"电路板的 Cursor",但读完 FAQ 你就知道了,它跟 Cursor 最核心的差异在这里:软件 agent 敢容忍中间态,硬件 agent 不敢。这个不敢,值几千美元和两个月。

还有一段关于修改方式的说明。按官方 FAQ 的原话,它不重写整张原理图,而是对 KiCad 的 s-expression 源文件做"外科手术级小修改",让 diff 保持小而可审阅,未涉及的文件片段保持字节级不变。我不打算把这个翻译成技术赞美,它背后有明确的工程动因:KiCad 原理图底层是 s-expression 文本,天然适合结构化 diff。硬件工程师 review 一个变更,看到的是代理就动了 USB-C 电源输入那一段,而不是整张图被炸了重建。review 成本这事在硬件领域比软件敏感得多——软件大 diff 合并了,测试能跑过就有人敢合;硬件大 diff 合进去,你不会立刻知道哪里坏了,等板子回来才知道。这个"外科手术级小改"的坚持,跟 drift 问题是同一套逻辑的两面。

限制摆出来。它的 s-expression 模式目前只覆盖 KiCad,页面里 Enterprise 计划才提 Altium 支持。这一条放在价格梯队描述里不是普通的功能点,它基本划死了这个项目现在站在哪个生态里。现实是大量硬件公司在用 Altium,KiCad 更多是开源硬件、个人项目、初创小团队。先做 KiCad 合理,文件格式开源,自动化接口好做。但把 Altium 压在自定义年度价格那一档,本身就说明问题:它现在能碰的,还是设计文件透明的那一端,不是有私有格式和合规包袱的另一端。

价格模型拉出来看。免费 CLI 版本地跑,Apache-2.0 永久开放,带 do、create、init、check、watch 命令,用户可以自己接 Claude 或 GPT-5 API key,在自己本地的 KiCad 文件和 git 仓库上跑,页面说不计量、无锁定、社区支持。Cloud 版 49 美元一人一月,开源硬件仓库免费,私有仓库托管运行;Team 在 Cloud 上加 CI 机器人、共享约束库、SSO/SAML、集中计费、池化推理 credits,每平台每月再 199 美元。Enterprise 卖自托管、VPC、RBAC、安全审查、SLA、审计轨迹。

这个价格阶梯跟软件侧 AI 工具的采购动因有反差。软件那边我们之前记录过的模式:大厂平台集中采购、创业公司个人订阅,两边卡的不一样。Copperhead 这里更接近把"数据出域"这层红线前置成付费点——你要私有仓库,上 Cloud;要 Altium 和审计轨迹,上企业。值得注意的是它在免费 CLI 里就把一堆约束写进去了:"拒绝在脏 git 工作树上运行"、"未经验证的变更提案不编辑设计文件"、"拒绝破坏文档预算或约束的改动并指出违反的具体行"、"不编造无法从 datasheet 证明的元件编号"。也就是在软件工具里通常由安全、合规部门事后介入、组织层传导慢半拍的那些规则,在这被做成了每次 agent 运行的前置门禁。方向不一样:软件先放开用、安全再跟进;Copperhead 更像是把合规门禁内建进运行期,从第一天起不让脏状态进 git。

这里有个信息分层声明。前面这些机制概括,是我从官网 FAQ 和价格页反推出来的,属"分析"层级,不是独立信源核实过的事实。尤其门禁内建那一条——它到底是代码里真的硬拦截,还是只是 prompt 层的 soft constraint,官网没让我看到实现。两位做过硬件 CI 但没实际跑过这个工具的朋友看完 FAQ 给出的理解方向对不上:一个觉得更像 agent 循环里的 system prompt 强约束,另一个认为有了"每阶段产物写盘 + 门禁检查"这个固定结构,门禁就大概率是脚本级硬检查,不然流程结构没意义。这个点我没核实清楚,两个看法都摆着。

页面底部有数据统计:GitHub 当刻 144 个星标,每月约 513 次安装。这数字跟它 FAQ 里的机制密度摆一块,有种说不出的错位感——脏 git 工作树拒绝、预算约束逐行报错、八个阶段产物写盘、Altium 塞进企业版,密密麻麻,但每月装它的人只有五百来次,星标一百四十四。我不嘲这个,这恰恰是个典型的早期截面:一套高度结构化的工程机制,配一个远没到规模阶段的采用度。机制密度跑在采用度前头好几轮,很多 infra 早期项目都这状态,硬件 AI 工程这边只是又出现了一次。

Backed by 那一栏扫一眼:Microsoft for Startups、Google for Startups Activate、Clerk、Supabase、Google Workspace、Sarvam AI、Hugging Face。这个组合基本是软件 SaaS 早期项目的标准背书套餐,加速器生态 credit 为主,夹一个跟印度市场相关的 AI 方。没有硬件投资机构的影子,没有制造、供应链背景的背书。拿名单推导它稀缺资源是什么,属于过度解读,我不干这事。能记下来的只是:这项目的叙事和加速器配置还走在软件创业的模板上,跟它想解决的那 5000 到 50000 美元改板代价不在一个语境里。

整个 FAQ 最硬的部分,也是我最容易被它那句口号盖过去的部分:不重写原理图,动手不改字节。一个硬件设计的 maintainability,很大程度取决于 diff 能不能被审。问题是它现在太小了。真正的维护者是那些开源硬件仓库和少量愿意为私有仓库付费的团队。diff 做得再干净,没人审,也只是机器替用户多画了几版。这不是它的问题,这个阶段就长这样。

几个值得盯的信号。一、Copperhead 的 GitHub 安装量接下来几个月的爬坡曲率——每月 513 次安装是公开基线,能不能往上翻、翻多快,是机制有没有被实际采用的直接观察点。二、那个 Open Telegraph 案例仓库里公开可见的决策、检查、文件到什么程度——案例公开到什么粒度,是看它真实门禁约束的最好入口。三、Altium 是否从 Enterprise 描述里降档,或者有没有 SDK 出现——那一档动了才意味着它打算碰商业硬件公司的真实生态。四、CLI 免费版代码里"拒绝脏分支""拒绝未经验证变更"到底在哪个层,看代码比看文档清楚。四条都公开可查,到时候回头看就是。有跑过的,匿名补充。

盖文
盖文

用信源 + 数据 + 内部 how-it-works 记录大厂怎么运作,分层标注、不下注。

查看主页 →