I don't question that LLMs are useful for answering questions about codebases, but this is closer to "turn a codebase into a curriculum", and... does that actually work?
And that's when the shit hits the fan. :-D Only after concerted effort do the students actually gain understanding.
In practice, what this means is that you have to know how to reproduce the knowledge you've read, in your words. Only then can you be sure you've mastered what you've read. It's the reason for homework and all other stuff we have to do. Reading something five or more times simply does not suffice for our brains.
I suspect that's kind of happening here. If you're trying to learn something too abstract or distant from what you currently know, you'll probably use more polished or eli5-y sorts of material, because you don't yet have the skills to understand a more complex version. You're probably not in the ZPD. But if you can figure some things out by yourself, possibly with some amount of help, then you're in the learning zone and can meaningfully progress.
I have similar experiences to you with 3B1B - it's interesting, but I rarely retain anything meaningful after I've finished - and I think it's because he has to explain every part for me to understand what's going on. I'm not in the zone of proximal development because I can't do enough of the work myself. So the end result is an interesting video where someone explains a cool concept to me, but it's not learning because it's not also doing all the foundation work that gets me to the point where I can understand the video for myself.
You are the first one I know who said that. Thank you for saying that!
I think his videos are amazing but they are NOT meant to teach you the material.
They are providing a high level intuition which I haven’t found the use for yet.
Perhaps it’s just me, but I do NOT learn from intuition and analogies at all. I need to get lost in the details and rigor first, and then develop my own intuition second, and maybe look at someone else’s intuition third, maybe.
Both are true but only the first is pertinent, because 3b1b videos typically contain complete mathematical arguments, not just intuition.
To be fair, I think visual representations are particularly useful for reasoning about vectors and transformations, and I think I retain less from the videos that focus more on a specific advanced problem rather than the fundamentals of a topic. Those videos feel a bit more clickbaity too.
You can see structure, dependencies, call graphs, etc., but you still spend a lot of time manually building a mental model of why things exist and how concepts connect across the codebase.
What I’m trying to explore with Understand Anything is whether LLMs + structured graphs can help generate higher-level semantic understanding instead of only visualization.
For example:
1. tracing how a business concept propagates through services/modules 2. mapping requirements ↔ implementation ↔ data flow 3. surfacing architectural patterns automatically 4. helping new contributors build a mental model faster
Still very early obviously, but that’s the direction I’m interested in exploring.
Instead of trying to understand things, people are reaching for better tools to have the thinking done for them. We are losing something huge.
You have to offload cognition in order to recognize the next abstraction. That's always been how we tackle harder problems.
A good explanation is foreplay, not a replacement for the act itself. If people stop there, that's a premature-pedagogy problem, not an AI problem.
Somewhere, an AI is summarizing this comment for someone right now, and that person understands the issue better than you do.
But developing the people [who can build great new abstractions or the people who can build those abstractions into ergonomic tooling] involves a lot of cognitive struggle through which these people learn how to push knowledge forward.
Forming the mental models for how things work takes struggle. Debugging errors in your code forces you to figure out the disconnect between your mental model and reality.
Claude can figure out most errors I show to it much faster than I can, but when we're building something I could build from scratch, I regularly find even Opus 4.7 regularly provides vastly overcomplicated and inferior solutions and I have to redirect it. I assume this is also the case when we're building stuff that's new to me and I just can't recognize all of the overcomplicated suboptimal solutions until I get to testing the behaviors I need to be correct. If I got a tool like this at the start of my career or education, I just don't know how I wouldn't end up completely stunted.
The assumption that "that person understands the issue better than you" is bold when the best AI summaries will often give back completely false summaries on any given issue.
> These abstractions were solid and dependable and could be relied upon to tackle harder problems. This abstraction is beyond leaky.
Much like humans? This is an example of what I'm referring to. Unless you spend the effort to learn how to use the models effectively, you're going to have to wait until others do that for you. In the meantime, a disconnect arises because you're not seeing the benefits because you're not able to use them effectively. But other people are using them effectively and seeing significant benefits.
It reminds me on NX graphs, which are helpful to find the circular dependencies, but other than that, doesn't provide a lot of value as I can see the same kind of structure just looking at the codebase.
Am I doing something wrong with these tools?
Wow. I thought the github clout market would be a bit more subtle about it.
[0] https://github.com/Lum1104/Understand-Anything/commit/9866fc...
[1] https://www.star-history.com/lum1104/understand-anything#his...
https://trendshift.io/repositories/23482
Honestly, I’m the author of the project :)
I don't quite get this stars and users connection. The stuff I use, I use, I don't need to star it. The reference is saved somewhere else. I bookmark, which is what the star is, stuff that seems interesting. So basically star for me is that I don't actually use the project, most of the time.
And yes, I glance at stars for a popularity cutoff, but forks, PRs, issues are much more telling.
Like, having looked at the demo, it feels less intuitive and extra complex than going through the codebase myself with tmux + codex + reading it myself. I think for you to understand the codebase, it should be easier to interact without. This seems to introduce way too many steps to interact with the codebase
- This looks like vibe-code + fake github stars - There's a difference between "Summarize this verbose report from my the PM so I can get the gist" and "ELI5 this complex subject so I feel like I understand it".
Similar idea, but much simpler and focused!
Its clear one can't really think about anything without building a basic understanding about it. Worth stating that these are distinct from learning. But, I would argue that it is important to know what you *have* to understand now and why is that important. An LLM can help you understand a great many things, you just need to know what you are looking for and that is something no artificial intelligence can really *do* for you. Trial and error, building a sense of self awareness, and talking to people is a better way to know what this is especially for fairly open ended problems.
Knowledge comes from doing the hard work, not from being spoon fed information. All these fancy graphs represent a tentative mental model produced as a result of research and learning. Everyone's model is different based on their own experience and focus, so trying to present it as a unique map will more than likely not be conducive to understanding at all. Besides the fact that it will almost certainly miss important details or be hallucinated.
HN users: stop upvoting and promoting this garbage. HN mods: please give us tools to label and filter this content.
Now that the internet is flooded by machine-generated content, which is often published and promoted autonomously as well, all content should be scanned and labeled with a value that indicates the likelihood of it being machine-generated and published.
I'm thinking of JSON fields like `machine_gen_probability` and `machine_pub_probability` returned by the API. Then the frontend should expose settings to show these labels next to each post and comment, and filtering rules to decide what should be done with content above a certain value (hide, adjust feed rank, etc.). Some people might even want to boost this content, for whatever reason, so making the system flexible would be smart.
The scoring system of course won't be perfect, but I figure that a company like YC should know a few talented individuals that could do a solid job of implementing this. They've certainly profited from investing in companies that cause this problem.
But... considering HN is merely a promotional tool for YC that runs on limited resources as it is, I wouldn't hold my breath that such a system would ever be implemented. So all we're going to get are changes to "guidelines", and hope that the system won't be abused. Which is laughably naive in this day and age. So this forum will most likely be overrun by the noise, and end up with minimal participation from reasonable humans, as is happening and will continue to happen on most online platforms.