I’ve written a skill that I basically feed what I’m looking to do, some ideas I had for accomplishing it and any other details like tech stack, etc.
The skill then riffs with me, judging my ideas and suggesting alternatives. We go back and forth until something useful comes out of it. This process isn’t unlike how I do normal development.
However, once agreed it breaks the work into “steps”. It then creates a tutorial for me, for those steps, explaining each line, why each change happens etc. I can then ask questions, muse about an alternative idea etc. Then I do the steps, and I’ve learned and gotten what I wanted to get done.
This has been how I’ve been learning Godot and making a game for the past month or so. I didn’t go in blind, I started with a course from GDQuest so I could feel confident guiding the tutorials. I will say though, having a tutor to bounce ideas off of has been really useful.
I still try to figure it out myself, consult the docs, discord etc. But if I’m stumped I’ll run my tutor skill and have some fun.
What’s everyone’s opinion on learning new tech things in this day and age?
My opinion swings between positive and depressing vision of the future.
I still learn new stuff, but I’m afraid it won’t have any value in a year or so.
For example, I’m pretty good at optimizing low level stuff, but right now you can just ask LLMs to do so and they are pretty good at it. They will profile the code and suggest reasonable options like 90% of the time.
They're amazing at it, provided you keep asking the right questions.
Trust me when I said that in the hands of someone who doesn't have your experience, the LLMs would not be getting the results you get.
You might think what you're doing is trivial, it may be sessions that flow roughly, "Instrument this, okay this part is slow, profile this part, OK read the profile output and suggest a better approach".
But your experience will be steering it in the right direction, and you're probably unaware of just how much your experience is doing that guiding, as the LLM shoots off at 100mph, you feel like it's taking you with it, but you will be guiding it a lot more than you realise, and that's where learning and experience comes in, even if you're no longer operating at the lowest depth, your knowledge of that layer will be helping.
If nothing else, the experience to know when something is actually slow is a skill in itself. If a function takes 200ms, sometimes that's as quick as it can realistically go, and sometimes that's literally a million times slower than it could be, and there's actual skill and experience wrapped up in knowing what "slow" looks like.
I can only speak for myself, so I hope this resonates with you.
I wasn’t even really concerned with optimizing low level code before LLMs and that wasn’t why I was hired either.
However following that low level thread: We can look at the reasonable options and immediately know if they’re reasonable or nonsense. Why? We know the code. Now zoom a level out, where I think our expertise really lies.
Building a complex system isn’t easy. There are customers with requirements, there are budgets, SLAs etc. Sometimes one customer needs X and one needs Y. Our expertise is taking all of this in, and producing something that balances all the different variables. It’s knowing that we’ll expect X events a second so we’ll need Y to ensure we can tolerate failure.
Is it possible LLMs will be able to do all of that too? Maybe. But then why would our customers need the enterprises they pay for?
There’s still an immense value in training the brain to learn and be able to approach new problems with the sort of procedural thinking that LLMs enable. We can explore topics that we are curious about and develop that sort of “muscle” to continue asking questions when we have them. I have no fear that when those bigger (and existential) problems arise we’ll be well equipped to keep asking questions and figuring out ways to solve them.
I mean, part of the reason the LLM can do that is because you know enough to direct the LLM to do so and verify the results to some degree, right? It's good to learn new things because:
1. It satisfies you curiosity (and curiosity is always valuable)
2. You can better utilize the LLM to expedite something you now have knowledge about
3. You still improve as an engineer/programmer/prompter/whatever
I still think it's very important not to outsource everything to AI because there is a lot of value in learning and doing things yourself which is an important part of life.
> I still learn new stuff, but I’m afraid it won’t have any value in a year or so.
This is silly. This would be like arguing that encyclopedias made knowing things pointless. I learn new stuff for me.
Professionally, it's important to know enough to know if you're going in the correct direction. Practically, tokens are going to continue to cost money and knowledge can save you tokens.
I’ve been using LLMs to create readable rewrites of RFCs and specs that interest me. It is not precise enough for implementation use, but it has increased my understanding of the underlying RFC.
Another useful approach has been asking Codex to implement complex things, like a Kademlia DHT or BitTorrent client in a literate style with the explicit purpose to increase understanding by reviewing the source code.
I use LLMs to learn deep technical concepts. I really like them because I can spend countless hours a day understanding things and building an investigation file with all my findings. I code examples and test the findings. It has helped me understand basically anything.
I'm using LLMs right now to build a terminal browser, a GUI browser, and a PyTorch/LibTorch replacement. It's really fun to be able to learn and make progress this way. It's like reading multiple interactive books, where every concept can be explained again and again until I understand it.
The biggest thing I've learned from doing stuff like this is that there are no shortcuts. At some point or another, to truly learn something deeply, you've got to dig in to the boring details and do things the hard way. LLMs can help with this...but I find it's usually tempting to try and just offload the boring stuff to them, which doesn't work.
Having an initial higher level understanding across the domain is extremely useful to contextualize the deeper stuff. I think boring details is a very leaky characterization, but I'll continue with it.
In my experience it's infinitely easier and faster to learn deep, "boring" things when you understand how they relate to your shallow and wide understanding of all of the related components.
The LLM is merely a tool. And you can use it for domain discovery that enables efficient deep learning at an unprecedented rate or you can develop a cursory understanding of a topic and think yourself an expert.
Quite - you still have to do the work yourself. I think LLMs are best placed to act as an eager tutor that doesn't mind discussing a topic ad nauseam until you're certain you understand it.
The title is not representing what the post is about. “Use LLM to learn complex topics” here actually means that the author asks an agent to describe the problem area, and then implement a simple web-based simulation game, and by playing that game, the author actually learns about the topic and its constraints. They use chip making as an example.
Its fun but is it really effective ? I mean I checked the LLM one and I came out more confused about a topic I already know about, I find the best way to to learn using LLMs is to just generate an example try to somewhat get a mental model of how it works and then ground my understanding with traditional documentation and resources, its an iteration of a technique I used to do in college where I would read the textbook questions first to understand what is important and then read the chapter
I assume different ways of learning work for different people. For me personally, it's taking a piece of paper and drawing the diagram of how things work together; of if it's some math, then, again, using the pen and paper to follow the text. I can very much accept that for some people playing the simulation is a good way to touch the new problem space. I can easily imagine that for some topics, let's say, traffic signal automation, a careful simulation game will probably give more information than reading papers or manuals.
Game-based learning, described by Comenius, works if someone else prepares “a game” for you. E.g. like a dungeon master. :)
Otherwise you probably get more confused as you have mentioned.
On the other side, Peter Diamandis describes a situation where a bunch of kids were given a internet-connected computer and they had no teacher. Instead of it there was a “grandma” that checked kids from time to time.
After that there was a knowledge test that revealed “no teacher” approach was more efficient.
Thanks! The original title was "How I use LLMs to learn...", but somehow HN removed the "How" part. I even removed the initial post thinking it was a typo on my end and tried to post again, but I stumbled upon the same behavior.
Really neat idea, I think it is one of the best ways to exploit the combined building and explaining capabilities of LLMs.
I am currently building an app/game to explain friends and family concepts around wealth management and wealth building. Games are a great way to hide complexity while still including it in the « guide » you are making.
The little tool it outputted is nice, but click around the stages and the text is not high quality at all. The snippy titles, abbrievated explanations, I wish a few more iterations and thought was put into the actual main textual content. Especially for 'complex' stuff
My favorite way to learn infra topics at work right now is asking for a humorous analogy involving monkeys and bananas. I tend to remember the result, and it gives me reference points for new topics.
i looked at the animations, they look cool, and i don't think i will enjoy learning things that way. as someone else said, there's a lot of content already produced on these topics. i also think the level at which these animations are playing, they are actually hiding the 'complexity' of these topics.
Very cool, I like the visual learning nature of this and the auto play once starting. The game graphics are engaging which counts for a lot these days, I feel my attention span suffering after using agents for the past year.
I've been working on a similar process of pushing to github pages, but focused more on having "practice sessions" with coding blocks to test content. Using webassembly and mock servers to mock backend endpoints Here's one I built to build a full stack llm chat system in the browser.
> What you get is a beautiful animation that is 100% accurate and free of hallucinations.
How do you know if you're learning this for the first time? Very risky to learn from LLMs. I've done it, but you have to keep your wits about you. Lots of "oh of course you're right - what I just told you was completely wrong".
YouTube has so many truly wonderful videos on chip production. I admire your approach but it seems like a lot of people are in this ai maxxing phase where they reach for ai for everything despite their being ready, high quality things already available for free
I'm also not sure you can really learn chip production from widely available public information. It's a hugely complex industry where the details tend to shape larger strategies. For example, you can't really understand the relationship between Micron and TSMC without some awareness of the trade-offs of memory processes for peripheral transistors.
YouTube is just a big dump of information. Having a structured way to learning along with interacting helps you learn. Otherwise you're just binging information
I had an internal company assessment I needed to pass before end of our fiscal year. The study material consisted of 10 ppt decks about 80 slides each (so around 800 total). I had an AI read all the decks and compose a study guide with quizzes along the way. It came up with a 100page word doc that I used in place of the decks to prepare. It worked very well for this including, like you said, quizzing me over various sections.
(Yes I confirmed it was ok to use AI with the material)
The skill then riffs with me, judging my ideas and suggesting alternatives. We go back and forth until something useful comes out of it. This process isn’t unlike how I do normal development.
However, once agreed it breaks the work into “steps”. It then creates a tutorial for me, for those steps, explaining each line, why each change happens etc. I can then ask questions, muse about an alternative idea etc. Then I do the steps, and I’ve learned and gotten what I wanted to get done.
This has been how I’ve been learning Godot and making a game for the past month or so. I didn’t go in blind, I started with a course from GDQuest so I could feel confident guiding the tutorials. I will say though, having a tutor to bounce ideas off of has been really useful.
I still try to figure it out myself, consult the docs, discord etc. But if I’m stumped I’ll run my tutor skill and have some fun.
I'm not sure I follow how this is actually guaranteed? The fact-checking process mentioned just seems to involve asking AI to review its own work.
I still learn new stuff, but I’m afraid it won’t have any value in a year or so.
For example, I’m pretty good at optimizing low level stuff, but right now you can just ask LLMs to do so and they are pretty good at it. They will profile the code and suggest reasonable options like 90% of the time.
I have stuff to do now, the value of the knowledge in a year or two isn't important if it solves the issues I have today.
Trust me when I said that in the hands of someone who doesn't have your experience, the LLMs would not be getting the results you get.
You might think what you're doing is trivial, it may be sessions that flow roughly, "Instrument this, okay this part is slow, profile this part, OK read the profile output and suggest a better approach".
But your experience will be steering it in the right direction, and you're probably unaware of just how much your experience is doing that guiding, as the LLM shoots off at 100mph, you feel like it's taking you with it, but you will be guiding it a lot more than you realise, and that's where learning and experience comes in, even if you're no longer operating at the lowest depth, your knowledge of that layer will be helping.
If nothing else, the experience to know when something is actually slow is a skill in itself. If a function takes 200ms, sometimes that's as quick as it can realistically go, and sometimes that's literally a million times slower than it could be, and there's actual skill and experience wrapped up in knowing what "slow" looks like.
I wasn’t even really concerned with optimizing low level code before LLMs and that wasn’t why I was hired either.
However following that low level thread: We can look at the reasonable options and immediately know if they’re reasonable or nonsense. Why? We know the code. Now zoom a level out, where I think our expertise really lies.
Building a complex system isn’t easy. There are customers with requirements, there are budgets, SLAs etc. Sometimes one customer needs X and one needs Y. Our expertise is taking all of this in, and producing something that balances all the different variables. It’s knowing that we’ll expect X events a second so we’ll need Y to ensure we can tolerate failure.
Is it possible LLMs will be able to do all of that too? Maybe. But then why would our customers need the enterprises they pay for?
1. It satisfies you curiosity (and curiosity is always valuable)
2. You can better utilize the LLM to expedite something you now have knowledge about
3. You still improve as an engineer/programmer/prompter/whatever
I still think it's very important not to outsource everything to AI because there is a lot of value in learning and doing things yourself which is an important part of life.
In particular it might be valuable to be in the habit of learning things that one is bad at doing.
Or not.
This is silly. This would be like arguing that encyclopedias made knowing things pointless. I learn new stuff for me.
Professionally, it's important to know enough to know if you're going in the correct direction. Practically, tokens are going to continue to cost money and knowledge can save you tokens.
Another useful approach has been asking Codex to implement complex things, like a Kademlia DHT or BitTorrent client in a literate style with the explicit purpose to increase understanding by reviewing the source code.
Examples: https://rickcarlino.com/notes/note-dump-and-ai-summaries/ind...
https://github.com/RickCarlino/tiny-bt
I'm using LLMs right now to build a terminal browser, a GUI browser, and a PyTorch/LibTorch replacement. It's really fun to be able to learn and make progress this way. It's like reading multiple interactive books, where every concept can be explained again and again until I understand it.
In my experience it's infinitely easier and faster to learn deep, "boring" things when you understand how they relate to your shallow and wide understanding of all of the related components.
The LLM is merely a tool. And you can use it for domain discovery that enables efficient deep learning at an unprecedented rate or you can develop a cursory understanding of a topic and think yourself an expert.
That's actually a fun way to learn processes!
Totally agree, unfortunately careful simulation games are very rare
Otherwise you probably get more confused as you have mentioned.
On the other side, Peter Diamandis describes a situation where a bunch of kids were given a internet-connected computer and they had no teacher. Instead of it there was a “grandma” that checked kids from time to time.
After that there was a knowledge test that revealed “no teacher” approach was more efficient.
But it was a group, not an individual activity…
Also worth mentioning that Matt Pocock has a /teach skill that creates interactive, learning sites for learning a new skill.
I've been working on a similar process of pushing to github pages, but focused more on having "practice sessions" with coding blocks to test content. Using webassembly and mock servers to mock backend endpoints Here's one I built to build a full stack llm chat system in the browser.
https://model-systems-labs.github.io/latent/llm-systems/less...
Last month, I read The Prince and had it make a text adventure campaign for me.
For a lot of other topics, I often just ask it to create a simple python example that I can run.
How do you know if you're learning this for the first time? Very risky to learn from LLMs. I've done it, but you have to keep your wits about you. Lots of "oh of course you're right - what I just told you was completely wrong".
Surprisingly effective.
(Yes I confirmed it was ok to use AI with the material)