|
|
|
|
|
by retrac
22 days ago
|
|
For fun I've been vibe coding something I know well: toolchains. Maybe not the right thing to vibe code. But I can more or less judge the quality of the output. When left to its own devices with the instructions "make an assembler for the architecture in ISA.md" -- well Claude picked Python as the implementation language. Tokens lifted through a bunch of regex. No expression parser! Oh dear. My first assembler was like that too, to be fair. However, when I described the desired passes and their types: collectDefines :: [SourceLine] -> Either AsmError ([SourceLine], Map Text Text)
runLitPool :: [SourceLine] -> Either AsmError ([SourceLine], [(Text, LitKey)])
evalExpr :: Text -> Map Text Text -> Either AsmError Int
etc. It was almost one-shot. About 20 minutes until I was happy. Assembles all the test programs correctly. Code is mediocre in many places. But it would have taken me weeks to implement. |
|
Like - it can do the work for us.
It jives with post training and verifiable rewards.
The reason AI doesn't do well at 'architecture' is 1) are are bad at it and have given it a lot of mush and 2) we don't have good abstractions for it.
The result is - you stick to 'very strong conventions' and if you walk of that path you're risking a lot.
Toolchains are very deterministic, the AI can take it apart and re-assemble like Lego - and each level of the space is also deterministic. It's perfect for AI.