پرش به محتوای اصلی
پرش به محتوای مقاله

Onmitsu: شناسایی خطاهای منطقی در فرم‌های دولتی از طریق مدل‌سازی کاربر

·۲۱ تیر ۱۴۰۵۱۳ دقیقه مطالعه۲ بازدید
ساخت مشتری مرموز هوش مصنوعی برای فرم‌های دولتی و کشف باگ‌های ناخواسته
ساخت مشتری مرموز هوش مصنوعی برای فرم‌های دولتی و کشف باگ‌های ناخواسته
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

تغییر رویکرد از اسکن استاتیک کد به «شبیه‌سازی رفتار کاربر ناکام» توسط یک عامل هوش مصنوعی برای شناسایی باگ‌های منطقی که ابزارهای تحلیل کد (Linting) هرگز نمی‌بینند.

تصور کنید فرمی دولتی پیش روی شماست که دستورالعمل‌های متناقض دارد و در نهایت شما را به یک صفحه خطا می‌رساند؛ حالا تصور کنید ابزاری وجود داشته باشد که دقیقاً همین حس کلافگی را تجربه کند تا نقص‌ها را پیش از کاربر واقعی پیدا کند. Onmitsu، عامل هوش مصنوعی جدیدی که در ۱۲ ژوئیه ۲۰۲۶ در گیت‌هاب منتشر شد، دقیقاً همین هدف را دنبال می‌کند. این ابزار توسط توسعه‌دهنده‌ای ساخته شده تا نقش یک «شهروند ناکام و کلافه» را ایفا کند. Onmitsu صرفاً به دنبال خطاهای کدنویسی نیست، بلکه تلاش می‌کند فرم‌های دولتی را تکمیل کند و دقیقاً گزارش دهد که در کدام نقطه متوقف شده یا دچار سردرگمی شده است.

این رویکرد هدفش پر کردن یک شکاف خاص در حاکمیت دیجیتال است. در ژاپن، آژانس دیجیتال (Digital Agency) پلتفرم داخلی مبتنی بر هوش مصنوعی مولد به نام Genai (源内) را اداره می‌کند. این پلتفرم به سازمان‌ها اجازه می‌دهد تا REST APIهای خارجی را به عنوان اپلیکیشن‌های اداری ثبت کنند. در حالی که Genai بخش رابط کاربری (Frontend) را مدیریت می‌کند، منطق بک‌اند این اپلیکیشن‌ها اغلب دارای نقاط اصطکاک نامرئی است. این نقاط توسط تحلیل‌گرهای کد (Linters) استاندارد یا اسکن‌های axe-core نادیده گرفته می‌شوند، زیرا این ابزارها برخلاف یک انسان، فرم را «تجربه» نمی‌کنند. این چالش با مشکلاتی مشابه در شناسایی نقص‌های منطقی در کدهایی که توسط AI تولید شده‌اند همخوانی دارد، مشابه آنچه در پروژه Loupe برای شناسایی باگ‌های خاموش بررسی شده بود.

برای آزمایش این ادعا، سازنده یک هدف مجازی ساخت: یک اپلیکیشن Next.js که شبیه‌ساز فرم کمک‌هزینه فرزندپروری در یک شهرداری ژاپنی بود. این نمونه اولیه عمداً با «ضدالگوهای تجربه کاربری» (UX anti-patterns) طراحی شده بود؛ مواردی مانند دستورالعمل‌های متناقض برای چک‌باکس‌های اجباری و محدودیت‌های پنهان در آپلود فایل که کاربر را به اشتباه می‌انداخت.

معماری یک «مشتری ناشناس»

از آنجا که عامل‌های هوش مصنوعی برای به اتمام رساندن یک کار در مرورگر ممکن است چندین دقیقه زمان نیاز داشته باشند، نمی‌توانند در قالب درخواست‌های HTTP همگام (Synchronous) استاندارد جای گیرند. توسعه‌دهنده برای حل این مشکل از یک قرارداد ناهمگام (Async) خاص استفاده کرد: یک نقطه انتهایی POST /requests که وضعیت ۲۰۲ Accepted را برمی‌گرداند و پس از آن، سیستم باید از طریق نقطه انتهایی /status وضعیت پیشرفت کار را پی‌گیری (Polling) کند.

