Copperhead:电路板界的 Cursor

查看原文 HN 讨论

文章摘要

一个直接改 KiCad 文件的硬件设计 agent

Copperhead 自称「电路板界的 Cursor」,是一个开源的 AI 工程平台,帮硬件团队设计、验证和交付 PCB。安装方式就是 npm i -g copperhead,配上自己的 Claude 或 GPT-5 API key,在自己的 KiCad 文件和 git 仓库上运行。官网首页有一段交互式回放,演示「给这把钥匙加一个 USB-C 电源输入」这条自然语言指令是如何被执行的:读取 docs/POWER.md、列出 41 个网络并确认没有 VBUS 和 CC1/CC2、验证变更提案并解锁编辑工具、编辑原理图(加 USB-C 母座和两个 5.1k 的 CC 下拉电阻)与文档(VBUS 预算,5 V @ 1.5 A)、跑 ERC(零违规)、检查文档与原理图是否漂移、最后把决策记进 DECISIONS.md 和 CHANGELOG.md。整个回放号称 17 秒、12.3k tokens、4 个回合完成。

八个阶段,每一步都有门禁

产品的核心机制是把「从一句话到一个设计包」拆成八个阶段,每个阶段是一次独立的 agent 运行,必须在磁盘上留下产物才允许进入下一阶段,门禁不过就停在那里:

每个阶段一次提交,「没有真东西落盘就不提交」,而边界由 KiCad 自己验证——ERC 和 DRC 必须干净。

几条自我设限的规则

FAQ 里列了几条产品刻意加的约束,这是它区别于「让 LLM 自由发挥」的关键:它拒绝在脏的 git 工作区上运行;在存在一个经过验证的变更提案之前,拒绝编辑任何设计文件;拒绝会打破你已写进文档的预算或约束的变更,并会引用它将要违反的那一行;从不编造无法从数据手册论证的型号。关于「它会不会重写我整个原理图」,答案是不会——编辑是对 KiCad s-expression 源码的外科手术式修改,diff 保持小而可评审,未触碰的部分保持字节级不变;官网原话是:一个为了挪动一个网络就重新生成整个文件的工具,已经让自己的工作变得无法被评审了。

商业模式与实证

开放核心:CLI 永久免费(Apache-2.0),自带 key,本地运行。Cloud 每人每月 49 美元(开源硬件仓库免费),提供托管运行、私有仓库、带聊天和实时原理图/板卡渲染的网页查看器。Team 在此之上加 199 美元/月平台费,提供 CI bot(把 check 作为 PR 必需状态检查)、跨组织的共享约束库、SSO/SAML。Enterprise 按年定制,支持自托管/VPC 和 KiCad 之外的 Altium。项目声称有 252 个 GitHub star、每月 389 次安装。实证案例叫 Open Telegraph——一个口袋大小的 ESP32-S3 摩尔斯电码键,号称用这套工作流端到端做出来,每个决策、每次检查、每个文件都公开。软件 Apache-2.0,硬件 CERN-OHL-S v2.0。

HN 评论精华

249 分、115 条评论。讨论几乎立刻分成两条主线:一条是关于 PCB 布局是不是 NP 难、LLM 到底能不能解,另一条是关于官网文案的 AI 味道。创始人 animeshchouhan 全程在场回复。

「这和我直接用 Claude 有什么区别?」

开场第一条就是 tadasv 的质疑:我用 Claude 和 Gemini 编辑、调试 KiCad 原理图,效果挺好,这个 agent 的意义在哪?创始人的回答是:Copperhead 不只是 Claude 或 GPT 的套壳,它把模型智能与自己的硬件 IR(中间表示)、确定性引擎和持续验证结合在一起。j16sdiz 追问得很实在:「用户根本不在乎。它有额外功能吗?更快吗?更好用吗?」

guhidalg 贡献了全场被引用最多的一句吐槽:「某个产品经理意识到 agent 不会反对瀑布式的项目规划,于是我们现在有了各种瀑布模式的 agent。」创始人回应说 Copperhead 是一个设计→验证→修订→重复的反馈回路,更接近工程控制环而不是瀑布加个 agent。toss1 和 TechSquidTV 都追问了同一个关键问题——走完设计回路之后,它能跑仿真和测试吗?两次都得到同一句「我们正在围绕这个做工具平面的集成,敬请期待」,这基本上等于承认目前不能。

NP 难之争:本串最长也最激烈的一段

