چرا عامل‌های کدنویسی هوش مصنوعی نباید از چت‌باکس استفاده کنند

هر ابزار هوش مصنوعی که باز می‌کنم، شبیه به بقیه است. یک نشانگر چشمک‌زن در یک فیلد متنی است. Claude Code و Codex از همان رابط کاربری‌ای استفاده می‌کنند که ما در سال ۱۹۹۹ برای بات‌های IRC استفاده می‌کردیم.

چت، راهی آسان برای ساختن است. باعث می‌شود دموها خوب به نظر برسند. اما چت فقط یک جایگزین موقت است. هدف واقعی، داشتن یک چت‌باکس بهتر نیست؛ هدف این است که اصلاً چت‌باکسی در کار نباشد.

یک رابط کاربری چت، بارِ کار را دوباره به دوش شما می‌اندازد.

شما باید بدانید چه چیزی بپرسید. باید آن را به خوبی بیان کنید. باید پاراگراف‌های طولانی را بخوانید و آن‌ها را به عمل تبدیل کنید. مدل فکر می‌کند، اما شما باید کارِ رابط کاربری را در ذهن خود انجام دهید.

این یک مشکل برای عامل‌های کدنویسی است. کدنویسی، ماهیتی فضایی و ساختاری دارد. شما با فایل‌ها، تغییرات (diffs) و نمودارهای وابستگی سر و کار دارید. هیچ‌کدام از این‌ها پاراگراف نیستند. تلاش برای درک کد از طریق یک جریان متنی، مثل این است که بخواهید یک نقشه را با گوش دادن به توضیحات تلفنیِ کسی بخوانید.

وقتی یک عامل، تابعی را بازنویسی (refactor) می‌کند و در سه جمله به شما می‌گوید چه چیزی را تغییر داده است، این یعنی تکالیف مدرسه؛ نه کمک.

مدل می‌تواند کد، طرح‌ها (layouts) و کامپوننت‌ها را تولید کند. به جای توصیفِ کار، باید رابط کاربریِ آن کار را تولید کند.

به جای یک خلاصه، یک نمای تغییرات (diff view) همراه با دکمه‌های تایید (accept) و رد (reject) به من بدهید.

به جای پرسیدنِ «چه چیزی این تابع را فراخوانی کرد»، یک نمودار فراخوانی (call graph) که بتوانم روی آن کلیک کنم، به من نشان دهید.

به جای اینکه بعد از دست زدن به دوازده فایل، اعتراف کند چه کرده است، قبل از اجرا، چک‌لیستی از آن فایل‌ها را به من نشان دهید.

رابط کاربری باید خروجیِ سیالِ مدل باشد. رابط کاربری (UI) باید بر اساس وظیفه تغییر کند. باید خود را با تصمیمی که همین حالا باید بگیرید، تطبیق دهد.

بحث بر سر اعتماد است.

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

یک رابط کاربریِ تولیدشده، بازرسیِ کار را آسان می‌کند. تغییرات (diff) دقیقاً همان‌جاست. برنامه دقیقاً همان‌جاست. عامل دیگر نمی‌گوید «به من اعتماد کن»، بلکه می‌گوید «این را در دو ثانیه تأیید کن».

می‌دانم که چت ارزش‌های خود را دارد. زبان، ابزاری برای مدیریت ابهام است. گاهی اوقات کلمات تنها راه برای بیان یک ایده پیچیده هستند.

راه حل، حذف زبان نیست. از زبان به عنوان نقطه ورود و از یک رابط کاربریِ تولیدشده به عنوان پاسخ استفاده کنید.

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

ما سال‌ها وقت صرف کردیم تا محصولات چت بهتری بسازیم. تمرکز ما روی حافظه و سرعت بود، اما همچنان در همان جعبه متن کوچک باقی ماندیم.

جهش واقعی، داشتنِ پاسخی بهتر در جعبه نیست؛ جهش واقعی، از بین رفتنِ خودِ جعبه است. مدل باید دقیقاً همان سطحی را در اختیار شما قرار دهد که برای گرفتن تصمیم بعدی خود به آن نیاز دارید.

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

Source: https://dev.to/nishkarsh_gupta/why-ai-coding-agent-shouldnt-hand-us-a-chat-box-3ccj

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