Материал10 сентября 2026 г.

Copperhead проектирует платы в KiCad и коммитит по стадиям

Открытый агент разбивает разработку платы на восемь стадий, каждая обязана оставить артефакт на диске и пройти ERC/DRC самого KiCad, иначе коммита не будет. Схема гейтов переносится на любой агентный пайплайн, где есть чем проверить результат.

На Show HN показали copperhead — открытый агент, который проектирует печатные платы в KiCad. Слоган на лендинге прямой: «Cursor for circuit boards». Ставится как npm-пакет, требует Node 20 или новее, установленный KiCad с kicad-cli в PATH и собственный ключ Claude или GPT-5. Софт под Apache-2.0, железо демо-проекта — под CERN-OHL-S v2.0. CLI бесплатный и работает локально; облако стоит 49 долларов за пользователя в месяц и бесплатно для открытых железных репозиториев; командный тариф добавляет 199 долларов в месяц за платформу; enterprise — годовой договор с self-hosted и поддержкой Altium.

Пайплайн разбит на восемь стадий: спека, архитектура подсистем, подбор компонентов и BOM, схема (.kicad_sch), разводка (.kicad_pcb), выходные файлы (гербера, сверловка, STEP), прошивка с pins.h, план ввода в строй. Каждая стадия — отдельный прогон агента со своим гейтом и одним коммитом. Гейт сформулирован как артефакт на диске: у спеки должна быть заполненная секция бюджетов, у схемы — расставленные символы, согласованные документы и чистый ERC, у разводки — чистый DRC, у выходных файлов — гербера, которые реально лежат на диске. Не прошёл гейт — прогон останавливается там же.

Что здесь стоит забрать себе

Работу агента проверяет сам KiCad: ERC и DRC запускаются через kicad-cli, вердикт выносит внешний детерминированный инструмент, а не вторая модель, которую попросили оценить первую.

Дальше идёт набор отказов, каждый из которых — готовое правило. Агент не запускается на грязном git-дереве. Не трогает файлы дизайна, пока нет валидированного предложения изменения. Отклоняет правку, которая ломает записанный бюджет или ограничение, и цитирует строку, которую она нарушит. Не выдумывает партномер, который не может обосновать даташитом. Правки делает точечно, прямо в s-expression исходника KiCad, так что нетронутые куски файла остаются байт в байт и диф остаётся читаемым — инструмент, который перегенерирует файл целиком ради одной цепи, делает свою работу непроверяемой.

Проблема названа прямо — дрейф. Одно решение размазано по схеме, спецификации, бюджету питания и нескольким документам, и рассинхрон между ними ничего не ломает до момента запуска платы. Стоимость респина авторы оценивают в 5–50 тысяч долларов и шесть-восемь недель; это цифра с их лендинга, не независимая оценка.

Плата тут частный случай. Переносится форма пайплайна: стадия оставляет артефакт на диске, артефакт проходит внешнюю проверку, только после этого коммит. Она ложится на любой агентный процесс, где есть чем проверить результат — миграции с прогоном на копии базы, генерация клиента API против схемы, отчёт со сверкой контрольных сумм.

Слабое место видно там же. Гейты проверяют формальную корректность: чистый ERC означает, что нет висящих выводов и конфликтов питания, но не означает, что схема делает нужное. Инженер никуда не девается, у него меняется работа — писать brief.md и читать дифы вместо расстановки символов.

Делаете платы в KiCad — натравите CLI на существующий репозиторий через copperhead init и попросите одно маленькое изменение: диф покажет, врёт лендинг или нет. Не делаете плат — выпишите гейты своего пайплайна так же жёстко, по одному предложению на стадию: что должно лежать на диске, чтобы стадия считалась пройденной.

Источник: первоисточник
  • KiCad
  • агенты
  • железо
  • пайплайн