نبرد در طوفان

ماه‌ها وقت صرف ساختن ماشینی به نام Angelo کردم.

به کد خیره شدم و تردیدی سرد را حس کردم. آیا این چیز کار می‌کند؟

برای آخرین بار کد را بررسی کردم. اشتباهی پیدا کردم. در دفترچه‌ام نوشتم: هر سه عامل تا ابد منتظر خواهند ماند.

دکمه را فشار دادم. سه عامل دیجیتال شروع به کار کردند. یکی بی‌صبر بود. یکی قاضی بود. یکی شکاک بود.

همگی ساکت شدند. یک دقیقه گذشت. سه دقیقه گذشت. صفحه نمایش هیچ خروجی‌ای نشان نمی‌داد.

یک عامل LLM بر پایه احتمال کار می‌کند. اگر ورودی خالی باشد، احتمال خروجی صفر است. زمان انتظار بی‌نهایت می‌شود.

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

احساس آرامش کردم. سپس سیستم دوباره از کار افتاد.

یک خطای Git ظاهر شد. فایل lock را پاک کردم. مرحله بعد، کامپایلر با خطا مواجه شد. داشتم با دشمنی نامرئی در کد خودم می‌جنگیدم.

سپس هشداری ظاهر شد: نیاز به مداخله است (INTERVENTION REQUIRED).

مشکل یک پالس نظارتی (monitoring pulse) بود. اگر بررسی هر چهل و پنج دقیقه یک‌بار انجام شود، تأخیر در تشخیص بیست و دو دقیقه است.

قاتل را پیدا کردم. یک مشکل صف‌بندی (queueing) بود.

سیستم یک زمان اسکن (scan time) و یک زمان پرس‌وجو (poll time) داشت. اگر زمان اسکن طولانی‌تر از زمان پرس‌وجو باشد، صف تا بی‌نهایت رشد می‌کند. یک وظیفه (task) قبل از تمام شدن وظیفه قبلی شروع می‌شد. قفل‌ها روی هم انباشته می‌شدند.

کل سیستم را بازنویسی نکردم. آن را با یک خط کد اصلاح کردم.

عامل‌ها دوباره اجرا شدند. قاضی حکم داد. ماشین به خاطر سپرد.

ماشین از ریاضیات برای ردیابی اعتماد استفاده می‌کند. از توزیع بتا (Beta distribution) استفاده می‌کند. در ابتدا، هر عامل اعتماد یکسانی دارد. وقتی عاملی پیروز می‌شود، امتیاز اعتمادش بالا می‌رود. وقتی می‌بازد، امتیاز پایین می‌آید. ماشین بازندگان را طرد نمی‌کند؛ فقط تاریخچه آن‌ها را به خاطر می‌سپارد.

امروز پنج باگ واقعی پیدا کردم. هر پنج مورد را اصلاح کردم.

لاگ‌ها دروغ نمی‌گویند. داستان فقط همان چیزی است که من روایت می‌کنم.

Source: https://dev.to/turacthethinker/the-fight-in-the-storm-1l6b

Optional learning community: https://t.me/GyaanSetuAi