چیت‌شیت

مذاکره، شبیه‌سازی و اقتصادهای ایجنتی

Negotiation, Simulation and Agent Economies

شبکه قراردادها، چانه‌زنی OG-Narrator، حافظه اسمال‌ویل، آزمون‌های نظریه ذهن، تخصیص اعتبار شپلی و حراج‌های قیمت دوم.

  • ۱۳ بخش
  • ۴ درس مرتبط
  • کد و دستورها عیناً از دوره‌ی اصلی
فهرست مطالب
  1. بازار وظایف Contract Net
  2. سازوکارهای مذاکره
  3. چانه‌زنی در کد
  4. حلقه‌ی ایجنت زایا
  5. بازیابی حافظه
  6. نظریه ذهن و هماهنگی
  7. سازوکارهای اقتصادی در کد
  8. اجرای دموها
  9. پیش‌فرض‌ها در کد درس
  10. اعداد کلیدی برای به‌خاطرسپردن
  11. حالت‌های شکست
  12. پرسش‌ها
  13. چک‌لیست استقرار

بازار وظایف Contract Net

گام‌به‌گام
  1. مدیروظیفه را به واحدهای کوچک‌تر تجزیه می‌کند.
  2. مدیرپیام cfp را همراه با شرح وظیفه برای کارگزاران همه‌پخشی می‌کند.
  3. پیشنهاددهندهیک propose حاوی (price, eta, confidence) یا یک refuse بازمی‌گرداند.
  4. مدیرپیشنهادهای با قیمت درون بودجه و زمان تحویل درون مهلت را نگه می‌دارد.
  5. مدیربیشینه نسبت conf/price را انتخاب کرده و پیام accept-proposal می‌فرستد.
  6. مدیربه بازندگان پیام reject-proposal می‌فرستد. آن‌ها برای وظایف دیگر پیشنهاد می‌دهند.

سازوکارهای مذاکره

مفهوم‌ها
OG-Narrator
یک تولیدکننده‌ی پیشنهاد قطعی قیمت را محاسبه می‌کند. مدل زبانی فقط روایت می‌کند.
تولیدکننده‌ی پیشنهاد
چانه‌زنی روبینشتاین، استراتژی زوتن یا عمل متقابل (tit-for-tat) روی قیمت.
قاعده
بگذارید LLM روایت کند. نگذارید پیشنهاد را محاسبه کند.
پیشنهاد ساختاریافته
مدل زبانی پیش‌نویس می‌کند. قبل از ارسال با اسکیما اعتبارسنجی کنید.
پنهان‌سازی CoT
برندگان استراتژی را به‌طور خصوصی محاسبه می‌کنند. کانال عمومی فقط پیشنهاد را نمایش می‌دهد.
دستکاری پرسونا
پرسونای استیصال و ناچاری حدود 20% بازده بیشتری می‌دهد.

چانه‌زنی در کد

کد
python
state = BargainState(buyer_max=buyer_max, seller_min=seller_min)
og_narrator_bargain(state, rng, concession=0.35)  # پیشنهاد خریدار
seller_response(state, rng, concession=0.3)       # پیشنهاد متقابل فروشنده
move = max(1, int(concession * (state.seller_offer - prior)))
candidate = min(candidate, state.buyer_max)       # هرگز فراتر از سقف خود نرود
naive_llm_bargain(state, rng)                     # واریانس بالا، اغلب خارج از ZOPA
bench_deal_rate(buyer_fn, label, trials=1000)     # نرخ توافق به درصد
winner = max(feasible, key=lambda b: b.confidence / max(b.price, 1))

حلقه‌ی ایجنت زایا

معماری
مشاهدهامتیازدهیخاطرات مهممدخل تأملk مورد برترتیک زمانیمشاهدهدعوت از سوی یک همسایهجریان حافظهلاگ فقط‌افزودنیبازیابیk مورد برتر بر اساس امتیاز ترکیبیتأملباور جدید به جریان حافظه بازمی‌گرددبرنامهروز، ساعت، اقدامعملحرکت به HobbsCafe

بازیابی حافظه

کد
python
top = retrieve_top_k(stream, query="party cafe", tick=4, k=3)
recency = math.exp(-0.3 * (tick - m.ts))  # زوال نمایی بر اساس قدمت
importance = m.importance / 10.0          # خودامتیازدهی از 1 تا 10
relevance = 0.6 if any(w in m.content.lower() for w in query.lower().split()) else 0.1
score = recency + importance + relevance  # مرتب‌شده، نگه‌داشتن [:k]
a.reflect(tick)                           # اهمیت >= 6 در 5 تیک زمانی اخیر
a.update_plan(tick)                       # باور، ساختار Plan(tick=5, where="HobbsCafe") را اضافه می‌کند
action = a.act(tick)                      # حرکت هنگام فرارسیدن تیک زمانی برنامه

نظریه ذهن و هماهنگی

مفهوم‌ها
مرتبه صفر
بدون مدلی از دیگران. ایجنت فقط بر اساس مشاهدات خودش عمل می‌کند.
مرتبه اول
مدلی از باورهای هر ایجنت دیگر. «آلیس باور دارد X.»
مرتبه دوم
باورهای بازگشتی. «آلیس باور دارد که باب باور دارد X.»
وضعیت ToM
ویژگی other_models. آن را به‌صورت {agent_id: belief_list} نگه دارید.
معیارهای ریدل
تمایز وابسته به هویت، مکمل‌بودن هدف‌محور، هم‌افزایی مرتبه‌بالا.
سیگنال‌های واقعی
مکمل‌بودن در طول زمان، پیش‌بینی و اصلاح تا نوبت گفت‌وگو T+2.
دمو
دستور run_trial(n_agents, n_boxes, tom, seed, max_turns=10) تکرارها را می‌شمارد.