Aurornis 定下了讨论的基调:你需要理解 PCB 自动布线的历史,各种形态的自动布线器加自动布局已经存在很多年了,产出从未能与熟练 EE 的手工相比;自动布线器输出与熟练操作者输出之间的差距,甚至比优秀开发者与普通 AI 代码 slop 之间的差距更大。他认为即便是 Fable/Astra 或 Quilter、Flux 这类专门工具,要做比简单业余板更复杂的东西还有非常非常长的路要走,但对做简单 PCB 的爱好者会是好事。

Joel_Mckay 随后把讨论推向一场持久战,他的核心论点是「NP 难问题即使撒上魔法 LLM 仙尘也还是 NP 难」,并反复贴出旅行商问题的维基链接。monocasa 的反驳最有说服力:这些问题对今天做这件事的人类也是 NP 难的,所以足够好的启发式本来就占主导;而且 PCB 布线更接近装箱问题而不是旅行商问题——代价函数不是节点间最低成本,而是在满足 EMI 串扰规范的前提下用最少层数塞下所有走线;少数确实对长度敏感的走线(DRAM、SERDES)基本都是点对点链路,本来就已经高度自动化了。他给出的结论性一击是:「如果几十年的标准合规、工艺训练和经验就能解 NP 难问题,计算机科学会是一个完全不同的领域。」

murderfs 补了一记硬的:说自动布线器「只在平凡问题域里勉强能用」很可笑,因为半导体设计是最不平凡的问题域,而它完全发生在 RTL 层面,布局环节几乎没有人工介入,连 floorplanning 现在都在被自动化。unrented7977 给出了最平衡的技术回答:我们找的从来都是局部最优,没有办法证明某个设计是所有可能设计中最好的;一个设计的正确性可以被证明,但需要与 LLM 同一量级的算力来仿真,因为一旦开始仿真 EM 和 RF 响应,电路板就变得地狱般复杂。他还有一个漂亮的类比:好工程师做这件事靠的是直觉,跟飞行员能开直升机是一回事——大量阅读规则理论加上大量练习,你会对各种场和能量如何流动产生感觉;而这恰好也是神经网络学习的方式。他的结论是:机器学习原则上完全有能力产出令人满意的正确电路板,但今天的问题空间对 ML 技术来说太大,验证和迭代太贵,也许再过几年。

adrianvi 提出了务实的中间路线:稍微更聪明的 LLM 加上一个足够好(不必完美)的自动布线算法,能解决 99% 爱好者项目和简单工业板,因为这些模式在现实中重复度很高;LLM 学会启发式(先走数据线、后走电源线),然后调用自动布线器去布,再看图像输出处理下一部分,深度优先;如果后面布不通就回溯重试。

hardware 工程师的文化门槛

mikeayles 提供了一份行业地图:Flux.ai 是老牌玩家,英国的 Silixon 在放 demo,Quilter 和 DeepPCB 做布局,还有最近 OpenAI 的演示。他自己走的是另一条路——用一套规则预先设计好子电路,允许简单的合并装配;但受限于时间和预算没能继续。他最想说的一点是:硬件工程师非常喜欢设门槛,在论坛和 Reddit 上任何关于用 AI 做自动化的问题都会被秒喷,发帖人基本都会被扣一顶「技能问题」的帽子。Aurornis 建议远离 Reddit 和论坛才能看到开放的人在关注什么,但当 stonogo 追问「那这些社区在哪」时,没有得到回答。HeyLaughingBoy 的经历不同:现实中的硬件工程师很愿意聊自己的工作(他自己也做过 EE);但 Reddit 上确实有大量「把头埋进沙子问题就会消失」的行为,人们担心工作是可以理解的,但通过贬低 AI 或寻找「AI 还没进来的技术小生境」并不能帮到自己。

mlaux 写下了整串里最私人的一条:这项能力客观上很酷,但他对事情的走向感到悲伤——电子项目是他躲避那个新的、高速低质的软件世界的避难所;他想「就不用它」继续享受电子,可一旦想把某个点子变成产品,就得面对那些做得极快、质量标准极低的对手。他说这话的同时声明自己是享受 LLM 辅助编程的人。

关于官网文案的争议(以及一次版主介入)

fwip 的一句「如果网站不是明显的 AI 文案,可能会是个更好的网站」引出了一段有意思的交锋。创始人回复「网站不是产品,去试 Copperhead,评判工程」,hilariously 反驳:网站是产品的营销,大多数人先看到的是它,如果你的正门挂满了傻气的东西,人们不会再往里走。创始人随后回了一句「已修复」。webprofusion 也说「我真的很想喜欢它,但 AI 写的文案太痛苦了——『问题,以及谁在痛』,拜托」。

