Not to disagree with anything the article talks about but to add some perspective... The complaint about "code nobody understands" because of accumulating cognitive debt also happened with hand-written code. E.g. some stories: - from https://devblogs.microsoft.com/oldnewthing/20121218-00/?p=58... : >Two of us tried to debug the program to figure out what was going on, but given that this was code written several year…
Probably, we need to start saving prompts in Version Control. Prompts could be the context for both humans & machines.
Cognitive Debt: When Velocity Exceeds Comprehension
181–190 of 234 posts
Re: Cognitive Debt: When Velocity Exceeds Comprehension
#182Re: Cognitive Debt: When Velocity Exceeds Comprehension
#183Nothing new here, but the article is so well written and clear in how it presents the effects that it is a must-read. One could argue with its stance, but I took it as a given (the equation for cognitive debt touches on science). It feels entirely logical to view LLMs/coding agents as an almost final step in the short-term focus the overall system has been thriving on.
Re: Cognitive Debt: When Velocity Exceeds Comprehension
#184More AI slop, huh? Can we get rules against this or something at this point? It's every other post.
Re: Cognitive Debt: When Velocity Exceeds Comprehension
#185Also, as always, a highly modular codebase is very important. If I only have to reason about a single module then I don’t have to have full context on system.
It seems we’re now in a world where engineers are responsible for creating a good environment where an agent is able to gain context on the architecture and validate its work via tests (e2e, unit, smoke, etc). Then it can get into its own feedback loop and find the correct solution on its own much faster.
Re: Cognitive Debt: When Velocity Exceeds Comprehension
#186Earlier quoted context omitted.
I recently did some work on a codebase I last touched 4 years ago. I didn't remember every line but I still had a very good grasp of how and why it's put together. (edit: and no, I don't have some extra good memory)
Lucky you. I always go "huh, so I wrote this?". And this was in the pre-AI era.
Re: Cognitive Debt: When Velocity Exceeds Comprehension
#187I’ve found a good counter to this is having agents visualize and explain the architecture of the system. Then I gain just enough context to figure out what I’m trying to accomplish. Also, as always, a highly modular codebase is very important. If I only have to reason about a single module then I don’t have to have full context on system. It seems we’re now in a world where engineers are responsible for creating a go…
Part of me feels like we could have increased both velocity and comprehension a great amount twenty years ago already if we'd only had the same considerations for our fellow developers.
Re: Cognitive Debt: When Velocity Exceeds Comprehension
#188Earlier quoted context omitted.
Probably, we need to start saving prompts in Version Control. Prompts could be the context for both humans & machines.
I wonder how scalable that is. After the twentieth feature has been added, how much connection will the conversation about the first feature still have with the current code? And you’ll need a larger and larger context for the LLM to grok the history; or you’ll have to have it rewrite it in shorter form, but that has the same failure modes why we can’t just have it maintain complete documentation (obviating the need…
Re: Cognitive Debt: When Velocity Exceeds Comprehension
#189Earlier quoted context omitted.
I recently did some work on a codebase I last touched 4 years ago. I didn't remember every line but I still had a very good grasp of how and why it's put together. (edit: and no, I don't have some extra good memory)
I definitely understand my own code better than what other people wrote, even from 10 years ago. I often see code and think "this makes sense to do it this way". Turns out I wrote it years ago.
Re: Cognitive Debt: When Velocity Exceeds Comprehension
#190Now that we have coding assistants and so-called AI, 'software developers' are prompting code that far exceeds their abilities.
The piper will need to be paid, one way or another.