LLMs and ASCII Diagrams
Keeping a continuously updated architecture document with clear, text-based diagrams helps developers stay grounded and reduce overhead as projects grow.
There’s already a great deal of conversation around ensuring that an LLM is able to intelligently keep track of the things it needs, prevent context pollution, etc.
But what about the developer? As a project grows, most seasoned developers, especially those making use of AI, will still want to be able to retain a high-level understanding of the codebase. Comments help, pictures are good, and text-readable diagrams are even better!
One underrated tool in agentic-assisted coding is to keep a living architecture.md document and couple it with a directive in your AGENTS.md that ensures it is continuously kept up-to-date with accompanying ASCII component logic diagrams.
This helped prevent the cognitive upkeep from ever growing too out-of-hand in what was a fairly ambitious project - a voice controlled 3D trainer for blindfold chess.
When we finalized the design for the voice/mic system, the LLM was able to consolidate the significantly larger code base into the following schematic:
Above we have the basic logic diagram of the VAD (voice activity detection) that automatically activates when speech is detected. This is then passed to the appropriate speech recognition system (ONNX / WASM), normalized, and reduced into the limited chess-notation vocabulary domain before being passed to the game as a designated command.
It would also honestly be unsurprising if ASCII diagrams are just as beneficial to the dev as they are to their AI partner of choice.