یک اشتباه کوچک در دستور قطع آب میتواند تفاوت بین آبیاری محصولات یک مزرعه یا تعطیلی کامل آن باشد. برای حل این چالش، استیون سوک (Stephen Sook) سامانه Curtail را طراحی کرد؛ یک سیستم چندعاملی (Multi-agent system) — شبیه تیمی از متخصصان که هر کدام وظیفهای خاص دارند و با هم هماهنگ میشوند — که برای مسابقه Google x Devpost All Things Agentic Hackathon ساخته شده است. این سیستم تضمین میکند هیچ تصمیم حقوقی هرگز بهطور خودکار توسط هوش مصنوعی اجرا نشود.
قوانین آب در کالیفرنیا بهشدت سختگیرانه و حساس هستند. سوک خطر این موضوع را با یک مثال واقعی از اوت ۲۰۲۲ نشان میدهد: یک انجمن آب که به حدود ۸۰ دامدار خدمات میداد، برای ۸ روز برخلاف یک دستور جاری برای قطع آب در زمان خشکسالی در رودخانه Shasta، پمپهای خود را روشن نگه داشت. جریمه پیشنهادی در آن زمان در مجموع ۴,۰۰۰ دلار، یا ۵۰۰ دلار برای هر روز بود. یکی از دامداران در سوابق رسمی صراحتاً اعلام کرد: «میتوانستیم با پرداخت روزانه ۵۰۰ دلار به کارمان ادامه دهیم».
این اتفاق شکافی حیاتی در مقررات فعلی را نشان میدهد. بر اساس مستندات، در حالی که کد آبی ۱۸۴۶(b) که از اول ژانویه ۲۰۲۵ لازمالاجرا شده است، نرخ جریمه را به ۱۰,۰۰۰ دلار در روز افزایش داده، اما متنی که یک شخص در عمل میخواند — یعنی مقررات 23 CCR 875.9(b) — هنوز عدد ۵۰۰ دلار را چاپ میکند. این تفاوت ۲۰ برابری که ابزارهای دولتی متوجه آن نمیشوند، ثابت میکند چرا تکیه بر یک مدل زبانی بزرگ (LLM) — مثل کتابخانهداری که میلیاردها صفحه را خوانده و حالا با همان لحن جواب میدهد — برای «خواندن» و «تفسیر» قوانین در لحظه، یک ریسک بزرگ و یک مسئولیت حقوقی خطرناک است.
همانطور که در تحلیلهای قبلی ما دربارهی امنیت مدلهای بازمتن اشاره کردیم، تکیه بر خروجی مدل بدون لایهی اعتبارسنجی خطرناک است. به همین دلیل Curtail از یک تفکیک معماری سختگیرانه استفاده میکند. مرکز این سیستم «هسته تخصیص» (Allocation Core) است که بهجای LLM، با زبان پایتون و بهصورت قطعی (Deterministic) نوشته شده است. این هسته اولویتهای ترتیب، عضویت در احکام و خواندن دادههای سنجش را در برابر حداقلهای عملیاتی برای محاسبه کمبودها مدیریت میکند. سوک استدلال میکند که اینها «واقعیت» هستند و واقعیتها نیازی به پارامتر دما (Temperature) — که میزان خلاقیت و تصادفی بودن جواب مدل را کنترل میکند — ندارند. این رویکرد با یافتههای اخیر مبنی بر جایگزینی مهندسی پرامپت با قوانین ثابت برای حذف توهمات همسو است.
معماری ناوگان عاملها
در اطراف این هسته قطعی، ناوگانی از چهار گره قرار دارد که بر پایه Google Agent Development Kit ساخته شده و روی Cloud Run اجرا میشود:
- Gage Sentinel: خواندن دادههای رودخانهای USGS را با حداقلهای تعیینشده در بازههای زمانی مشخص مقایسه و طبقهبندی میکند.
- Order Scribe: با استفاده از مدل gemini-3.5-flash از طریق Vertex AI، پیشنویس سند حقوقی را بر اساس توصیههای هسته مرکزی مینویسد.
- Herald: چهار روش قانونی ابلاغ را تحت کد آبی ۱۱۲۱ مدلسازی کرده و تضمین میکند هیچ اطلاعیهای بدون رعایت این معیارها، «ابلاغ قانونی» تلقی نشود.
- Season Ledger: ساعتهای قانونی، از جمله مهلتهای بازبینی و پاسخ، را بهطور پایدار در Cloud Firestore نگه میدارد.
سوک برای تضمین پایداری دادهها، از یک کلاینت دوم که بهطور مستقل ساخته شده بود استفاده کرد تا پس از حذف نویسنده، اطلاعات فصل را دوباره بخواند و صحت آن را بررسی کند.
دفاع در برابر توهمات
سوک دریافت که پرامپتهای سیستمی (System Prompt) — دستورالعملهای اولیه که رفتار مدل را تعیین میکند — برای جلوگیری از جعل کافی نیستند. او پیش از کدنویسی، مفهوم سیستم را به ۶ مدل خارجی داد؛ دو مدل با اطمینان کامل به قوانینی استناد کردند که اصلاً در هیچ پایگاه دادهای وجود نداشتند. این مراجع ساختگی با اعتماد به نفس کامل ارائه شده بودند.
در پاسخ، Curtail یک فیلتر پاکساز استنادی در سمت سرور پیاده کرد. خروجی مدل Scribe ابتدا از این فیلتر قطعی عبور میکند. هر استنادی که در «لیست سفید» تاییدشده نباشد، پیش از رسیدن به تولیدکننده سند، حذف و علامتگذاری میشود. این استنادهای ساختگی اکنون بهعنوان یک تست CI در مخزن کد قرار دارند تا تضمین شود که لایه حفاظتی هرگز متوقف نمیشود.
لایه دوم اعتبارسنجی دفتر کل (Ledger) نیز هر پیشنویسی را که حقی، تاریخ اولویت یا رتبهای را ادعا کند که توسط هسته قطعی پایتون محاسبه نشده است، رد میکند. سیستم تنها یک بار اجازه تلاش مجدد میدهد و سپس پیشنویس را به صف انسانی با برچسب «تاییدنشده» (UNVERIFIED) میفرستد.
علاوه بر این، Model Armor متنهای ورودی نامعتبر را برای شناسایی تزریق پرامپت (Prompt Injection) بررسی میکند. متنها به قطعات کوچکی تقسیم میشوند تا در پنجره مستند شدهی تزریق پرامپت بگنجند. اگر این لایه حفاظتی در دسترس نباشد، سیستم بهجای تایید ساده، وضعیت «ناموجود» (UNAVAILABLE) را گزارش میکند. این نوع مکانیزمهای حفاظتی یادآور استفاده از GuardRail برای جلوگیری از دسترسیهای غیرمجاز عاملها به دادههای حساس است که لایهای سختگیرانهتر از فیلترهای متنی ساده ایجاد میکند.
حاکمیت دادهها و استنتاج محلی
برای دریافت اسناد، سیستم از مدل Gemma (gemma3:4b) استفاده میکند که بهصورت محلی از طریق Ollama اجرا میشود. این یعنی سوابق حساس مالکان هرگز برای ارسال به APIهای شخص ثالث از دستگاه خارج نمیشود. این مدل محلی فقط مجاز است چهار فیلد ثبت را استخراج کند و هر فیلد پیش از پذیرش، بهصورت کلمه به کلمه با متن منبع تایید میشود. مدل فقط اسناد را ثبت میکند و بهشدت از خواندن قوانین از دل اسناد منع شده است.
تست روی دادههای واقعی
سوک برای اثبات اعتبار سیستم، یک تست بازگشتی (Backtest) روی ۹۸ فایل PDF که از نظر بایت تایید شده بودند (شامل دستورات قطع آب منتشرشده و الحاقیات برای رودخانههای Scott و Shasta) انجام داد. از این تعداد، ۹۵ سند قابل امتیازدهی بودند و Curtail توانست جهت ۶ تصمیم تاریخی از ۶ مورد را بهدرستی بازتولید کند. پنج سند به دلایل خاصی حذف شدند، مثلاً زمانی که یک حد (Bound) یک خوانش نبود یا محدوده یک منحرفکننده نامگذاری شده، یک تصمیم آستانه حوضه نبود.
یک یافته تکاندهنده در این مسیر، خطر استنتاج (Inference) — لحظهای که مدل واقعاً جواب تولید میکند — بود. سوک با استفاده از جداول حقوقی خودِ هیئت مدیره (از جمله جدول Scott با ۳۸۴ حق قانونی) متوجه شد که استنتاج گروههای قطع آب بر اساس ویژگیها، تنها در ۸ مورد از ۳۸۴ حق قانونی با دادههای رسمی هیئت مدیره مطابقت دارد. از آنجایی که گروه ۱ ابتدا قطع میشود و گروه ۸ تقریباً در آخر، این شکاف یعنی تفاوت بین آبیاری یک مزرعه یا خشک شدن آن؛ موضوعی که تصمیم او را برای خواندن مستقیم سوابق بهجای استنتاج مدل توجیه کرد.
ضرورت حضور انسان در چرخه
طراحی Curtail بهگونهای است که ماشین فقط «توصیه» میکند و «تصمیم نهایی» منحصراً با امضای انسان است. این ساختار با مقررات 23 CCR 875(b) همسو است که تعیین تکلیف را به یک مقام انسانی میسپارد و اختیار رد، محدود یا تعلیق دستور را برای او حفظ میکند.
سوابق امضا شده نشان میدهند که مقام مسئول واقعاً چه مواردی را بررسی کرده است، از جمله ورودیهای قضاوتی که سیستم آنها را نمایش میدهد اما از حل خودکار آنها خودداری میکند؛ مواردی مانند وضعیت آب و هوا، اطلاعات شیلات، مشارکتهای داوطلبانه و شواهد آبهای زیرزمینی.
سوک تاکید میکند که یک سیستم عاملمحور اگر توسط انسان قابل اصلاح نباشد، «حاکمیت» ندارد. او به مثالی در ژوئیه ۲۰۲۵ اشاره میکند که در آن رودخانه Fort Jones در یک یکشنبه مقدار ۴۸.۷ cfs را ثبت کرد که باعث فعال شدن دستور قطع آب شد. پس از اختلافات جامعه و بررسی جریانهای میدانی، USGS منحنی رتبهبندی را اصلاح کرد و همان مقدار آب در روز سهشنبه ۷۸.۴ cfs خوانده شد و دستور قطع آب لغو شد. رودخانه هرگز بالا نیامد؛ بلکه اندازهگیری تغییر کرد. به همین دلیل، Curtail برای خوانشهایی که در محدوده نزدیک به آستانه هستند، پرچم «تایید میدانی توصیه میشود» را فعال میکند.
اعتبارسنجی سختگیرانه
سوک حتی در متون معرفی سیستم نیز همین نظم را به کار برد. تمام اعداد موجود در ویدیو، فایل README و توضیحات Devpost از یک فایل حقیقت واحد (docs/FACTS.md) میآیند که توسط کد تولید شده است. اگر دادهها تغییر کنند، تستهای CI با شکست مواجه میشوند. یک گیت (Gate) متن سناریو را میخواند و هر عددی را که در فایل حقیقت منبعی نداشته باشد رد میکند تا خطاهای واقعی پیش از رسیدن به ویدیوی نهایی شناسایی شوند.
تستها همچنین باگی را شناسایی کردند که در آن Sentinel یک تخلیه منفی (خطای سنسور) را بهعنوان مقداری زیر حداقل طبقهبندی میکرد و به سمت قطع آب میرفت. این مورد اکنون در سطح شیء دامنه (Domain Object) غیرقابل نمایش است. سیستم همچنین دارای یک محور امتیازدهی برای «خویشتنداری» است و زمانی که هیئت مدیره حقوقی را بدون تاریخ اولویت منتشر کرده باشد، از استنتاج (Extrapolate) خودداری میکند.
این رویکرد نقش هوش مصنوعی را از «تصمیمگیرنده» به یک «ابزار پیشنویس با دقت بالا» تغییر میدهد. با تایید محصول نهایی بهجای تایید اقدام، سیستم از «سبزهای کاذب» (False Greens) — بررسیهایی که بدون اعتبارسنجی واقعی خروجی، گزارش موفقیت میدهند (مانند یک WAF که صفحه مسدود شده را با کد HTTP 200 برمیگرداند) — اجتناب میکند.
برای کسانی که در حوزههای حقوقی توسعه میدهند، این معماری نشان میدهد که قابلاعتمادترین سیستمها آنهایی هستند که با LLM بهعنوان «کماعتمادترین جزء پشته» برخورد میکنند. هدف، باهوشتر کردن مدل نیست، بلکه تقویت قفس قطعی اطراف آن است.
توسعهدهندگان علاقهمند میتوانند سیستم تولیدی را از طریق یک کنسول زنده بررسی کنند یا مخزن کد با لایسنس Apache-2.0 را در گیتهاب مرور نمایند. ویدیوی دمو شامل یک برداشت پیوسته و بدون برش از سیستم تولیدی، شامل فراخوانی کامل Gemini است تا نگاهی صادقانه به عملکرد عامل ارائه دهد.
گام بعدی شما
- اگر در حال توسعه ابزارهای حقوقی هستید، منطق تصمیمگیری را از لایه تولید متن (LLM) جدا کرده و به کدهای قطعی (Deterministic) منتقل کنید.
- برای دادههای حساس، از مدلهای کوچک محلی (SLM) مانند Gemma برای استخراج داده استفاده کنید تا حریم خصوصی حفظ شود.
- هرگز اجازه ندهید مدلهای زبانی مستقیماً به APIهای اجرایی متصل شوند؛ همیشه یک لایه تایید انسانی (Human-in-the-loop) قرار دهید.
اما داستان سختافزاری اجرای این مدلهای محلی در مقیاس سازمانی حتی پیچیدهتر است — به تحلیل ما دربارهی بهینهسازی استنتاج در لبه شبکه مراجعه کنید.




گفتگو