چک‌لیست آماده‌سازی تیم، فرایندها و زیرساخت برای توسعه با AI

قبل از شروع، یک نکته مهم: هیچ چک‌لیست جهان‌شمولی برای AI-Ready شدن وجود ندارد. ℹ️ اگر حوصله خوندن ندارید، مستقیم برید سراغ آخر متن که نسخه فشرده چک‌لیست رو گذاشتم. برای نوشتن چک‌لیست باید دقت کنیم که حتی چیزی مثل Git که امروز تقریباً بدیهی به نظر می‌رسه، الزاماً برای همه بهترین انتخاب نیست. هنوز … ادامه

لیدرشیپ فنی؛ یک انتخاب در مسیر رشد، یا گذرگاهی اجباری؟

وقتی یک مهندس کارهاش رو خوب انجام می‌ده، قدم بعدی چیه؟ مسئله‌های دشوارتر؟ اختیار بیشتر؟ حقوق بالاتر؟ یا چند نفر که از این به بعد بهش گزارش بدن و مدیر خطابش کنن؟ این انتخاب‌ها گاهی توی سازمان‌ها به هم گره می‌خورن. برای قدردانی از یه متخصص، مدیرش می‌کنیم؛ برای نگه‌داشتنش، یه تیم بهش می‌سپاریم؛ یا … ادامه

Agent-First Development؛ چه کاری رو واگذار می‌کنیم، و از کجا می‌فهمیم می‌ارزه؟

فرض کنید قرارداد سیستم ما اینه که شمارهٔ ورودی 09121234567 رو به شکل استاندارد 989121234567+ تبدیل کنه؛ یعنی شماره رو نرمال کنه. یکی از تست‌های همین رفتار، شکست خورده و از Agent خواستیم مشکل رو درست کنه. نتیجه‌ای که تحویل داده اینه:: بعد از اعمال تغییر توسط Agent، تست سبز شده، ولی دیگه همون چیز … ادامه

Feature Flag؛ از یک if ساده‌، تا چیزی که کسی جرئت حذفش رو نداره!

در حالی‌که یه عده بحث می‌کنن که درد عاشقی بدتره یا درد بی‌پولی، هم‌زمان عده‌ای از لابلای صف دستشویی بهشون پوزخند می‌زنن؛ ولی یه گروه چهارمی هم هستن که یه قابلیت جدید برای نرم‌افزارشون نوشتن، ولی نمی‌دونن چجوری فعال/غیرفعال شدنش رو بدون ریلیز جدید، کنترل کنن! بله، این گروه‌، همون‌هایی هستن که یا feature flag … ادامه

Spec-Driven Development؛ چیزی که قرار نیست AI رو باهوش‌تر کنه!

حکایت است که پیری در رهی، جوانی را خیره به افق یافت که هر از گاهی آهی از نهان برون می‌دمید و تن خویش می‌خاراند! پیر بدو گفت ای جوان، درهمی تو را بخشم تا راهی حمام شوی بلکه کمتر از خارش رنج بَری! اما جوان رو به پیر کرد و گفت: ای پیر خردمند، … ادامه

باگ ۱۶ ساله‌ی SQLite، و شش ماه زمان که Tailscale صرف پیدا کردنش کرد!

Tailscale چیه/کیه؟ Tailscale یک سرویس ایجاد شبکه بر پایه‌ی WireGuard است؛ یعنی شما می‌تونید با استفاده از پروتکل وایرگارد، شبکه دلخواه خودتون رو بسازین و مدیریت کنید. مثلا دستگاه‌های شما را، هرجای دنیا که باشن، توی یک شبکه‌ی مش (mesh) خصوصی به هم وصل بشن؛ بدون درگیر شدن با پیکربندی VPNهای سنتی، فورواردینگ پورت، یا … ادامه

چرا سؤال نداریم؟ بخش سوم: وقتی پاسخ از قبل انتخاب شده

هوش مصنوعی، سوگیری تأییدی و تفاوت پرسیدن برای فهمیدن با پرسیدن برای تأیید توی دو بخش قبلی، دو حالت متفاوت از «سؤال نداشتن» رو بررسی کردم. بخش اول، مسئله این بود که سؤال اصلاً توی ذهن شکل نمی‌گیره. شکاف رو نمی‌بینیم، فکر می‌کنیم پاسخ رو می‌دونیم، تناقض رو نادیده می‌گیریم، یا اون‌قدر سریع از مشاهده … ادامه

چرا سؤال نداریم؟ بخش دوم: سؤال داریم، اما چرا نمی‌پرسیم؟لایه اجتماعی، فرهنگی و قدرت

توی بخش اول از این مجموعه، درباره زمانی صحبت کردم که سؤال اساساً در ذهن ما شکل نمی‌گیره. گفتم که ندونستن، به‌تنهایی سؤال تولید نمی‌کنه. باید بتونیم شکاف بین چیزی که می‌دونیم و چیزی که نمی‌دونیم رو ببینیم، احتمال بدیم پاسخ فعلی‌مون ناقصه و مدتی هم نداشتنِ جواب قطعی رو تحمل کنیم. اما حالا فرض … ادامه

چرا سؤال نداریم؟ بخش اول: چرا سؤال در ذهن ما شکل نمی‌گیره؟ (لایه فردی و شناختی)

چند روز پیش، پای یکی از پست‌های مسعود دانش‌پور عزیز، گفت‌وگوی کوتاهی درباره چراییِ «سؤال نداشتن» آدم‌ها داشتیم. موضوع بحث هم این نبود که چرا پروژه‌ای که مسعود استارت زده کمتر از انتظار سؤال گرفته. بحث بر سر یک برداشت مشترک، و البته بزرگ‌تر بود: چرا آدم‌ها این روزها کمتر کنجکاون و کمتر سؤال دارن؟ … ادامه

انواع Prompt Injection به زبان ساده

همون‌طور که شیوه توسعه نرم‌افزار و نحوه تعامل کاربر با نرم‌افزار بعد از فراگیر شدن مدل‌های زبانی، تغییر کرده، نحوه تهاجم و حملات نرم‌افزاری هم تغییر کرده. یکی از موضوعاتی که باید بهش توجه مضاعفی کنیم، حملات Prompt Injection است که انواعش رو به زبان ساده و با مثال توضیح می‌دم: به زبون ساده، Prompt … ادامه