Show HN: Anki-LLM – Bulk process and generate Anki flashcards with LLMs
(github.com)54 points by rane a day ago
54 points by rane a day ago
I completely agree with your first statement and I try to hand-generate my cards as much as possible.
On the other hand, hand-generation is very time intensive. Having some kind of Anki card for a topic you need to memorise is better than having nothing at all. If LLMs help you write cards that you wouldn't otherwise get around to writing then it can be worth it.
As an example, I've always found Anki really effective for my language learning. But the bottleneck was always finding the time to find good quality sentences from sources like grammar books and then creating the cards. Now I ask ChatGPT to generate me a whole bunch of example sentences for a particular topic or grammar point that I want to master, and I bulk import them into Anki in one go then use AwesomeTTS to create the audio. These cards feel less personal to me because I've lost the benefit of having put in the hard work of creating them myself from source materials. But that's more than made up for by the fact that I'm now progressing through the topics I need to learn at a much faster speed. I'd rather know 1000 words reasonably well than 200 words very well.
After a few repetitions I don't think there's much difference anyway between a card you generated yourself and one you didn't - the SRS algorithm sorts it out for you in the end. The AI generated one might just need a few more reviews/fails/hards to get to the same level of memorisation.
EDIT: I should add that I don't blindly trust ChatGPT's output. My wife is a native speaker for one of the languages, so I always have her check the cards. For my other language, I run the sentences past several other LLM models and I only keep those that all of them agree are correct and idiomatic.
There’s no opposing view you’re just right. Also having a lot of Anki cards is bad, regardless of the fact that the reviews become less frequent as time goes on. You want as few cards as possible with as high a quality standard as you can get. With a few thousand cards it’s very easy to get into a cycle of spending a half hour or more per day doing reviews.
I have 15k learned. It's a question of timing. Can time spent making the card outweigh time saved learning it? I would say yes. It's easy to spend too long making a single card. A compromise is to make a small card at first and improve it whenever you fail it.
Personally I need some context in a card to hook it up to other things. Such as the sentence where I first encountered it. Without that I will often fail the card over and over and waste time - it would have been quicker to put some effort upfront making a decent card.
> the process of generating the cards contributes substantially to the learning and memory formation.
How is creating a card anything different than reviewing the card once? Anki is a long term tool, writing something down once isn't. The time spent creating cards is better spent on doing more reviews.
There is actually scientific evidence that direct engagement with material (e.g. making notes, re-writing in your own words, completing exercises, explaining it to others, etc.) is very beneficial to memory formation.
So, although creating a card is similar to reviewing it once (in that they will both help you remember it for a while), the former is worth more than the latter as a "unit" of memorisation. This means that you'll likely have longer review intervals, and therefore spend less time on reviews, if you wrote the card yourself, because the memory starts out stronger.
That has to be balanced of course with the amount of time you spend writing the card vs the gains you make in saved review time from having done so.
Making notes and re-writing in your own words have actually been found to not be very useful to memory formation [1]. Completing exercises works great: this corresponds to reviewing cards. Explaining it to others also works OK, but I'm not sure if creating cards is analagous to that.
[1] https://www.whz.de/fileadmin/lehre/hochschuldidaktik/docs/du...
At the risk of sounding glib, the first way that comes to mind is that the learner is using their own intellect and (short-term) memory to code the information into their own words (often or usually entailing at least some self-checking and critique) instead of merely "reviewing" (really, seeing for the first time) an unfamiliar association of prompt and response, which was generated by a stochastic program, and which may not be correct at all.
This only works if you actually check the Anki cards against the source material.
So if you wanted to learn the contents of a book without reading it, you're doing it wrong.
If you want to read a book and then test yourself on what you've read, it's totally fine.
100%, in fact it's like when you write a "cheatsheet" only to realize that now that you did dedicate some time to
- write down what is important
- present it in a condensed manner
- verify that it does indeed cover only the topic you need
... then ironically enough you probably do not need it anymore.
In that case, you may be able to upload the deck for others to benefit from.
I love this. Two things I noticed and liked:
- the README is extremely detailed and clear: all the commands are explained with examples and the why to use each one
- you're using Anki Connect to edit decks in-place, instead of trying to edit or generate an apkg file. This simplifies things and avoids issues such as needing to create custom note types or avoiding creating two note types with the same field
When my son and I have discussed a topic in response to a question, ideally I would evaluate whether there's something he should remember forever and, if so, I would create one or more Anki notes for that piece of knowledge. But right now it's too much effort, unless I'm at my desk. Even then, I need to copy and paste card fields from a chat interface into the Anki UI. That means I rarely do it.
I'm curious about the effect of "hand writing" a card for spaced repetition. It sure feels like it helps me learn more effectively when I write high-quality cards myself, but n=1 in this case. Even when I use an LLM to help, I have never find the cards to be useful by default—same goes for trying to use other's decks.
That said, what I'd really love is a better card writing UI. If I could simply edit the table when in the browse view instead of opening the form view, that'd be a big step up!
I'm always apprehensive about "efficiencies" like this because the process of generating the cards contributes substantially to the learning and memory formation.
Can anyone help me understand the opposing view better?