On HUGs and Distributed Vibe Coding
If you find this helpful, I'd appreciate your support
A note on header images: it feels hypocritical to use AI slop for the header images of these AI articles, so I’m now using random, totally unrelated photos from my Lightroom that I like instead. Enjoy?
I was thinking about a question that came up at work, as I sprinted on a treadmill infinitely towards the 1st floor window of a Fitness First - “what communication is acceptable for AI to generate?”. The question arose in relation to two key communication points for engineers: pull request comments, and Slack questions.
From my previous posts, you’ve probably picked up on the fact I share the same concern as many others in relation to AI - how do we retain our understanding of the domains we work in? I summed up my feelings on the question: I don’t really want to hear directly from your agent, I hope to hear from an engineer who has read what an agent has said, understood it, and has then typed out their understanding.
This isn’t because I long for endearing human imperfection, it’s more so that I have trust that those around me have an understanding of the problem we’re discussing. I don’t have an issue with people using AI to help arrive at a certain conclusion, or augment their understanding. But it is their understanding that I’m interested in. Passing messages from one agent to another, completely removing all human input is a form of what I’ll call distributed vibe coding.
To combat this, and to further my last post. I think human to human communication should be encouraged as much as possible. To act as a guardrail, and to maintain others’ confidence that we all still retain an understanding of our domain. Let’s face it, AI can often outperform a weary eyed engineer at writing lines of code, but it’s still relatively limited (decreasingly so, albeit), at understanding the disparate and messy context that makes up a complex business. This is where our understanding is still important.
So, instead of pasting the answer to someone’s question straight out of Claude, read it first, every line, challenge parts that don’t make sense. Understand it, respond with your interpretation, understanding, and own thoughts. This avoids developing suspicion among colleagues, where none of us are entirely sure how much the other person really understands about the problem. It also acts as a guardrail from allowing all of our knowledge from eroding over time.
If it’s a pull request, sure, point Claude at it to find bugs and inconsistencies. But assess the PR’s product fit, or architectural fit, and put it into your own words if you have questions or concerns. Demonstrate to your colleagues that you’ve made an effort to understand it yourself. To coin another term, create human understanding guardrails (HUGs).
There are caveats and exceptions to this of course, people get asked to jump into projects they’re not familiar with, and LLMs are fantastic for helping onboard people to new areas or codebases. But, making others aware of to what extent you’re relying on LLMs is also important context.
So in summary, apply HUGs as much as possible, to mitigate Distributed Vibe Coding.