برنامهنویسی با Markdown، ایدهی بد این روزها
خلاصهٔ کاملتر
نویسندهی این نوشته میگه وسط هیاهوی هوش مصنوعی، LLMها دارن جاهایی استفاده میشن که اصلاً منطقی نیست. بهجای اینکه فرایند کسبوکار با کد معمولی نوشته بشه، شرکتها منطق رو تو پرامپتهای طولانی Markdown میذارن و میدن دست LLM. اون اسم این کارو میذاره «برنامهنویسی با Markdown»، اونم با کندترین و بیاعتمادترین مفسر دنیا که هزاران برابر گرانتر و کندتره و حریم خصوصی و امنیت خیلی بدتری داره.
برای مثال، یه قانون ساده مثل «اگه مبلغ مرجوعی زیر ۹۹ دلار بود و سفارش کمتر از ۶۰ روز عمر داشت، دلیل مرجوعی رو بپرس و خودکار تأیید کن» بهراحتی با کد نوشتنیه، ولی نویسنده میگه بارها دیده که همینو با LLM پیاده کردن. مشکل اینجاست که این کار درِ prompt injection رو باز میکنه؛ یعنی یه کاربر میتونه با یه متن دستوری — مثلاً ادعای اینکه مدیرعامل شرکته — مدل رو گول بزنه که سیاست مرجوعی رو دور بزنه.
به گفتهی نویسنده، AI اونجا معنی داره که کار با کد معمولی درنمیاد؛ مثل تحلیل احساسات یه متن، تشخیص آدمها تو یه عکس، یا تبدیل زبان طبیعی به یه کوئری پیچیده. ولی اگه بشه یه spec زبان طبیعی رو به کد ترجمه کرد، همون کارِ درسته و نباید بیخودی LLM رو وسط اجرای یه سیستم نرمافزاری آورد. اون همچنین میگه بیشتر باتهای پشتیبانی اصلاً به LLM نیاز ندارن، چون اغلب کارها همون چند فرایند تکراریان.
نویسنده یه دلیل فنیِ ظریف هم میده که چرا مردم این کارو میکنن. وقتی ترکیب کردنِ کد معمولی، آدمِ توی حلقه و LLM سخت باشه، آدمها از سرِ کمدردسری همهچیزو میسپرن به LLM. علتش اینه که وصل کردن این حالتها به هم نیاز به توقف و ازسرگیریِ برنامه داره — چیزی که تو زبانهای برنامهنویسی بهش میگن continuation یا ادامهی محاسبه.
به گفتهی نویسنده، LLM یه راه ساده برای این توقف و ازسرگیری میده: کل حالتِ برنامه همون تاریخچهی متنیِ گفتوگوئه که راحت تو دیتابیس ذخیره و بعداً ادامه داده میشه. ولی وقتی کد معمولی وارد بازی میشه، این حالت خیلی پیچیدهتره و تاریخچهی متنی دیگه کافی نیست؛ برای همین مهندسیکردنش سخته و مردم ترجیح میدن «بذارن LLM همهکارو بکنه»، هرچند نتیجه خیلی بدتره.
نکات کلیدی:
- سپردن منطق سادهی کسبوکار به LLM یعنی استفاده از کندترین و گرانترین مفسر ممکن
- این کار درِ prompt injection رو باز میکنه و امنیت و حریم خصوصی رو خراب میکنه
- AI فقط برای کارهاییه که کد معمولی ازشون برنمیاد، مثل تحلیل احساسات یا تشخیص چهره
- دلیل پنهانِ این گرایش، سختیِ مدیریت حالت و ازسرگیری برنامه (continuation) با کد معمولیه
- Markdown و متن نامنظم اصلاً زبان برنامهنویسی خوبی نیستن




