I am a big fan of knowledge bases. I’ve been using obsidian consistently since 2020. Today this knowledge base has 2,343 notes, which I mostly wrote on my own.
With AI, my knowledge base became a bit of a superpower where I can ask it to think about any special type of work and it will leverage all my thinking and notes from my previous years. 1
I use my knowledge base to prepare meetings, since it has a record and transcript of meetings that I have, to prepare slide decks, to think about different approaches to showcasing our product and company to different people. And more than just remembering, the consistency of thought is what makes it more valuable to me. A few weeks ago I prepared a presentation for our leadership team with priorities and it forced me to contrast my more recent positions with the ones that I had in the past.
I believe AI coding requires these types of knowledge bases. And that knowledge bases are the best approach to transform institutional knowledge that we have as individuals, teams, and organizations for agents to do great work. And I think this is especially important in software development.
More importantly for me is that knowledge bases can capture the evolving knowledge that agents will create over our code bases. This knowledge would live in our internal documentation and in the heads of the developers. With AI, it lives in some notes and, if we don’t capture it ourselves, ends up in the hands of the model builders.
Over time I think this concept should extend to having different layers of knowledge:
I think then that an AI agent can follow a hermeneutic cycle of going from the whole org to a repo level (and vice versa) to understand how to tackle different challenges.
The AI models will be able to surface the knowledge that will be likely relevant to you. But certainty will come from building, nurturing, and pruning these knowledge bases.
I think this is the future of code review. The more specific we become to the institutional knowledge of a company and team the better the experience will be. With static code analysis we needed users to define their own rules, which was laborious. Right now, people are cramming their CLAUDE.md with rules and knowledge but that’s not a sustainable approach. Nor do I believe humans should be responsible for building these knowledge bases in the future. Agents will operate in loops and will gather good decisions through adversarial analysis.
This is what we’re doing in Verity, a suite of tools for coding agents to loop better over time and with more autonomy by building knowledge bases of great decisions. Two days after launching, it already has a larger knowledge base (4k nodes) than I built in 2 years.