چرا نوشتن و تبیین هدف، بسیار نزدیکتر از کدنویسی به تفکر است؟ — Writing Is Closer to Thought Than Code
خلاصه
این مقاله استدلال میکند که در عصر هوش مصنوعی، کد منبع دیگر مرجع نهایی حقیقت نیست؛ بلکه وضوح و دقت در بیان ایدهها و خواستهها (از طریق مستنداتی مانند ISA) اهمیت پیدا میکند. هوش مصنوعی در اجرا بینظیر است، بنابراین چالش اصلی مهندسان نه نوشتن کد، بلکه شفافسازی دقیق هدف است.
مقدمه و زمینه بحث
بحثهای زیادی درباره شیوههای توسعه مبتنی بر مشخصات (Spec-Driven Development) در جریان است. برنامهنویسان برجسته و سنتی معمولاً روی خود کد به عنوان اصلیترین خروجی و منبع حقیقت تمرکز میکنند و ابزارها و دستورات دستی زیادی را برای کنترل حلقه توسعه به کار میگیرند. اما دیدگاه جایگزین این است که با قدرتمندتر شدن هوش مصنوعی، تمرکز بر خود کد دیگر یک رویکرد بهینه محسوب نمیشود.
چرا کد منبع حقیقت نیست؟
کد در واقع یک انتزاع و اجرا (Execution) است؛ درست مانند نقاشی که بازنمایی ذهن نقاش است، نه خود تفکر. در هوش مصنوعی مدرن، مشکل اصلی معمولاً در اجرای دستورات نیست، بلکه یک مشکل ارتباطی و تبیین (Articulation) است. نویسندگان نیز با پدیدهای به نام «کوری نویسنده» (Writer's Blindness) روبهرو هستند که در آن فرد فکر میکند منظورش را کاملاً منتقل کرده است، اما خروجی با تصور ذهنیاش تفاوت دارد.
- دقت (Accuracy) در برابر صحت جزئیات (Precision): کد ممکن است دقت بالایی در جزئیات فنی داشته باشد، اما لزوماً منطبق بر هدف اصلی نیست. در ساخت نرمافزار با هوش مصنوعی، «دقت در هدف» بسیار مهمتر از ریزهکاریهای پیادهسازی است.
راهکار: ابزار Ideal State Artifact یا همان ISA
برای حل این چالش، ساختاری به نام Ideal State Artifact پیشنهاد میشود که جایگزین چرخیدن بیپایان به دور کد میشود. این سند شامل بخشهای زیر است:
- وضعیت ایدهآل (Ideal State): توصیفی نثری و عمیق از آنچه واقعاً قرار است ساخته شود.
- محدودیتها (Constraints): مواردی که نباید ساخته شوند.
- تصمیمات (Decisions): ثبت تغییرات و چرایی آنها در طول مسیر، به جای اینکه تصمیمات در کدهای نامعلوم گم شوند.
- معیارهای حالت ایدهآل (ISCs): قطعات اتمی و قابل تستی که هم به عنوان راهنمای ساخت و هم به عنوان ابزار ارزیابی (Eval) عمل میکنند.
نگاه جامعه هکرنیوز به این ایده
بحث پیرامون این مقاله در Hacker News بسیار داغ بود و دیدگاههای متفاوتی را مطرح کرد:
- برخی کاربران اشاره کردند که تفکر افراد متفاوت است؛ برای برخی زبان نوشتاری به تفکر نزدیکتر است و برای برخی دیگر کد یا ریاضیات.
- منتقدان پرسیدهاند چرا به جای یک فرمت جدید، از روشهای استانداردتری مانند Gherkin (
Given/When/Then) استفاده نشود. - دیدگاهی دیگر هشدار میدهد که یک مشخصات کامل نیز در عمل تفاوتی با کد ندارد، زیرا هیچوقت نمیتوان تمام مشکلات واقعیت را پیشبینی کرد و کد به ناچار حامل جزئیات پنهان است.
چرا این موضوع برای مهندسان نرمافزار اهمیت دارد؟
با توجه به درس تلخ ریچارد ساتون (The Bitter Lesson)، هرچه هوش مصنوعی باهوشتر میشود، بیشتر میتواند خواستههای ما را به بهترین شکل اجرا کند. پافشاری بیش از حد روی شیوههای قدیمی توسعه و درگیر شدن با جزئیات کدهای روزمره، انرژی مهندسان را در جای اشتباهی صرف میکند. در آینده نزدیک، مهندسی نرمافزار بیشتر درباره شفافیت در بیان هدف و کمتر درباره مدیریت دستی خطوط کد خواهد بود.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل