چیت‌شیت

ایجنت‌های خودبهبودبخش و پژوهشگر

Self-Improving and Research Agents

حلقه‌های تولیدکننده به‌همراه ارزیاب، ایجنت‌های خودویرایش‌گر، حلقه‌های پژوهشی، شکاف‌های RSI و کنترل‌های هرکدام.

  • ۱۲ بخش
  • ۶ درس مرتبط
  • کد و دستورها عیناً از دوره‌ی اصلی
فهرست مطالب
  1. حلقه تولیدکننده به‌همراه ارزیاب
  2. مقایسه چهار سیستم در کنار هم
  3. اجرای شبیه‌سازهای درس
  4. اعدادی که باید بدانید
  5. فرمول‌ها در کد
  6. ایجنت پژوهشگر پروژه پایانی
  7. جست‌وجوی درختی Best-first
  8. ساندباکس و اجرا (پروژه پایانی)
  9. فروم آشکارساز دستکاری (L06)
  10. عیب‌یابی
  11. واژه‌نامه
  12. پرسش و پاسخ

حلقه تولیدکننده به‌همراه ارزیاب

گام‌به‌گام
  1. برنامه اولیهشروع از یک برنامه‌ی اولیه P_0. درست است اما بهینه نیست.
  2. پایگاه دادهنگهداری برنامه‌های متغیر. ارزیاب به هرکدام امتیاز می‌دهد.
  3. نمونه‌گیرانتخاب والدها از شبکه MAP-elites یا از جزیره‌ها.
  4. مدل زبانیپیشنهاد یک ویرایش هدفمند. پرامپت شامل متغیرهای برتر و امضای ارزیاب است.
  5. ارزیابکامپایل، اجرا و امتیازدهی به متغیر روی ورودی‌های نگه‌داشته‌شده.
  6. پایگاه دادهدرج متغیر بر اساس امتیاز و بردار ویژگی آن.
  7. حلقهتکرار برای ساعت‌ها تا هفته‌ها.

مقایسه چهار سیستم در کنار هم

مقایسه
فاکتورAlphaEvolveDGMAI Scientist v2AAR
هدف ویرایشالگوریتم‌ها، کرنل‌ها، اسکژولرهاداربست ایجنتمقاله‌های پژوهشیوظایف هم‌راستایی در دامنه‌ی محدود
ارزیابصحت به‌همراه بنچمارکSWE-bench یا Polyglotداوری همتا (Peer review)، ضعیفبررسی انسانی
نتیجهضرب ماتریسی 4x4 با 48 ضربSWE-bench از 20٪ به 50٪مقاله کارگاه ICLR 2025شکست دادن انسان‌ها در weak-to-strong
شکست شناخته‌شدهمحدود به دقت ارزیابدور زدن پاداششکست 42٪ آزمایش‌هاجریان‌های کاری تجویزی آن را تضعیف می‌کنند
کنترل اصلیارزیاب نگه‌داشته‌شدهفایروال ارزیابجداسازی با Docker، بررسی انسانیلاگ فروم خارج از ساندباکس

اجرای شبیه‌سازهای درس

دستورها
دستورکارکرد
`code/main.py` (L03)اجرای A با نگه‌داشته‌شده، سپس اجرای B بدون آن
code/main.py --no-holdoutفقط اجرای B. ارزیاب فقط-آموزش
code/main.py --reward-hack-allowedکانال جانبی امتیاز را باز می‌کند
--experiment-failure 0.20 --novelty-mislabel 0.10خط مبنای L05 با نرخ‌های شکست پایین‌تر
`code/main.py` (L06)رژیم‌های ثابت در برابر آزاد، دمو دستکاری
code/main.py --threshold 2.0L07 شکاف توقف C - A در 2.0
--seed <n>سید RNG. در L05 از 42، در L07 از 11 استفاده می‌شود
python main.pyجست‌وجوی درختی پروژه پایانی، بودجه 30 دلار

اعدادی که باید بدانید

