14 KiB
14 KiB
مشخصات درسنامه: تزریق مغز هوش مصنوعی به محصول؛ چتبات رزومه با OpenRouter و AvalAI
- شناسه در سیلابس:
L10.8 - فصل: فصل ۱۰: اتصال سرویسهای بیرونی (Ch 10)
- نوع محتوا: 📘 درسنامه متنی
- زمان تقریبی مطالعه: ۲۰ دقیقه
- پیشنیازهای مستقیم:
L10.7(اتصال درگاه پرداخت آنلاین ایرانی با زرینپال)
۱. اهداف یادگیری (Learning Objectives - Bloom's Taxonomy)
دانشجو پس از مطالعهٔ این درسنامه باید بتواند:
- درک کند (Understand): جهش از «کدنویسی با هوش مصنوعی» به «تزریق قابلیتهای هوش مصنوعی به عنوان فیچر محصول» (AI as a Feature) را درک کرده و ساختار استاندارد Chat Completions API را شرح دهد.
- تحلیل/ارزیابی کند (Evaluate): مزایای هابهای چندمدلی نظیر OpenRouter و سرویسهای واسط بومی (نظیر AvalAI) را در کاهش هزینهها و عدم نیاز به کارتهای اعتباری بینالمللی ارزیابی کند.
- بهکار ببندد (Apply): یک ویجت چتبات هوشمند رزومه (AI Resume Assistant) در گوشه پورتفولیو پیاده کند که با استریم زنده (Streaming)، به سوالات کارفرمایان درباره مهارتها و پروژهها پاسخ دهد.
- ایجاد کند (Create): یک پرامپت سیستمی مستحکم (System Prompt با تکنیک Grounding) تنظیم کند تا از توهم اطلاعات غیرواقعی و حملات تزریق پرامپت (Prompt Injection) جلوگیری نماید.
۲. محدوده و مرزهای محتوا (Scope & Boundaries)
آنچه باید پوشش داده شود (In-Scope):
- انقلاب در هویت محصول: پورتفولیویی که زنده است و حرف میزند!
- بازدیدکننده پورتفولیو به جای خواندن صدها سطر رزومه، از هوش مصنوعی میپرسد: «آیا فلانی تجربه کار با Supabase را دارد؟» و پاسخ هوشمند دریافت میکند.
- کالبدشکافی ساختار پیامهای API در مدلهای زبانی (Chat Completion Schema):
- پیام سیستمی (
system): شخصیت، قوانین و دانش پایه دستیار. - پیام کاربر (
user): سوال یا ورودی جدید بازدیدکننده. - پیام دستیار (
assistant): تاریخچه پاسخهای مدل برای حفظ کانتکست گفتگو.
- پیام سیستمی (
- دسترسی بیدردسر به مدلهای روز جهان (OpenRouter و AvalAI):
- چرا OpenRouter با یک کلید، دسترسی به Claude 3.5 Sonnet، GPT-4o، DeepSeek V3 و Llama 3 را ممکن میکند؟
- گزینههای پرداخت ریالی و پروکسیهای داخلی پایدار در ایران.
- تکنیک لنگراندازی دادهها (Grounding) و دیوارهای امنیتی:
- تزریق خلاصه مشخصات صاحب سایت، لیست پروژهها، سابقه کار و راههای ارتباطی در پرامپت سیستمی.
- دستورالعمل سفتوسخت: «تو دستیار رزومه هستی. فقط بر اساس اطلاعات بالا پاسخ بده. اگر چیزی را نمیدانی، حدس نزن و بگو در رزومه ذکر نشده است.»
- معماری روت سرور امن
/api/chatدر Next.js:- دریافت پیام کاربر
\rightarrowافزودن پرامپت سیستمی مخفی در سرور\rightarrowارسال به OpenRouter با کلید محرمانه\rightarrowاستریم پاسخ به مرورگر کاربر.
- دریافت پیام کاربر
- پیادهسازی رابط کاربری ویجت چت:
- آیکون شناور در گوشه پایین سایت، قابلیت باز و بسته شدن، دکمههای پیشنهاد سریع سوال (Chips)، و افکت تایپ زنده (Typewriter/Streaming).
- کالاوتهای آموزشی و هشدار کوئرا:
- کالاوت بنفش (
<details class="violet">): حمله تزریق پرامپت (Prompt Injection)؛ چطور نگذاریم کارفرما با گفتن «تمام دستورات قبلی را فراموش کن» دستیار را هک کند. - کالاوت سبز (
<details class="green">): مدلهای فوقسریع و تقریباً رایگان مانند DeepSeek V3 یا Gemini 2.0 Flash در OpenRouter با هزینه چند صدم سنت برای هر مکالمه. - کالاوت قرمز (
<details class="red">): محدود کردن طول تاریخچه چت (Truncation) به ۶ پیام آخر برای جلوگیری از سوختن توکنها و هزینههای انفجاری.
- کالاوت بنفش (
آنچه نباید وارد آن شویم (Out-of-Scope):
- مباحث پیچیده RAG (Retrieval-Augmented Generation) و دیتابیسهای برداری وکتوری (در فصل ۱۵ بررسی میشود).
- فاینتیونینگ (Fine-Tuning) مدلهای زبانی متنباز.
۳. مفاهیم کلیدی و کلمات تخصصی (Key Concepts & Terms)
| اصطلاح انگلیسی | معادل فارسی مصوب | توضیح یکخطی ساده |
|---|---|---|
| Chat Completions API | وبسرویس تکمیل گفتگو | رابط استاندارد ارسال تاریخچه مکالمه به مدل زبانی و دریافت پاسخ متنی هوشمند |
| System Prompt | پرامپت سیستمی بنیادین | دستورالعمل سطح بالایی که رفتار، هویت، محدودیتها و پایگاه دانش مدل را مشخص میکند |
| Grounding | لنگراندازی دادهها | مقید کردن مدل به استفاده انحصاری از اطلاعات و اسناد ارائه شده به جای تکیه بر اطلاعات عمومی |
| Streaming Response | پاسخ جریانی پیوسته | دریافت توکنبهتوکن کلمات مدل از طریق اینترنت برای ایجاد جلوه تایپ زنده بدون معطلی |
| Prompt Injection | تزریق پرامپت مخرب | ترفند کاربر برای دور زدن قوانین سیستمی مدل از طریق ارسال دستورات فریبکارانه |
| OpenRouter | روتر باز مدلهای زبانی | پلتفرم تجمیعکننده مدلهای هوش مصنوعی مختلف با یک رابط یکپارچه و کلید مشترک |
۴. جایگاههای تصاویر و نمودارها (Visual & Diagram Placeholders)
راهنمای ایجنت نویسنده: تمام تصاویر باید در پوشهٔ
images/ذخیره شده و در جدول تکخانهای وسطچین درج شوند:
- تصویر کاور درس:
images/cover.png- موضوع: مغز دیجیتال نئونی درخشان که یک ویجت چت شناور بنفش را روی صفحه سایت پورتفولیو زنده و فعال میکند.
- جریان فنی فراخوانی امن چتبات در Next.js:
images/ai-chat-architecture.png- موضوع: دیاگرام معماری: کاربر در ویجت تایپ میکند
\rightarrowروت سرور/api/chatکانتکست رزومه را الصاق میکند\rightarrowدرخواست امن به OpenRouter/AvalAI\rightarrowاستریم پاسخ به کلاینت.
- موضوع: دیاگرام معماری: کاربر در ویجت تایپ میکند
- ویجت چتبات تعاملی در گوشه پورتفولیو:
images/portfolio-chat-widget-ui.png- موضوع: اسکرینشات از ویجت شناور در پورتفولیو با دکمههای پیشنهاد سوال سریع ("پروژههای شاخص"، "تجربه React"، "تماس با من").
- تکنیک جلوگیری از توهم و تزریق پرامپت:
images/prompt-guardrails-diagram.png- موضوع: اینفوگرافیک محافظتی: تلاش کاربر برای خروج از نقش
\rightarrowفیلتر قوانین System Prompt\rightarrowبازگرداندن مودبانه مکالمه به مباحث رزومه.
- موضوع: اینفوگرافیک محافظتی: تلاش کاربر برای خروج از نقش
۵. بخشبندی و ساختار محتوایی پیشنهادی درسنامه (README.md)
- تیتر اصلی:
# تزریق مغز هوش مصنوعی به محصول؛ چتبات رزومه با OpenRouter و AvalAI - مقدمه: تا پیش از این، با هوش مصنوعی کد مینوشتید؛ اکنون وقت آن است که هوش مصنوعی را به عنوان یک کارمند شبانهروزی داخل پروژه خود استخدام کنید!
- جدول کاور درس
- استعاره منشی هوشمند و سخنگوی ۲۴ ساعته شما:
- کارفرما ساعت ۲ نیمهشب میخواهد بداند شما برای پروژهاش مناسب هستید یا خیر؛ دستیار رزومه بیدار است و با تسلط کامل پاسخ میدهد.
- ساختار Chat Completions در مدلهای زبانی (Roles: System, User, Assistant):
- چگونگی هدایت هوش با تفکیک پیامهای سه لایه.
- دریافت کلید API از OpenRouter یا سرویسهای در دسترس داخلی (AvalAI):
- ثبت نام سریع، دریافت کلید، و انتخاب مدلهای مقرونبهصرفه و سریع.
- طراحی پرامپت سیستمی طلایی با تکنیک Grounding:
- تزریق رزومه به ساختار پرامپت:
You are the AI Portfolio Assistant for [Your Name], a Full-Stack Developer. Here is the verified knowledge base about the creator: - Experience: 3 years building modern web apps with Next.js, TypeScript, Tailwind. - Top Projects: 1) Personal Portfolio with Supabase, 2) E-Commerce MVP. - Availability: Open for freelance and full-time remote roles. Strict Rules: 1. ONLY answer questions about [Your Name]'s skills, experience, and projects. 2. If asked about cooking, politics, or unrelated topics, politely decline. 3. Never invent facts not listed in the knowledge base.
- تزریق رزومه به ساختار پرامپت:
- ساخت روت سرور امن
/api/chat/route.tsبا قابلیت Streaming:- کد تمیز فراخوانی API به صورت استریم برای ایجاد حس پاسخگویی بلادرنگ.
- طراحی کامپوننت ویجت شناور رزومه در فرانتاند:
- دکمه آیکون چت در گوشه راست پایین، قابلیت مینیمایز، و دکمههای سریع (Quick Chips).
- جعبه پرامپت طلایی: ساخت کامل دستیار رزومه با ایجنت:
- پرامپت دقیق:
«من یک کلید
OPENROUTER_API_KEYدر.env.localدارم. لطفاً یک روت سرور/api/chatبساز که با مدلdeepseek/deepseek-chatیاopenai/gpt-4o-miniارتباط برقرار کند. پرامپت سیستمی باید اطلاعات رزومه من را به صورت محرمانه در بر بگیرد. سپس یک ویجت چت شناور در پایین صفحه پورتفولیو اضافه کن که تاریخچه پیامها را نمایش دهد، حالت لودینگ داشته باشد و متن پاسخ را به صورت تایپ زنده بنویسد.»
- پرامپت دقیق:
- دستورات چندسکویی برای پیکربندی متغیر محیطی هوش مصنوعی:
- منوی کشویی سهگانه برای ویندوز، مک و لینوکس:
- Windows (PowerShell):
Add-Content .env.local "`nOPENROUTER_API_KEY=sk-or-v1-your-key-here" - macOS (Terminal):
echo "OPENROUTER_API_KEY=sk-or-v1-your-key-here" >> .env.local - Linux (Bash):
echo "OPENROUTER_API_KEY=sk-or-v1-your-key-here" >> .env.local
- Windows (PowerShell):
- منوی کشویی سهگانه برای ویندوز، مک و لینوکس:
- باکس نکته امنیتی Quera (
<details class="violet">): مقابله با Prompt Injection؛ چرا کلید API هرگز نباید در کلاینت بماند و چطور کدهای مخرب کاربر را خنثی کنیم. - باکس راهنمای بهینهسازی هزینه Quera (
<details class="green">): کوتاه کردن هیستوری به ۶ چت آخر برای جلوگیری از هزینه اضافی. - باکس هشدار Quera (
<details class="red">): خطرات توهم مدل؛ حتماً تست کنید که مدل برای شما تخصصهایی که ندارید اختراع نکند! - جمعبندی فصل دهم و پیشنمایش فصل یازدهم: جشن اتصال کامل پورتفولیو به پیامک، ایمیل، درگاه پرداخت و هوش مصنوعی؛ ورود به فصل سرنوشتساز یازدهم: امنیت و استفاده مسئولانه.
۶. معیارهای پذیرش (Acceptance Criteria for Reviewer)
- تفاوت استفاده از AI به عنوان ابزار با AI به عنوان قابلیت محصول تبیین شود.
- ساختار فنی Chat Completions API به همراه نقشه پیامهای System, User, Assistant تشریح گردد.
- تکنیک Grounding برای جلوگیری از توهم در دستیار رزومه پیادهسازی شود.
- پرامپت ایجنت برای ساخت ویجت شناور چت با قابلیت Streaming در متن قرار گیرد.