این معماری به عامل اجازه می‌دهد بدون برخورد با محدودیت زمانی ۲۹ ثانیه‌ای AWS API Gateway، در صفحات وب ناوبری کند. این عامل توسط Strands Agents و Amazon Bedrock AgentCore نیرو می‌گیرد و از مجموعه‌ای شامل هشت ابزار تخصصی برای تعامل با وب استفاده می‌کند:

  • open_url و observe_page برای باز کردن صفحات و تحلیل ساختار DOM.
  • click_element و fill_field برای کلیک روی عناصر و پر کردن فیلدها.
  • take_screenshot و record_finding برای ثبت شواهد بصری و گزارش یافته‌ها.
  • read_page_text و wait_seconds برای خواندن متون صفحه و مدیریت زمان‌بندی جهت اعتبارسنجی.

ساخت ربات ارزیاب هوشمند برای فرم‌های دولتی و کشف باگ‌های ناخواسته

در این میان، ابزار observe_page حیاتی‌ترین نقش را دارد. این ابزار یک قطعه کد جاوااسکریپت را اجرا می‌کند که عناصر تعاملی صفحه را با یک شناسه منحصر‌به‌فرد data-onmitsu-id علامت‌گذاری می‌کند. این مکانیسم به مدل زبانی بزرگ (LLM) اجازه می‌دهد تا به جای تحلیل کدهای خام و شلوغ HTML، روی لیستی فشرده از برچسب‌ها و نقش‌ها استدلال کند. در واقع، این ابزار باعث می‌شود عامل صفحه را دقیقاً مشابه یک «صفحه‌خوان» (Screen Reader) ببیند و تحلیل کند.

یافتن باگ‌های «ناخواسته»

گزارش‌ها نشان می‌دهد که Onmitsu نه تنها تله‌های برنامه‌ریزی‌شده را شناسایی کرد، بلکه باگ‌های شدیدی را یافت که توسعه‌دهنده عمداً آن‌ها را ایجاد نکرده بود. یکی از یافته‌های اصلی، وجود تناقض در چک‌باکس‌هایی بود که برچسب «اجباری» داشتند اما در واقعیت، ویژگی HTML required در DOM آن‌ها تعریف نشده بود.

کشف بحرانی دیگر مربوط به بین‌المللی‌سازی (i18n) بود. عامل متوجه شد که اگر کاربر مستقیماً به مرحله خاصی از درخواست در اپلیکیشن برود، علی‌رغم اینکه بقیه سایت به زبان ژاپنی است، صفحه ۴۰۴ به زبان انگلیسی نمایش داده می‌شود. این خطا در واقع اثر جانبی تلاش عامل برای «دور زدن» یک مرحله مسدود شده بود که دقیقاً شبیه‌ساز تلاش یک کاربر واقعی برای عبور از موانع است.

علاوه بر این، عامل فقدان کامل ویژگی‌های aria-label در فیلدهای ورودی را گزارش کرد. از آنجا که Onmitsu برای ناوبری به «درخت دسترسی‌پذیری» (Accessibility Tree) تکیه می‌کرد، به‌طور طبیعی تشخیص داد که یک صفحه‌خوان هیچ محتوایی برای اعلام کردن نخواهد داشت. این یعنی ابزار در حین انجام مأموریت اصلی خود، عملاً یک ممیزی کامل دسترسی‌پذیری را نیز انجام داد.

چالش‌های مهندسی و استقرار

انتقال این عامل به فضای ابری با دشواری‌های فنی متعددی همراه بود. اولین چالش، تضاد در مدیریت رشته‌ها (Threading) بود؛ API همگام Playwright ایجاب می‌کند که تمام فراخوانی‌ها از یک رشته واحد در سیستم‌عامل ارسال شوند. اما چون Strands Agents ابزارها را از طریق یک استخر رشته‌های هم‌رده (Concurrent Thread Pool) اجرا می‌کند، عامل مکرراً با خطای greenlet.error کراش می‌کرد. توسعه‌دهنده برای رفع این مشکل، یک پروکسی به نام BrowserWorker ساخت تا تمام فراخوانی‌های Playwright را بر روی یک رشته اختصاصی سریال‌سازی کند.

استقرار در AWS نیز تداخلات منطقه‌ای ایجاد کرد. Runtime مربوط به AgentCore روی منطقه us-east-1 تنظیم شده بود، در حالی که زیرساخت توسعه‌دهنده به صورت پیش‌فرض روی ap-northeast-1 (توکیو) بود. یک نقص در منطق Fallback مربوط به CDK باعث شد استک (Stack) در منطقه اشتباه مستقر شود و منجر به شکست‌های اولیه در اجرا گردد.