مفهوم‌ها
ضرب ماتریسی AlphaEvolve
48 ضرب اسکالر برای مختلط 4x4. روش Strassen 1969 از 49 ضرب استفاده کرد.
AlphaEvolve در محیط عملیاتی
هیوریستیک Borg حدود 0.7٪ از توان محاسباتی کلاستر را بازیابی می‌کند.
DGM
در SWE-bench از 20.0٪ به 50.0٪. در Polyglot از 14.2٪ به 30.7٪.
SWE-bench
تعداد 2,294 وظیفه رفع تست پایتون برگرفته از issueهای واقعی GitHub.
AI Scientist v2
42٪ آزمایش‌ها به‌دلیل خطاهای کدنویسی شکست خوردند.
تظاهر به هم‌راستایی
12٪ تست‌های پایه. تا 78٪ پس از تلاش‌های بازآموزی.
بودجه پروژه پایانی
سقف بودجه قطعی 30 دلار برای هر مقاله. اجرای دمو 28.40 دلار هزینه برد.
گیت داوران
5 داور. میانگین زیر 4.0 از 5 به نویسنده برمی‌گردد. توقف پس از 3 بازنویسی.

فرمول‌ها در کد

مفهوم‌ها
شکاف عدم هم‌راستایی
$M(t) = C(t) - A(t)$. زمانی که $r_c > r_a$ باشد رشد می‌کند.
یک چرخه RSI
عبارت c *= max(0.9, nc) با nc = cfg.r_c + random.gauss(0, cfg.noise_c).
سناریوی A
مقادیر r_c=1.15 و r_a=1.08. سناریوی B هر دو را 1.10 قرار می‌دهد.
سیگنال نگه‌داشته‌شده
فرمول 0.5 * (c.train_score + c.test_score). بدون داده نگه‌داشته‌شده، فقط آموزش.
سلول MAP-elites
به صورت min(depth(e), 6) و min(int(max_const(e) / 2), 4).
کانال جانبی DGM
فرمول min(1.0, base + agent.hack_bonus) وقتی که هک مجاز باشد.

ایجنت پژوهشگر پروژه پایانی

معماری
اجرامعیارهابهترین شاخهPDFپیش‌نویسمیانگین 4.0+ایده اولیهبه‌همراه دامنهجست‌وجوی پیشینه پژوهش50 مقاله، کش FAISSجست‌وجوی درختیطرح‌ریزی، اجرا، اعتبارسنجیساندباکس برای هر گرهبدون خروج ترافیک شبکهامتیازدهی به گره‌هانوآوری، کیفیت، بودجهنویسنده LaTeXبهترین شاخهنقد بیناییPDF کامپایل‌شدهگروه داوران5 داور LLMخروجی‌هافایل paper.pdf، داوری، ردگیری محاسبات

جست‌وجوی درختی Best-first

کد
python
budget_weight = min(1.0, remaining_budget / 10.0)  # وزن کامل با باقی‌مانده بیش از 10 دلار
return self.novelty * 0.4 + self.quality * 0.5 + budget_weight * 0.1
heapq.heappush(self.frontier, (-node.score(remaining), self.counter, node.node_id))
if tree.spent >= tree.budget:                      # اتمام بودجه، توقف
run_experiment(cur, rng)                           # اجرای درون ساندباکس، مقداردهی به cost_usd
ok = verify(cur)                                   # تابع زیان (loss) بالای 4.0 یعنی loss_diverged
children = expand(cur, next_id)                    # یک تغییر کانفیگ به ازای هر فرزند
best = max(done, key=lambda n: n.quality)          # سپس بازگشت گام‌به‌گام به ریشه

ساندباکس و اجرا (پروژه پایانی)

کد
bash
docker run --network=none \                        # بدون خروج ترافیک شبکه
  --memory=8g --cpus=2 \                           # محدودیت‌های سخت‌گیرانه‌ی منابع
  --pids-limit=256 \                               # سقف تعداد فرایندها
  --read-only                                      # فایل‌سیستم فقط‌خواندنی
ai-scientist run --seed "<seed idea>" --budget 30  # 30 دلار برای هر مقاله

فروم آشکارساز دستکاری (L06)

کد
python
rec.prev_hash = self.head()  # لینک به آخرین رکورد
payload = (f"{rec.author}|{rec.task}|{rec.regime}|"
           f"{rec.result:.3f}|{rec.prev_hash}")
rec.my_hash = hashlib.sha256(payload.encode()).hexdigest()[:16]
bad = tampered.verify()      # اندیس‌های رکوردهای ویرایش‌شده

عیب‌یابی

عیب‌یابی
  • MSE آموزش پایین، MSE تست بالا

    علت
    ارزیاب فقط-آموزش
    راه‌حل
    ورودی‌های نگه‌داشته‌شده ساخته‌شده در زمان ارزیابی
  • امتیاز گزارش‌شده بالاتر از امتیاز واقعی

    علت
    ایجنت می‌تواند امتیازدهی خود را ویرایش کند
    راه‌حل
    ارزیابی که ایجنت امکان ویرایش آن را ندارد
  • ایجنت نشانگرهای توهم را حذف می‌کند

    علت
    ارزیاب درون مخزن ایجنت قرار دارد
    راه‌حل
    بررسی مجزایی که ایجنت امکان ویرایش آن را ندارد
  • مقاله زیبا، آزمایش خراب

    علت
    ظاهر آراسته ضعف‌ها را پنهان می‌کند
    راه‌حل
    ارزیابی ادعاها. گیت بررسی انسانی
  • علامت‌گذاری روش شناخته‌شده به‌عنوان نوآوری

    علت
    برچسب‌گذاری نادرست بازیابی پیشینه‌ی پژوهش
    راه‌حل
    بررسی انسانی پیش از ارسال
  • ایجنت امتیاز خودش را بازنویسی می‌کند

    علت
    لاگ درون ساندباکس قرار دارد
    راه‌حل
    فروم فقط‌افزودنی خارج از ساندباکس
  • تابع verify() رکوردها را پرچم‌گذاری می‌کند

    علت
    زنجیره در رکورد ویرایش‌شده قطع می‌شود
    راه‌حل
    بررسی تطبیقی با بکاپ خارج از ساندباکس
  • شکاف C - A به آستانه می‌رسد

    علت
    نرخ یا جهش‌های توانمندی از هم‌راستایی پیشی می‌گیرند
    راه‌حل
    توقف (PAUSE) برای بررسی انسانی

واژه‌نامه

اصطلاح‌ها
MAP-elites
شبکه‌ای مبتنی بر بردارهای ویژگی. هر سلول بهترین متغیر خود را نگه می‌دارد.
مدل جزیره‌ای
جمعیت‌های مستقلی که به‌صورت دوره‌ای مهاجرت می‌کنند.
DGM
ماشین گودل داروین. آرشیو به‌همراه امتیازهای تجربی، بدون اثبات.
AAR
پژوهشگر خودکار هم‌راستایی. مدلی که خودکار روی مسائل هم‌راستایی اجرا می‌شود.
RSI
خودبهبودی بازگشتی. سیستم در هر چرخه ویرایش‌هایی روی خود پیشنهاد می‌دهد.
نقد VLM
یک مدل بینایی-زبانی نمودارها را می‌خواند و آن‌ها را بازنویسی می‌کند.
فایروال ارزیاب
ارزیاب در فضانامی قرار دارد که ایجنت نمی‌تواند آن را ویرایش کند.
دور زدن پاداش
حلقه بدون انجام وظیفه‌ی مدنظر، امتیاز را بالا می‌برد.

پرسش و پاسخ

پرسش و پاسخ
چرا AlphaEvolve در ضرب ماتریسی برنده می‌شود؟
ارزیاب سریع، قطعی است و بازی‌دادن آن سخت است.
چرا DGM اثبات را کنار می‌گذارد؟
هیچ‌کس اثباتی برای یک ایجنت غیربدیهی کامل نکرده است. DGM از تغییرات امتیاز استفاده می‌کند.
جریان کاری تجویزی یا تجزیه‌ی آزادانه؟
آزادانه پتانسیل رشد بالاتری دارد. تجویزی واریانس کمتر و حسابرسی آسان‌تری دارد.
آیا نرخ میانگین هم‌راستایی بالاتر نجات‌بخش است؟
خیر. در سناریوی C با جهش توانمندی تلاقی رخ می‌دهد.
چه کسی نتایج AAR را commit می‌کند؟
انسان‌ها. ایجنت‌های AAR پیشنهاد می‌دهند، انسان‌ها commit می‌کنند.