چیتشیت
هوش مصنوعی قانونمحور و طبقهبندهای ورودی/خروجی
Constitutional AI and Input/Output Classifiers
آموزش نقد-و-بازنگری، اولویتبندی سطوح، ریلهای ورودی و خروجی، روشهای دور زدن آنها، و موتور قوانین YAML.
فهرست مطالب
آموزش CAI، دو مرحله
گامبهگام- مدل SFTبه یک پرامپت تیم قرمز پاسخ میدهد؛ مفید است ولی هنوز بیضرر نیست.
- ناقدیک اصل نمونهبرداریشده را میخواند و پاسخ را نقد میکند.
- اصلاحگرپاسخ را بر اساس نقد بازنگری میکند؛ این هدف آموزش SFT است.
- خطمشی (Policy)جفتپاسخهای کاندید تولید میکند.
- مدل بازخوردهر جفت را بر اساس اصول نمونهبرداریشده رتبهبندی میکند.
- مدل پاداشبر ترجیحات هوش مصنوعی آموزش میبیند؛ الگوریتم PPO روی آن اجرا میشود.
دفاع چندلایه
معماریمقایسهی سه لایه کنار هم
مقایسه| عامل | وزنهای CAI | طبقهبند ورودی/خروجی | موتور قوانین |
|---|---|---|---|
| محل اثر | ترجیح وزنهای مدل | هر نوبت ورودی و خروجی | پاسخ کاندید |
| سیگنال | اصول، نقد، بازخورد هوش مصنوعی | ردهبندی خطرات، S1 تا S14 | گزارههای YAML |
| نتیجه | امتناع مدل همراه با توضیح | مسدودسازی، نشانهگذاری یا هدایت بر اساس دستهبندی | یک نقض قانون بهازای هر قاعده، بههمراه اصلاحیه |
| برتری در | مشابههای نزدیکِ دیدهنشده | رد سریع سوءاستفادههای آشکار | محدودیتهای قراردادی |
| نقاط ضعف | ابهام در اصول، دریفت | قاچاق اموجی، نویسههای همشکل، بازنویسی | بازنویسیهای ساختاری |
| مثال | Claude Constitution | Llama Guard 3، NeMo Guardrails | rules.yml |
سطوح و حوزهها
مفهومها- سطح 1
- ایمنی و پشتیبانی از نظارت انسانی؛ بالاترین اولویت.
- سطح 2
- اخلاق؛ در صورت تعارض، بر دستورالعملها تقدم دارد.
- سطح 3
- دستورالعملهای Anthropic.
- سطح 4
- مفید بودن؛ پایینترین اولویت.
- سختکدشده
- ارتقای قابلیت CBRN، محتوای CSAM، حمله به زیرساخت، جعل هویت؛ بدون امکان نادیدهگیری.
- نرمکدشده
- طول، دامنهی موضوعی، لحن، استفاده از ابزار؛ قابل تنظیم توسط اپراتور در یک بازه.
- ترتیب L18.05
- فاجعهبار، دستورالعملها، اخلاق، مفید بودن؛ حل تعارضات از بالا به پایین.
آمارهای کلیدی
مفهومها- Claude Constitution
- 79 صفحه، CC0، ژانویه 2026.
- CAI 2022
- 16 اصل در شیوهنامهی بنیادین.
- مشارکتی 2023
- حدود 1000 پاسخدهنده از آمریکا؛ حدود 50٪ توافق با متن شرکتی.
- طبقهبندهای قانونمحور
- 23.7٪ سربار محاسباتی در v1، حدود 1٪ در v2.
- Llama Guard 3
- بر پایهی Llama-3.1-8B، 13 نوع خطر، 8 زبان.
- نسخهی 1B-INT4
- بیش از 30 توکن بر ثانیه روی پردازندههای موبایل.
- Llama Guard 4
- از S1 تا S14؛ دستهی S14 سوءاستفاده از Code Interpreter است.
- حملات
- قاچاق اموجی با 100٪ ضریب موفقیت (ASR) روی شش گاردریل؛ NeMo Guard Detect برابر 72.54٪.
حل تعارض چهارسطحی (L15.17)
کدpython
block = hardcoded_block(action) # تطابق زیررشته، HARDCODED_PROHIBITIONS
if block:
return "refuse", f"hardcoded prohibition: {block}"
if score.safety >= 3: # در تعارض، سطح بالاتر برنده است
return "refuse", f"safety violation (score={score.safety})"
if score.ethics >= 3:
return "refuse", f"ethics violation (score={score.ethics})"
if score.guidelines >= 3: # تغییر دادن بهجای امتناع
return "modify", f"guideline conflict (score={score.guidelines}); modify"
return "allow", "all higher tiers clear; helpfulness respected"
نرمالسازی، سپس طبقهبندی (L15.18)
کدpython
out = unicodedata.normalize("NFKC", text) # یکپارچهسازی فرمهای سازگاری
out = _homoglyph_map(out) # تبدیل نویسههای همشکل سیریلیک به لاتین
return "".join(ch for ch in out if not _is_invisible(ch)) # حذف نویسههای با عرض صفر
hits = classify_raw(normalize(text)) # کارکرد classify_normalized
hits = output_rail(o) # OUTPUT_DISALLOWED در نوبت مدل
یک قاعده در rules.yml
کدyaml
- name: no-empty-refusal
severity: medium # کم، متوسط یا زیاد
applies_when: # false نتیجهی not_applicable میدهد
contains_regex: '\b(i cannot|i will not|i refuse|unable to help)\b'
must:
any_of:
- contains_regex: '\b(try|consider|alternative|instead|suggest)\b'
- contains_regex: '\bredirect\b'
explanation: "Refusals must offer a next step (a suggestion, an alternative, or a redirect)."
fix:
append_if_missing: "\n\nIf this is something I cannot help with, ..."
گرامر قوانین
دستورها| دستور | کاربرد |
|---|---|
`contains_regex`, `not_contains_regex` | یافتن یا نبود ریجکس، غیرحساس به حروف کوچک/بزرگ |
`starts_with_regex`, `ends_with_regex` | انطباق در ابتدا یا انتهای متن |
`max_words`, `min_words` | محدودهی تعداد کلمات |
`all_of`, `any_of`, `not_` | ترکیب گزارهها؛ any_of توقف زودهنگام دارد |
applies_when | مقدار False وضعیت not_applicable را ثبت میکند |
`append_if_missing`, `prepend_if_missing` | افزودن متن در صورت نبود آن |
replace_regex | جایگزینی pattern با replacement |
`low`, `medium`, `high` | سطوح اهمیت؛ گیت درس 87 موارد high را مسدود میکند |
اجرا و استفاده
کار و کد| وظیفه | کد |
|---|---|
| دموی حلکنندهی چهارسطحی (15.17) | code/main.py |
| دموی طبقهبند و ریل خروجی (15.18) | code/main.py |
| پایپلاین سادهی CAI (18.05) | python3 code/main.py |
| دموی موتور قوانین (19.86) | python3 main.py |
| بارگذاری شیوهنامهی بنیادین | engine = Engine() |
| ارزیابی یک پیشنویس | report = engine.evaluate(draft) |
| اصلاح موارد نقض قانون | fixer.apply(draft, report.violations()) |
| تفاوتهای بازنگری میان پیشنویس و نسخه اصلاحشده | diff(draft, revised) |
عیبیابی
عیبیابینویسههای با عرض صفر گارد کلمات کلیدی را دور میزنند
- علت
- قاچاق اموجی کلمات را تکهتکه میکند
- راهحل
normalize()پیش ازclassify_raw
نویسهی همشکل سیریلیک عبور میکند
- علت
- جایگزینی نویسههای همشکل
- راهحل
_homoglyph_map؛ نگاشت را گسترش دهید
افشای راز پس از تأیید ورودی رخ میدهد
- علت
- نبود ریل خروجی
- راهحل
- افزودن
output_rail()در نوبت مدل
درخواست در طول نوبتها دچار دریفت میشود
- علت
- بافت طبقهبند فقط در سطح نوبت است
- راهحل
- ریلهای گفتوگو در Colang
مقدمهی «آزمایشگاه مجاز» پذیرفته میشود
- علت
- اتکای صرف به سطوح استدلالی
- راهحل
- ممنوعیتهای سختکدشده
has bad severity- علت
- سطح اهمیت چیزی جز low، medium یا high است
- راهحل
- از یکی از این سه مورد استفاده کنید
missing required field- علت
- نبود name، explanation یا must
- راهحل
- فیلد موردنظر را اضافه کنید
unknown predicate- علت
- کلید در گرامر تعریف نشده است
- راهحل
- از یک گزارهی اتمی یا ترکیبی استفاده کنید
پرسش و پاسخ
پرسش و پاسخ- آیا RLAIF فقط نسخهی ارزانتر RLHF است؟
- خیر؛ سوگیری برچسبزنها به تفسیر اصول منتقل میشود.
- RLAIF چه چیزی را تغییر میدهد؟
- بلهقربانگویی کاهش مییابد؛ قانون گودهارت همچنان پابرجاست.
- طبقهبند در کجا قرار میگیرد؟
- زیر لایهی قانونمحور، بالای لایهی محیط اجرا.
- چرا فقط ویرایش محلی؟
- بازنویسی ساختاری وظیفهی لایهی جداگانهی امتناع-و-راهنمایی است.
- آیا یک لایه کافی است؟
- خیر؛ CAI رفتار را شکل میدهد و طبقهبندها پایهها را تضمین میکنند.