مدیریت دسترسی‌های IAM نیز گمراه‌کننده بود. توسعه‌دهنده ابتدا دسترسی‌ها را برای یک «پروفایل استنتاج متقاطع-منطقه‌ای» صادر کرد، اما Amazon Bedrock دسترسی‌ها را بر اساس منبع مدل بنیادی (Foundation Model) ارزیابی می‌کرد. این موضوع مستلزم تعریف دو عبارت سیاست (Policy Statement) مجزا بود: یکی برای پروفایل استنتاج و دیگری با استفاده از Wildcard منطقه‌ای برای مدل بنیادی.

در نهایت، توسعه‌دهنده با محدودیت سخت‌افزاری سهمیه توکن‌های روزانه مدل مواجه شد. این اتفاق باعث شد یک باگ پنهان آشکار شود: تایم‌اوت ۶۰ ثانیه‌ای کلاینت در هندلر Lambda، خطای محدودیت (Throttling) سمت سرور را به‌اشتباه به عنوان «تایم‌اوت خواندن» گزارش می‌کرد و علت واقعی شکست عملیات را می‌پوشاند.

چرا این موضوع برای تجربه کاربری (UX) اهمیت دارد؟

این آزمایش پارادایم تست‌های پایان-به-پایان (E2E) را تغییر می‌دهد. تست‌های سنتی مبتنی بر اسکریپت، تنها سناریوهایی را بررسی می‌کنند که برنامه‌نویس پیش‌بینی کرده است. در مقابل، یک عامل مبتنی بر LLM کشف می‌کند که یک انسان سردرگم در واقعیت با چه مشکلاتی روبرو می‌شود. با قرار دادن «درخت دسترسی‌پذیری» به عنوان سیگنال اصلی، این عامل همزمان باگ‌های عملکردی و شکست‌های مربوط به شمولیت (Inclusivity) را شناسایی می‌کند.

برای توسعه‌دهندگان و سازمان‌های دولتی، این بدان معناست که هدف تست از «آیا کد کار می‌کند؟» به «آیا یک انسان واقعاً می‌تواند این فرم را تکمیل کند؟» تغییر می‌کند. Onmitsu هوش مصنوعی را از یک چت‌بات ساده به یک شبیه‌ساز دقیق از «کلافگی انسانی» تبدیل می‌کند تا کیفیت خدمات دیجیتال ارتقا یابد.

گام بعدی شما

  • بررسی کد منبع Onmitsu در گیت‌هاب برای تحلیل نحوه پیاده‌سازی BrowserWorker در محیط‌های توزیع‌شده.
  • تست کردن فرم‌های پیچیده سازمان خود با متد «نقش‌آفرینی کاربر ناکام» به جای تست‌های سناریو-محور.
  • مطالعه مستندات Amazon Bedrock AgentCore برای پیاده‌سازی ابزارهای مشابه ناوبری وب.

اما چالش واقعی، مدیریت هزینه‌های استنتاج در مقیاس وسیع است — در تحلیل ما درباره‌ی بهینه‌سازی هزینه GPU و رقابت مدل‌های جدید برای کاهش هزینه‌های API بخوانید.

چرا این موضوع مهم است؟

این ابزار با تکیه بر تجربه واقعی کاربر در محیط وب، اعتبار سنجی UX را از یک فرآیند دستی و ذهنی به یک فرآیند فنی و قابل اندازه‌گیری تبدیل می‌کند. استفاده از درخت دسترسی‌پذیری به عنوان سیگنال اصلی، باعث ادغام تست عملکرد و inclusivity می‌شود.

تأثیر برای ایران

برای توسعه‌دهندگان ایرانی که روی سامانه‌های دولتی و فرم‌های پیچیده کار می‌کنند، این رویکرد جایگزین ارزان‌تری برای تست‌های کاربرپسند (User Testing) است و می‌توان آن را روی مدل‌های بازمتن محلی پیاده کرد.

·نگاه ما
تحریریه دات‌هوش

جایگزینی تست‌های اسکریپتی با عامل‌های استدلالی، مفهوم «سرویس‌دهی» را از بررسی صحت کد به بررسی کیفیت تجربه تغییر می‌دهد. این رویکرد نشان می‌دهد که آینده تست نرم‌افزار نه در نوشتن تست‌کیس‌های بیشتر، بلکه در طراحی «شخصیت‌های مجازی» با سطوح مختلف مهارت و صبوری است.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.