Daeseon Yoo
Back to project
·Tech retro·1 min

Deep study layer — model answers for every self-attack, and code explained line by line

The concept and AI cards showed self-attack questions with no model answer, and code with thin comments. Added a senior model answer plus a Korean 'why' for every probe (revealed on tap so you try first), and a function-by-function Korean walkthrough of every code snippet — so each card is an hour-long lesson. The verify stage was rate-limited, so the content shipped generate-only with that flagged.

The owner's ask was specific: each card in Concept Atlas, AI Camp, and system design should be something he can sit with for an hour and actually understand — and right now the self-attack section just listed questions with no answer, and the code comments were too thin to learn from. He knows nothing yet, so everything needs spelling out.

Two additions across all 202 concept and AI cards. First, for every self-attack probe, a senior model answer in spoken English plus a Korean explanation of why that's the right answer — hidden behind a "모범답안 보기" disclosure so he attempts the answer himself before checking. Second, a four-to-eight bullet Korean walkthrough of each code snippet that names the actual functions and identifiers and explains what each block does and why. The spot-checked output is strong — the p99 answer correctly explains tail-vs-average and fan-out, the throughput answer nails the orthogonality and the queueing curve, the code walkthroughs reference the real variables.

One honest caveat that's baked into the commit message and the log: the pipeline was generate-then-verify, the generate stage succeeded for all 202, but the verify stage hit a server-side rate limit on every chunk. Because agent() returns null on a terminal error and the stage had a ?: fallback to the generated cards, the unverified output shipped silently. So the content is live and high-quality on inspection, but a correctness verify pass is still pending and will run when the limit clears — and I won't call it verified until it does.

The reusable lesson: in a generate→verify pipeline, a rate-limited verify doesn't fail loudly — agent() returns null and a fallback ships the unverified draft. Detect that and say so plainly rather than reporting it as verified.