کد صریح: زبان مشترک انسانها و هوش مصنوعی
خلاصهٔ کاملتر
نوشتن کد خوب فقط به معنای کد زیبا یا روان نیست — سیستم باید صریح باشه. مرزها، حالتها، مسئولیتها و قراردادها باید در خود کد دیده بشن، نه فقط در ذهن اعضای تیم. این حرف ساده به نظر میرسه، ولی در عصری که انسانها و ایجنتهای هوش مصنوعی با هم کد تولید میکنن، اهمیتی اساسی پیدا کرده.
ضمنی بودن سالهاست که ابزار سرعت بوده: یه فایل در جای درست بهطور خودکار route میشه، یه تابع با اسم خاص توسط ابزار شناخته میشه، یه convention جای configuration رو میگیره. اینها در تیمهای باتجربه و باثبات جواب میدن — چون دانش مشترک از طریق code review، صحبتهای روزانه و آشنایی با پروژه منتقل میشه. مشکل اینجاست که این اشتراک دانش دیگه تضمینی نیست.
یه LLM یه ماشین احتمالاتیه. ادامهای محتمل تولید میکنه، نه لزوماً ادامهای که با مفاهیم پنهان سیستم همخوانی داره. اگه سیستم روی دانش ضمنی تکیه کنه، ایجنت مجبوره بیشتر حدس بزنه — و هر چی بیشتر حدس بزنه، احتمال drift بیشتره. برعکس، هر چقدر مفاهیم در کد صریح باشن، کمتر نیاز به حدس زدن هست.
یه مثال خوب، مدلسازی حالتهای یه سیستمه. وقتی حالتهای ممکن رو به شکل صریح تعریف میکنیم، هم انسان هم ایجنت دقیقاً میدونن با چی طرفن:
type RecorderState =
| { type: "idle" }
| { type: "recording"; sessionId: string }
| { type: "paused"; sessionId: string }
| { type: "error"; reason: string };جالب اینجاست که این فرم مفهومی در زبانهای مختلف — Rust، Swift، Kotlin — هم وجود داره و شبیه همه. این یعنی قابلیت انتقال شناختی: وقتی کد صریحه، نهتنها خواندنش راحتتره، بلکه مستقل از زبان و فریمورک قابل درکه. ضمنیها اما اغلب به یه فریمورک خاص، یه convention محلی یا یه نسخه از ابزار وابستهان و به سختی جابهجا میشن.
نتیجه اینه که در دنیایی که تولیدکنندگان کد به یه شکل فکر نمیکنن، صریح بودن یه شرط هماهنگیه — نه یه انتخاب سلیقهای. کد صریح زبان مشترکیه که اجازه میده انسانها و ایجنتها روی یه سیستم کار کنن بدون اینکه هر بار مجبور باشن پیشفرضهای پنهان رو از نو کشف کنن.
نکات کلیدی:
- کدهای ضمنی در تیمهای باثبات کار میکنن، ولی با ورود ایجنتهای AI دیگه قابل اتکا نیستن
- LLM یه ماشین احتمالاتیه؛ هر چی کد صریحتر باشه، کمتر حدس میزنه و drift کمتری ایجاد میشه
- مدلسازی صریح حالتها (مثل discriminated union) فرمی مفهومیه که در زبانهای مختلف قابل شناساییه
- صریح بودن «قابلیت انتقال شناختی» ایجاد میکنه: کد فارغ از زبان و فریمورک قابل درکه
- در دنیای چندعاملی، صریح بودن یه شرط هماهنگیه، نه یه انتخاب زیباشناختی




