کتاب Prompt Engineering in Practice: Design, test, and improve AI prompts (مهندسی پرامپت در عمل: طراحی، آزمایش و بهبود پرامپتهای هوش مصنوعی) نوشته ریچارد دیویس و رافائل فیشر، راهنمایی عملی برای توسعهدهندگان و مهندسان هوش مصنوعی است که میخواهند از نتایج تصادفی و غیرقابلپیشبینی مدلهای زبانی به سیستمهای تولیدی قابلاعتماد و مقیاسپذیر برسند.
در ادامه مقدمهای از کتاب Prompt Engineering in Practice را از زبان نویسنده شرح خواهیم داد.
این کتاب به عنوان یک هدف آغاز شد. ریچارد سال پیش رو را برنامهریزی میکرد و اصلیترین هدفش نوشتن یک کتاب بود.
پایههای کار از قبل چیده شده بود. او سالها بود که سیستمهای هوش مصنوعی میساخت: هوش مصنوعی پزشکی در Intelligent Ultrasound و Tendertec، جستجوی علامت تجاری (Trademark) در اداره مالکیت معنوی، و ترجمه ماشینی در Guildhawk. در کنار اینها، کتابخانهای شامل حدود ۶۰۰ کتاب درباره هوش مصنوعی گردآوری کرده بود که بیشتر آنها را طی هشت سال گذشته خوانده بود. او در حوزه هوش مصنوعی مولد کار میکرد، زمانی که این فناوری هنوز در مرحله پژوهشهای پیشرو (Cutting-edge) قرار داشت؛ بسیار پیش از آنکه ChatGPT و Claude Code آن را وارد کار روزمره مهندسان نرمافزار کنند.
مربیاش، فلیکس هووسپیان، این موضوع را میدانست. دو هفته بعد، در حالی که ریچارد در تعطیلات بود، فلیکس او را به اندی، ویراستار بخش جذب آثار در انتشارات مانینگ (Manning)، معرفی کرد. آن آشنایی به یک دعوت غیرمنتظره تبدیل شد: آیا او حاضر است کتابی درباره مهندسی پرامپت و هوش مصنوعی مدرن بنویسد؟
او پاسخ مثبت داد.
این دعوت به همان دلیلی منطقی به نظر میرسید که شما اکنون کتاب Prompt Engineering in Practice را در دست دارید. در کارهای خودشان، پرامپت معمولاً کمترین میزان مهندسی را در پایگاه کد (Codebase) داشت: یک رشته متنی (String Literal) که آنقدر تغییر داده میشود تا یک نمونه نمایشی (Demo) کار کند، بین سرویسهای مختلف کپی میشود و هیچکس مالکیت آن را بر عهده ندارد. آنها میخواستند درباره یک پرامپت درست مانند یک تابع (Function) یا یک کلاس (Class) صحبت کنند: اینکه نقطه شکست را پیدا کنیم و آن را آگاهانه اصلاح کنیم، نه با روش آزمون و خطا.
این کار به واژگان خاصی نیاز داشت و مهندسی پرامپت هنوز واژگانی که آنها را راضی کند نداشت. بنابراین، مطالب خواندهشده خود را در یک سیستم واحد گرد هم آوردند: عناصر ساختاری که هر پرامپت از آنها تشکیل شده است، و کتابخانهای از الگوهای پرامپت که معادل پرامپتنویسی برای الگوهای طراحی نرمافزار (Design Patterns) هستند.
رافائل بهزودی به عنوان نویسنده همکار به آنها پیوست. او و ریچارد سالها در Guildhawk و Vera شانهبهشانه هم سیستمهای هوش مصنوعی ساخته بودند و رافائل مدتها بود که میخواست درباره هوش مصنوعی بنویسد. او به عنوان یک مهندس هوش مصنوعی مولد دارای مدرک دکترا و سالها تجربه در عرضه محصولات مبتنی بر هوش مصنوعی در سراسر ایالات متحده، اروپا و برزیل، مسئولیت فصلهای کامل را بر عهده گرفت و به شکلگیری کتاب کمک کرد.
حتی در حالی که آنها مشغول نوشتن بودند، این حوزه مدام در حال تحول بود: از پرامپتنویسی مستقیم برای مدلهای زبانی گرفته تا پرامپتنویسی برای ایجنتها (Agents) با استفاده از ابزارها و فراخوانی توابع (Function Calling)، مهارتها، حافظهها و ابزارهای کمکی (Harnesses). آنها این کتاب را برای مهندسان نرمافزاری نوشتند که در جریان این تغییر قرار دارند: کسانی که با ابزارهای کدنویسی ایجنتیک مانند Claude Code و Codex جفت شدهاند، و کسانی که در حال ساخت محصولات روی مدلهای زبانی و ایجنتها هستند.
هر چیزی را که پرامپتنویسی میکنید، اصول طراحی آن یکسان است و بقیه موارد بر روی همین پایه بنا شدهاند. آنها کتاب را مستقل از مدل خاص (Model-agnostic) و بدون نیاز به کدنویسی (No-code) نگه داشتند تا آنچه میآموزید از انتشار مدل بعدی دوام بیشتری داشته باشد. امید آنها این است که تا پایان کتاب Prompt Engineering in Practice، پرامپتها را به همان چیزی که واقعاً هستند ببینید: مصنوعاتی (Artifacts) که عمداً و با هدف طراحی میکنید.
از مطالعه شما سپاسگزاریم.
درباره کتاب Prompt Engineering in Practice
کتاب «مهندسی پرامپت در عمل» (Prompt Engineering in Practice)، مهندسی پرامپت را به عنوان یک «دانش طراحی» در نظر میگیرد، نه مجموعهای از ترفندها که ممکن است سه ماه آینده کار بکنند یا نکنند.
پرامپتها به واسطهای میان کد شما و مدلهای زبانی مانند ChatGPT، Claude و Copilot تبدیل شدهاند. با این حال، بیشتر پرامپتها هنوز با حس و حال نوشته میشوند: کلمه به کلمه تغییر میکنند تا یک خروجی به اندازه کافی خوب به نظر برسد، و سپس زمانی که هیچکس تغییری واضح ایجاد نکرده، در محیط عملیاتی (Production) بیسروصدا خراب میشوند.
هدف کتاب Prompt Engineering in Practice ارائه یک روش سیستماتیک برای طراحی پرامپتهایی است که با مشخصات فنی مطابقت داشته باشند، به شکلی قابل تشخیص شکست بخورند و در طول زمان به طور ایمن بهبود پیدا کنند. برای این کار، کتاب یک سیستم رسمی را از دو نیمه میسازد:
علاوه بر این پایه، قالبها (Templates)، انواع پرامپت، پرامپتنویسی متنی (Contextual Prompting)، نمونهبرداری (Sampling)، امنیت و مدیریت را اضافه میکنیم. تا پایان کار، شما نه تنها مجموعهای از تکنیکها، بلکه واژگان و روشی مشترک خواهید داشت که میتوانید آن را اعمال، بررسی و تدریس کنید.
هر مثال از کارهایی گرفته شده است که مهندسان نرمافزار واقعاً انجام میدهند: توضیحات پول ریکوئست (Pull Request)، تریاژ بررسی کد، خلاصههای حوادث (Incident Summaries)، برنامههای بازسازی کد (Refactor Plans)، امتیازدهی کتابچه راهنما (Runbook Scoring) و ممیزی رباتهای پشتیبان.
چه کسانی باید کتاب Prompt Engineering in Practice را بخوانند؟
این کتاب برای مهندسان نرمافزار و متخصصان فنی نوشته شده است که در حال حاضر از مدلهای زبانی در کار روزمره خود استفاده میکنند و میخواهند از حدس و گمان درباره اینکه چرا پرامپتهایشان گاهی اوقات دچار پسرفت میشوند، دست بردارند. مهندس ارشد (Senior Engineer) را تصور کنید که ویژگی Copilot یا ربات گفتگو را عرضه کرده و به دنبال رویکردی سیستماتیکتر برای طراحی پرامپت است، یا سرپرست تیمی که میخواهد همان دقت مهندسی را که در بقیه بخشهای پشته فناوری (Tech Stack) به کار میبرد، به پرامپتها نیز بیاورد.
برای اینکه بیشترین بهره را از کتاب Prompt Engineering in Practice ببرید، باید با اصول مهندسی نرمافزار مانند APIها، کنترل نسخه (Version Control)، عیبیابی (Debugging) و مباحث موازنهگری (Tradeoffs) راحت باشید. همچنین باید تجربه معمولی در استفاده از محیط گفتگوی چت مانند ChatGPT یا Claude داشته باشید. هیچ پیشزمینه هوش مصنوعی یا یادگیری ماشین لازم نیست.
این کتاب برای افراد زیر مناسب نیست:
-
پژوهشگران یادگیری ماشین
-
مهندسانی که مدلها را آموزش میدهند یا تنظیم دقیق (Fine-tune) میکنند
-
خوانندگانی که به دنبال آموزش فریمورک ایجنت هستند
-
خوانندگانی که به دنبال راهنمای معماری سیستمهای هوش مصنوعی در سطح پروداکشن هستند
این موضوعات متعلق به کتاب دیگری است. کتاب Prompt Engineering in Practice محکم و استوار در حوزه مهندسی پرامپت باقی میماند. جلد همراه آن، یعنی «مهندسی هوش مصنوعی در عمل» (AI Engineering in Practice)، پشته وسیعتر را پوشش میدهد: مدلهای زبانی، ایجنتها، ابزارهای کمکی، مهندسی متن و بقیه اجزای هوش مصنوعی مدرن.
ساختار کتاب Prompt Engineering in Practice: یک نقشه راه
این کتاب دارای یازده فصل در چهار بخش است.
-
بخش ۱ کتاب Prompt Engineering in Practice پرامپتها را به عنوان مصنوعات مهندسیشده قالببندی میکند:
-
بخش ۲ کتاب Prompt Engineering in Practice بلوکهای سازندهای را به شما میدهد که آن چارچوب را به پرامپتهای قابل استفاده مجدد و آماده برای پروداکشن تبدیل میکنند:
-
فصل ۲ شش بخش ساختاری را پوشش میدهد که هر پرامپت اثربخشی از آنها ساخته شده است.
-
فصل ۳ دقت، صراحت و اختصار را به عنوان انتخابهای طراحی آگاهانه در نظر میگیرد.
-
فصل ۴ هشت الگوی بنیادی را برای مشکلات تکرارپذیر پرامپتنویسی ارائه میدهد.
-
فصل ۵ آن الگوها را به پرامپتهای قابل استفاده مجدد و دارای پارامتر تبدیل میکند.
-
فصل ۶ پرامپتهای سیستم را از پرامپتهای کاربر متمایز میکند و نحوه معماری آنها را در برنامههای چت نشان میدهد.
-
بخش ۳ کتاب Prompt Engineering in Practice تکنیکهایی را پوشش میدهد که وقتی یک بار تولید خروجی کافی نیست به سراغ آنها میروید:
-
فصل ۷ یادگیری تکنمونهای (Zero-shot)، چندنمونهای (Few-shot) و درونمتنی (In-context learning) را نه به طور تصادفی، بلکه به شکلی آگاهانه به کار میگیرد.
-
فصل ۸ قابلیت اطمینان را با استفاده از میانگین، مد (Mode)، خود-سازگاری (Self-consistency) و بهترینِ N (Best-of-N) بهبود میبخشد.
-
فصل ۹ زنجیره تفکر (Chain-of-thought)، فراتبار پرامپت (Meta prompting) و ReAct را برای استدلال سطح بالاتر و جریانهای کاری ایجنتیک به کار میگیرد.
-
بخش ۴ کتاب Prompt Engineering in Practice کارهایی است که پس از ورود این پرامپتها به محیط پروداکشن انجام میدهید:
-
فصل ۱۰ با پنج تکنیک مقاومسازی در برابر تزریق پرامپت (Prompt Injection)، دور زدن امنیت (Jailbreaking) و تضاد دستورالعملها دفاع میکند.
-
فصل ۱۱ مدیریت نسخهها، حاکمیت (Governance)، چرخه عمر و همکاری روی یک کتابخانه پرامپت مشترک را پوشش میدهد.
فصلهای ۱ تا ۹ کتاب Prompt Engineering in Practice بر روی یکدیگر بنا شدهاند و بهتر است به ترتیب خوانده شوند. فصلهای ۱۰ و ۱۱ مستقل هستند و هر زمان که دغدغههای محیط پروداکشن برای شما واقعی شد، میتوانید به آنها مراجعه کنید.
بیشتر فصلها با مجموعهای از تمرینهای عملی به پایان میرسند. این تمرینها عمداً برای حل مسئله مستقل طراحی شدهاند، بنابراین پاسخهای نمونهای را ارائه نمیدهیم. هدف این است که به جای تطبیق دادن خود با قضاوت ما، قضاوت خود را درباره طراحی پرامپت بسازید.