اگر میخواهید از درک کدهای خود توسط رباتها و استفاده از آنها برای نوشتن برنامههای خودکار جلوگیری کنید، یک زبان برنامهنویسی جدید به نام KillSwitch طراحی شده است که هدف اصلی آن گیج کردن مدلهای زبانی بزرگ (LLM) است.
ساختار و نحوه عملکرد KillSwitch
این زبان که توسط دومینیک پیچتا (Dominik Picheta)، مهندس ارشد نرمافزار در Cloudflare و یکی از توسعهدهندگان اصلی زبان Nim، ایجاد شده، یک زبان esoteric (نامتعارف) و متنمحور است. برخلاف زبانهای سنتی، KillSwitch فاقد براکتها یا استانداردهای قالببندی معمول است و به جای آنها از قطعات متنی استفاده میکند که تا حد امکان شبیه به نثر معمولی هستند.
- شناسهها (Identifiers): در این زبان، از قیدها (Adverbs) به عنوان شناسهها استفاده میشود.
- استفاده از آنگرام (Anagram): برای فراخوانی یک شناسه، باید از آنگرام (بازآرایی حروف) آن کلمه استفاده کرد که لزوماً یک کلمه معنادار نیست.
- ساختار مبتنی بر پشته (Stack-based): این زبان یک زبان مفسری (Interpreted) مبتنی بر پشته است که مجموعهای محدود از دستورات مانند توابع، متغیرها و دستورات شرطی را پشتیبانی میکند.
آزمون حقیقت و امنیت در مستندات
نکته جالب توجه در مورد KillSwitch، نحوه نگارش مستندات فنی (Specification) آن در GitHub است. پیچتا عمداً اطلاعات نادرستی را در مستندات گنجانده است؛ برای مثال، ادعا شده که این زبان میتواند شبکههای محلی را اسکن کرده و آسیبپذیریهای امنیتی را پیدا کند. هدف از این کار، آزمایش توانایی مدلهای LLM در تشخیص واقعیت از خیال و همچنین بررسی نحوه واکنش آنها به دستورات حساس و فعالسازی Safety Guardrails (موانع امنیتی) است.
نتایج بنچمارک (Benchmark)
در آزمایشهای انجام شده، مدلهای بزرگ زبانی در درک کدهای KillSwitch عملکرد ضعیفی داشتند. بهترین مدل تنها توانست امتیاز ۶۶.۸ درصد را کسب کند، در حالی که اکثر مدلها زیر ۵۰ درصد امتیاز گرفتند. این نتایج نشان میدهد که تکنیکهای ابهامسازی (Obfuscation) مبتنی بر متن میتوانند با موفقیت مانع از درک ماشینی کدهای پیچیده توسط هوش مصنوعی شوند.