یادداشت دبیر
این آزمایش یک پروژه رسمی از طرف شرکت Anthropic یا یک معیار علمی برای سنجش توانایی خلبانی هوش مصنوعی نیست. آنچه در ادامه میخوانید، روایت یک تجربه شخصی و غیررسمی است که در محیط شبیهساز پرواز انجام شده؛ آزمایشی برای دیدن اینکه یک مدل زبانی مثل Claude تا چه حد میتواند ابزار بسازد، از خطاهای خود درس بگیرد و در برابر شرایط لحظهای و پیچیده واکنش نشان دهد.
یک برنامهنویس کنجکاو در اقدامی جالب، هوش مصنوعی «کلود» (Claude) را به شبیهساز پرواز متصل کرد تا مهارت آن را در هدایت هواپیما بسنجد. این آزمایش فراتر از یک سرگرمی ساده و نمونهای جذاب برای سنجش توانایی هوش مصنوعی در تصمیمگیری لحظهای، تفکر استراتژیک و مدیریت شرایط پیچیده است؛ شرایطی که در آن هر واکنش دیرهنگام یا تصمیم اشتباه مسیر ماجرا را کاملاً عوض میکند. نتیجه نهایی همزمان خندهدار، کمی دلهرهآور و بهشدت آموزنده بود.
چرا این آزمایش مهم است؟
وقتی درباره هوش مصنوعی صحبت میکنیم، معمولا از تواناییهایش در نوشتن متن، تحلیل داده یا کدنویسی حرف میزنیم؛ اما پرواز دادن هواپیما چیز دیگری است. در آسمان شما با سیالی به نام هوا طرف هستید که مدام تغییر رفتار میدهد. یک خلبان باید بداند چه ابزاری لازم دارد، چه زمانی باید از آن استفاده کند و چطور با شرایط غیرمنتظره کنار بیاید.
حالا تصور کنید بخواهیم این مهارت غریزی و در لحظه را به یک هوش مصنوعی بسپاریم؛ آیا موجودی که در سرورهای ابری زندگی میکند، میتواند در شبیهساز پرواز حرفهای X-Plane 12 یک هواپیمای «سسنا ۱۷۲» را از روی باند بلند کند، در آسمان بچرخاند و به سلامت فرود بیاورد؟
برنامهنویسی که این آزمایش را طراحی کرد میخواست ببیند کلود چطور درباره تواناییهای خودش فکر میکند. آیا میتواند پیشبینی کند که بین لحظه دیدن دادهها و اعمال تغییرات تاخیر وجود دارد؟ آیا ابزارهای لازم را قبل از شروع پرواز آماده میکند یا در حین کار دستپاچه میشود؟
آمادهسازی برای پرواز
در این آزمایش هوش مصنوعی از طریق رابط برنامهنویسی (API) و گرفتن اسکرینشات؛ محیط کابین را درک کرده و با نوشتن کدهای «پایتون» فرامین هواپیما را پیش برد.
کلود اول از همه تصمیم گرفت یک اسکریپت پایتون بنویسد که بتواند هواپیما را از روی باند بلند کند. این تصمیم جالب بود چون هنوز نمیدانست چطور باید هواپیما را هدایت کند یا فرود بیاورد، اما اولویتش این بود که اول بلند شود. شاید منطقی به نظر برسد، اما در واقع نشان میدهد مدل هنوز نمیتواند کل مسیر را از ابتدا تا انتها پیشبینی کند و ابزارهای لازم را از قبل آماده نگه دارد.
کلود رأس ساعت ۱۵:۵۴، روی باند فرودگاه گاز را تا انتها باز کرد. برنامه این بود که در سرعت ۵۵ نات (گره دریایی) دماغه را بالا بکشد و با سرعت ۷۵ نات تا ارتفاع ۴۵۰۰ فوتی صعود کند. هواپیما روی باند شروع به حرکت کرد و پس از ۱۲ ثانیه به زیبایی از زمین کنده شد. ساعت ۱۵:۵۷ کلود گزارش داد: «در هوا هستیم.»
صعودی که به سقوط آزاد ختم شد
هواپیما در حال اوجگیری بود، اما سرعت صعود فراتر از چیزی بود که باید باشد. (حدود ۸۶۱ فوت در دقیقه به جای ۷۰۰ فوت). کلود متوجه این خطا شد و کنترلر تصمیم گرفت آن را اصلاح کند. اما چطور؟ با دادن فرمان کامل به سمت پایین!
یک خلبان خبره در چنین شرایطی، فشار روی فرمان را کمی کم میکند تا دماغه به نرمی پایین بیاید. اما هوش مصنوعی فرمان را با تمام قدرت به جلو هل داد. هواپیما ناگهان شیرجه زد، سرعتش به ۱۲۵ نات رسید، با زاویه ۶۰ درجه به چپ کج شد و کنترل از دست رفت.
چند ثانیه بعد و در ساعت ۱۶:۰۰، هواپیما با سر به زمین کوبیده شد. دلیل سقوط تأخیر در دریافت اطلاعات بود. کلود عکسها و دادههای پرواز را با تأخیر دریافت میکرد و وقتی متوجه میشد هواپیما از مسیر خارج شده، واکنش بیش از حد نشان میداد. مثل رانندهای ناشی که روی یخ سر میخورد و فرمان را با تمام قدرت به یک سمت میچرخاند.
نکته
مشکل این نبود که Claude هیچ تحلیلی از وضعیت نداشت؛ مشکل این بود که کنترلر اولیهاش بیش از حد خشن عمل میکرد و محدودیتهای لازم برای تغییرات ناگهانی فرمان را در نظر نگرفته بود.
درس گرفتن از اشتباهات؛ پرواز با چشمان بازتر
اینجا همان جایی است که تفاوت یک نرمافزار معمولی با هوش مصنوعی مشخص میشود؛ کلود ناامید نشد. او گزارش سقوط خودش را خواند، اشتباهاتش را تحلیل کرد، کدها را بازنویسی کرد و در تلاش سوم یک سیستم کنترل بسیار منطقیتر نوشت.
این بار هواپیما با موفقیت تیکآف کرد و پروازی بسیار پایدارتر از تلاشهای قبلی داشت. سرعت حدود ۸۲ نات بود و کلود حتی توانست گردش به چپ را برای قرار گرفتن در الگوی پروازی انجام دهد؛ هرچند کنترل ارتفاع هنوز کاملاً بینقص نبود. یک مدل زبانی که اساساً برای تولید متن ساخته شده، توانسته بود با آزمون و خطا، منطق اولیهی یک کنترلر ساده را برای وسیلهای پیچیده بسازد.
فرود مرگبار؛ وقتی کمکخلبان چند ثانیه دیر برگشت!
هواپیما در مسیر فرود قرار گرفت، ارتفاع در حال کم شدن بود و سرعت کاهش یافته بود. کلود حتی کدهایش را اصلاح کرد تا اگر سرعت در حین نزول افت کرد، کمی به موتور گاز بدهد. همهچیز برای یک فرود تمیز آماده بود، اما هواپیما ناگهان در فاصله یک و نیم مایلی باند، به زمین برخورد کرد.
دلیل سقوط دوم نقص در منطق کلود نبود، مشکل در ماهیت ابزاری بود که در اختیار داشت. هوش مصنوعی بر اساس اسکرینشاتها و دادههایی که دریافت میکرد تصمیم میگرفت؛ یعنی اول باید وضعیت را میدید، بعد آن را تحلیل میکرد، سپس تصمیم میگرفت و در نهایت فرمان میداد. این چرخه برای کارهای متنی یا تحلیلی کاملاً قابل قبول است، اما برای کنترل یک سامانه بلادرنگ و بهلحظه دردسر درست میکند.
بین هر باری که هوش مصنوعی کدهایش را اجرا میکرد تا اطلاعات جدید را پردازش کند، حدود ۲۰ ثانیه وقفه میافتاد (زمانی که انسانِ ناظر برای ثبت لاگها صرف میکرد). در یکی از همین چرخههای تاخیر هواپیما با آخرین فرمانی که دریافت کرده بود به کاهش ارتفاع ادامه داد تا اینکه به زمین برخورد کرد.
در آخر؛ آیا هوش مصنوعی خلبان خوبی است؟
پاسخ کوتاه به این سوال فعلاً «خیر» است. کلود در این آزمایش نتوانست هواپیما را به سلامت فرود بیاورد، اما اگر عمیقتر نگاه کنیم، این آزمایش یک موفقیت خیرهکننده بود.
هدف از این کار ساختن یک نرمافزار خلبان خودکار (اتوپایلوت) نبود؛ نرمافزارهای امروزی هواپیماها این کار را بسیار بهتر انجام میدهند. هدف، سنجش توانایی استدلال هوش مصنوعی بود. کلود نشان داد که میتواند برای یک کار کاملاً ناشناخته ابزارسازی کند (نوشتن کدهای پایتون)، میتواند خطاهای خودش را در دنیای فیزیکی تحلیل کند و از همه مهمتر برای آینده برنامهریزی کند.
شاید روزی برسد که هوش مصنوعی بتواند در کنار سامانههای تخصصی، بخشی از مدیریت پرواز را هم بر عهده بگیرد؛ اما تا آن روز، بهتر است آن را کمکخلبانی باهوش بدانیم که هنوز در حال آزمون و خطاست، نه جایگزینی برای خلبان یا اتوپایلوتهای حرفهای.
