چطور تو دورهی LLMها هنوز یاد بگیریم
خلاصهٔ کاملتر
نویسندهی این مقاله میگه یاد گرفتن تو دورهی LLMها سخت شده. قبلاً یه فریمورک یا زبان جدید رو با اشتباه کردن و درس گرفتن یاد میگرفتیم. ولی حالا مدل همهچی رو یهجا حل میکنه و ما دیگه حوصلهی کلنجار رفتن نداریم. در حالی که به گفتهی خودش، همین کلنجار رفتنه که چیزی رو تو ذهن نگه میداره.
نقطهی شروعش پیادهسازی مقالهی Bitcask بود (یه key/value store ساده که روی لاگ ساخته شده) بدون کمک LLM. یه جا گیر کرد و بهجای اینکه کد رو از مدل بخواد، ازش خواست مفهوم رو توضیح بده. بعد یه skill به اسم socratic-code-mentor پیدا کرد که جواب نمیده، فقط سؤال درست میپرسه تا خودت به جواب برسی. مثال خودش یه حلقهست که بهجای ۶، NaN برمیگردونه:
const nums = [1, 2, 3];
let sum = 0;
for (let i = 0; i <= nums.length; i++) sum += nums[i];
console.log(sum); // NaNمدل فقط پرسید «آرایه چندتا عضو داره و آخرین ایندکس چنده؟» و «حلقه با چه مقدارهایی از i اجرا میشه؟». نویسنده خودش فهمید nums[3] مقدارش undefinedـه و باید از i < nums.length استفاده کنه. اون به کتاب Make It Stick اشاره میکنه که میگه اگه اول با یه مسئله کلنجار بری و بعد راهحل رو ببینی، بهتر و ماندگارتر یادش میگیری.
مشکل دوم انگیزهست. نویسنده پیشنهاد میکنه قبل از شروع، با کمک LLM یه فایل PLAN.md بسازی و پروژه رو به چند فاز بشکنی. هر فاز چهار بخش داره: هدف، چند قدم کوچیک، یه شرط «تموم شد وقتی...» که بشه واقعاً چکش کرد، و تلهای که احتمالاً توش میافتی. یه چکلیست هم ته فایل هست، پس کافیه بگی «ادامه بدیم» تا مدل بدونه کجا بودی. یعنی دیگه لازم نیست اول هر جلسه نیم ساعت به صفحهی خالی زل بزنی.
پروژهی بعدیش tinylsm بود، یه LSM-tree کوچیک (همون ساختاری که پایگاهدادههایی مثل LevelDB روش ساخته شدن). به گفتهی نویسنده، کار کردن تو جلسههای کوتاه و پراکنده تو چند روز و چند هفته همون _spaced practice_ـه، یعنی یه کم فراموش کردن بین جلسهها که مغز رو مجبور میکنه دوباره به یاد بیاره. یه REPL کوچیک هم از مدل خواست براش بسازه تا ببینه جدولها چطور روی هم جمع میشن. وقتی دید کد compaction خودش خوندن رو حدود ۱۰۰ برابر سریعتر کرده (از 174.9µs به 1.7µs)، انگیزهش حسابی بالا رفت.
توصیهی آخرش اینه که پروژهی بعدیت جاهطلبانه باشه، چون حالا LLM میتونه منابع رو برات پیدا کنه و هر چند بار بگی «نفهمیدم» دوباره توضیح بده.
نکات کلیدی:
- از LLM بهعنوان معلم استفاده کن، نه ماشین جواب؛ skill مورد استفادهی نویسنده socratic-code-mentorـه
- کارهای حوصلهسربر مثل تست، ابزار و نمایش داده رو بسپر به LLM
- هر فاز تو PLAN.md چهار بخش داره: هدف، قدمها، شرط تموم شدن و تله
- پیشرفت رو قابل دیدن کن؛ تو tinylsm یه REPL نشون داد خوندن از 174.9µs به 1.7µs رسیده
- روزی ۳۰ دقیقه کار مداوم بهتر از دو روز کار سنگین و ده روز غیبته




