Comment by __atx__
3 days ago
We have developed something similar inhouse (a CLI tool for agents that has a few dozen utilities for manipulating KiCad files) and the results are pretty good. In terms of complexity, I would say that tasks like "replicate the layout from the datasheet of this amplifier and make me a testboard" or "look, we need an adapter that goes from <this devkit (insert PDF schematic)> to <these boards (insert KiCad file)>" are basically solved. More dense layouts are a stretch at the moment. (speaking about Opus 5.5 specifically here, other models are likely worse at these visual-coding tasks anyway)
In terms of result quality, I would say that the results are distinctly "2024/2025 LLM programming quality". The models lack a certain... taste? Good and careful prompting can help, but for example "use hierarchical sheets" can yield a single hierarchical sheet containing 3 copies of the same thing instead of three instances of a hierarchical sheet containing the same thing once. When pointed out, the model can of course do it no problem the way you want.
Aren't there tools that could do a lot of the structure for a PCB/device like using Verilog? I feel like that's way you can do a lot of this work headless and then use KiCad or other tools to do the checking.
> When pointed out, the model can of course do it no problem the way you want.
Why don't you make it a part of the system prompt then?
Yes sure, but it's a bit of a whack-a-mole right:
Nothing: Opus plops down everything into one big schematic sheet
"Use hierarchical sheets!": Opus uses them but does not realize they can be multi-instanced
"...":
It would probably be well worth to optimize this on synthetic projects, but realistically we are small shop, our required PCB-design output is not that masive, and I expect Opus 5.8 to just do the correct thing automatically as its being RLHFed on these tasks as we speak :)
It's probably a case of you can't write down infinity. There is probably no general prompt that works. Even many humans can't be given a general conceptual instructions.