m132 的评论被标记(flagged),版主 tomhow 出面说明:请不要发表浅薄的否定或纠结于琐事,一个早期项目没在 logo 上花太多时间是好迹象。m132 的申辩值得记录:他理解现在 vibe 一个落地页的理由比不 vibe 多,但这个页面对很多人是这个项目的第一次接触;虽然只凭封面判断一本书确实浅薄,可这个封面直白地喊着「我们连试都没试过」——如果创作者自己都只给了这么多注意力,你能怪别人不往下看吗?尤其在 2026 年,什么都在抢夺你的注意力,而生成看起来像模像样的低成本项目从未如此容易。tomhow 坚持规则优先,并指出 HN 之所以还是一个人们愿意讨论重要话题的地方,正是因为有准则并且每天维护它;m132 最后表示希望低质量的投稿也能得到和低质量评论类似的对待,或至少有独立分类。

替代方案与实战经验

这一串里积累了相当多可操作的一手经验。ecesena 说自己没用过 Copperhead,但用 Claude 做了两块 PCB:让它写 Python 脚本生成 KiCad 源文件,最后所有文件(尤其是原理图和 PCB)都从一个共享网表生成,用 KiCad CLI 验证并出 Gerber;两块板都通过 PCBWay 打样并且都能工作,而他此前从未做过 PCB。他手工做的部分是放置和布线——在 KiCad 里做完保存,Claude 再把成果重新导入 Python 文件。edg5000 两次推荐让 LLM 写 SKiDL(生成网表,再导入 PCB 编辑器,然后让 LLM 评审);他认为布线本身需要「代码驱动的布线」——用布局约束来表达板子,类似 UI 约束或 CSS——而这东西目前还不存在。avsteele 报告说他周末测试 Astra,开箱即用地通过普通「computer use」就能创建和修改原理图、放置元件并布线,对布线结果不满意但也不算糟糕。ac29 说他用 Codex+Sol 做过同样的事,用 Codex+Astra 在一个周末做出了更复杂的东西,产物直接送去 JLCPCB 下单。

seveibar 提出了一条对整个赛道的批评:很多新的 agentic EDA 工具都基于 KiCad,这没问题,但他建议新工具作者看看 tscircuit(开源,MIT)——KiCad 不是为 AI 生成而设计的,缺少自动布线/布局、供应商封装朝向检查、连接器朝向检查这些功能,而随着更多人期待对 AI 生成的设计做广泛验证,这些会成为必需品;KiCad 可以加,但它有几十年的包袱和一堆要追赶的 Altium 功能。他的担忧是「我们所有人都被 KiCad 的 s-expr 绑住了」。

关于「能不能直接寄一块贴好片的板子给我」

tylergetsay 说这是他的梦想。创始人回了句「快了 :)」,并透露他们正在围绕 Copperhead 建一个设计公司,打通与工厂的闭环、处理 DFM 问询,最终让你点一下「下单」就收到贴装完成的板子。dghlsakjg 和 seidleroni 指出这件事今天就能做:去 JLCPCB 之类的中国贴装厂,只要待在它们的元件库里就极其简单,上传 Gerber 和 BOM,一周左右就能拿到成品板。

jimberlage 报告了一个真实的产品可用性 bug:登录后点侧边栏的「Start a board」,三个输入框都无法输入文字;mrnotcrazy 找到了原因——页面底部要求你先把 Copperhead 连接到 GitHub。

Slogan 翻车

motoboi 抓住了首页那句「Hardware as fast as software」(硬件像软件一样快):「拜托别这样,哈哈。我想象出了一块跑得像 Python 一样慢的芯片。」FacelessJim 说自己也是这么读的,「绝对是把双刃剑」。theandrewbailey 加码:「或者更糟——硬件像一个普通的、臃肿的 Electron 应用一样慢。」frangonf 补了最后一刀:「我想象出了比平时更快地释放魔法烟雾的 bug。」创始人只能承认「哈哈抓得好,但这说的是开发速度」,tortasaur 建议改成「make hardware as quickly as software」会更清楚。

最后,marcy_74 给出了整串最凝练的判词:布局在 LLM 出现之前就是 NP 难的,现在依然是。真正的问题是它们在任何一项上是否打得过经典自动布线器。