سازوکارهای اقتصادی در کد

کار و کد
وظیفهکد
شپلی دقیق، N کوچکshapley_exact(value_fn, agents)
شپلی نمونه‌برداری‌شدهshapley_sampled(value_fn, agents, samples, rng)
حراج صادقانهsecond_price(bids)
برنده پرداخت می‌کندpayment = sorted_bids[1].value
مخزن اعتبارReputation(alpha=0.95, floor=0.1)
به‌روزرسانی پس از یک وظیفهrep.update(agent, quality)
مسیریابی بر اساس اعتبارweighted_choice(agents, rep.weights(agents), rng)

اجرای دموها

دستورها
دستورعملکرد
`python3 code/main.py` in 16-16مدل زبانی خام توافق ~65-75%، روش OG-Narrator توافق ~85-95%
`python3 code/main.py` in 16-173 ایجنت از 5 ایجنت در مهمانی همگرا می‌شوند
`python3 code/main.py` in 16-18تکرارهای ToM حدود ~5%، مرتبه صفر ~35%
`python3 code/main.py` in 16-21مسیریابی بر اساس اعتبار 10-20% بهبود کیفیت می‌دهد

پیش‌فرض‌ها در کد درس

پیش‌فرض‌ها
تنظیمپیش‌فرضنکته
max_rounds5دورهای چانه‌زنی در هر آزمون
Buyer `concession`0.35فروشنده از 0.3 استفاده می‌کند
Bargain `trials`1000بنچمارک ToM از 200 استفاده می‌کند
Retrieval `k`3k حافظه برتر در پرامپت
Reflection trigger150مجموع اهمیت خاطرات پردازش‌نشده
max_turns10بودجه جمع‌آوری توکن در ToM
alpha0.95زوال اعتبار
floor0.1پایین‌ترین امتیاز اعتبار

اعداد کلیدی برای به‌خاطرسپردن

مفهوم‌ها
OG-Narrator
جهش نرخ توافق از 26.67% به 88.88%.
رقابت
~180 هزار مذاکره. ایجنت‌های پنهان‌کار برنده شدند.
جفت‌های متقارن
نتایج نابرابر در حدود 40% از سناریوها.
اسمال‌ویل
25 ایجنت. 24 نفر از مهمانی اطلاعی نداشتند.
هزینه‌ی شپلی
به ازای N=3 دارای 6 جایگشت. به ازای N=10 دارای 3.6 میلیون جایگشت.
نمونه‌برداری شپلی
100-1000 چینش ترتیبی.

حالت‌های شکست

عیب‌یابی
  • پیشنهادهای خارج از ZOPA

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

    علت
    قیمت رزرو در یک ردگیری محاسبات آشکار
    راه‌حل
    فضای چرک‌نویس خصوصی و مجزا
  • ایجنت‌ها وارد فروشگاه‌های بسته می‌شوند

    علت
    خطاهای هنجارهای مکانی
    راه‌حل
    تشخیص صریح موارد نقض قانون
  • افزایش هزینه‌ی بازیابی

    علت
    سرریز حافظه
    راه‌حل
    خلاصه‌سازی و هرس، زوال موارد با اهمیت پایین
  • روابط ساختگی و من‌درآوردی

    علت
    توهم در مرحله تأمل
    راه‌حل
    قراردادن شناسه‌های حافظه‌ی منبع در پرامپت
  • هماهنگی فقط در دموها دیده می‌شود

    علت
    ظاهرسازی با پرامپت، نبود کنترل
    راه‌حل
    شرایط کنترل و p < 0.05
  • انتساب باور به ایجنت اشتباه

    علت
    افق زمانی بلند، محدودیت کانتکست
    راه‌حل
    مخزن ToM صریح یا خارجی
  • یک مجری اعتبار را به‌طور کاذب باد می‌کند

    علت
    حمله سیبیل (Sybil)
    راه‌حل
    شناسه‌های DID و هزینه جعل اعتبار

پرسش‌ها

پرسش و پاسخ
آیا مدل بزرگ‌تر بهتر چانه‌زنی می‌کند؟
خیر. فقط متن بهتری می‌نویسد اما با همان خطای استراتژیک مشابه.
چرا Contract Net برای بیش از 100 کارگزار مقیاس‌پذیر است؟
چون بر مبنای همه‌پخشی و پاسخ است، نه چت همگام.
کدام بخش اسمال‌ویل را می‌توان حذف کرد؟
هیچ‌کدام. هر ابطال‌سنجی به باورپذیری آسیب می‌زند.
چرا حراج قیمت دوم؟
تحت تجمیع یکنواخت، ایجنت‌ها ارزش واقعی خود را پیشنهاد می‌دهند.
چه زمانی اقتصادهای ایجنتی منطقی هستند؟
شبکه‌های باز، خروجی‌های قابل‌راستی‌آزمایی، کارهای با افق زمانی بلند.

چک‌لیست استقرار

نکته‌ها
  • چانه‌زنی را به 3-5 دور محدود کنید. در بن‌بست کار را به یک میانجی ارجاع دهید.
  • پیشنهادهای خارج از ZOPA را در مرز پروتکل رد کنید.
  • حافظه فقط‌افزودنی است. اصلاحات به‌صورت ورودی‌های جدید ثبت می‌شوند.
  • k حافظه برتری را که محرک هر اقدام بودند لاگ کنید.
  • کار را با اعتبار شروع کنید، نه توکن.
  • قبل از پاداش‌دادن راستی‌آزمایی کنید.