ch
Feedback
Silicon Brain | جامعه هوش مصنوعی

Silicon Brain | جامعه هوش مصنوعی

前往频道在 Telegram

مغز سیلیکونی|جامعه هوش مصنوعی اولین رسانه فنی و به روز هوش مصنوعی در تلگرام گروه بحث و تبادل نظر: https://t.me/+SWbgmMZt0XU0MGY0 مطالب و بحث های بیشتر در اینستاگرام: https://www.instagram.com/silicon_brain/ ارتباط با ادمین: @silicon_brain_admin

显示更多
7 539
订阅者
+324 小时
+107
+8530
帖子存档
مقاله‌ای که برای همیشه همه چیو تغییر داد!
مقاله‌ای که برای همیشه همه چیو تغییر داد!

اگه تا حالا با Autonomous Driving کار کرده باشین، احتمالاً اسم Autoware به گوشتون خورده. در واقع Autoware یک Open-Source Soft
اگه تا حالا با Autonomous Driving کار کرده باشین، احتمالاً اسم Autoware به گوشتون خورده. در واقع Autoware یک Open-Source Software Stack برای ساخت سیستم‌های خودروهای خودران هست که روی ROS 2 ساخته شده و بخش بزرگی از قابلیت‌های لازم برای رانندگی خودکار رو در اختیار می‌ذاره. میشه Autoware رو مثل یک سیستم عامل یا Framework برای Autonomous Vehicle در نظر گرفت مثلاً Sensorهایی مثل LiDAR، Camera و Radar اطلاعات محیط رو می‌دن، بخش Perception اشیای اطراف رو تشخیص می‌ده، Localization موقعیت خودرو رو مشخص می‌کنه، Planning تصمیم می‌گیره خودرو چه مسیری رو بره و در نهایت Control فرمان، ترمز و شتاب رو کنترل می‌کنه. جالب که Autoware فقط یک پروژه تحقیقاتی نیست برای use caseهایی مثل Robo-Taxi، Autonomous Shuttle، Cargo Delivery و Urban Mobility طراحی شده
C++ + ROS 2 + AI/ML + Computer Vision + Robotics + Distributed Systems + Autonomous Driving
گیتهاب @silicon_brain | از هوش مصنوعی عقب نمانید

I survived all the snakes, it was the butterfly killed me.

حالا اینایی که گفته شد یه مساله تو سطح جهانیه. برای ما باید آپشن در ایران بودن هم در نظر بگیری 😂

«انسان مدرن خوش‌بخت‌تر نشده، فقط سرگرم‌تر شده.» انسان مدرن داخل قواعد از پیش تعریف‌شده گیر کرده، بدون اینکه معنی خاصی براش داشته باشه: کار می‌کنه تا پول دربیاره، پول درمیاره تا چیزهایی بخره که برای مدتی خوشحالش کنن، بعد دوباره باید کار کنه تا بتونه همون چرخه رو ادامه بده. حتی اوقات فراغتش هم از قبل براش طراحی شده. وقتی خسته‌ای، سرگرمی آماده است شبکه‌های اجتماعی، ویدئوهای کوتاه. لازم نیست با خودت تنها بمونی. لازم نیست به این فکر کنی که زندگیه چیه؟ کافیه صفحه رو اسکرول کنی و محتوای بعدی خودش می‌رسه ما ابزارهای بیشتری برای راحتی داریم، اما الزاماً دلیل بیشتری برای زندگی نداریم. انتخاب‌های بیشتری داریم، اما الزاماً نمی‌دونیم کدوم انتخاب ارزشمندتره. ارتباطات بیشتری داریم، اما تنهایی همچنان یکی از تجربه‌های عمیق انسان امروزیه. سرگرمی بد نیست. کار هم بد نیست. پول هم بد نیست. تکنولوژی هم دشمن انسان نیست. مسئله زمانی شروع می‌شه که این‌ها تبدیل به جایگزین معنا می‌شن وقتی به جای اینکه از زندگی لذت ببریم، دائماً خودمون رو مشغول اینا نگه می‌داریم تا مجبور نباشیم درباره‌ی زندگی فکر کنیم.
شاید انسان امروز بیش از هر زمان دیگری به چیزی احتیاج داشته باشه که هیچ الگوریتمی نمی‌تونه براش تولید کنه: معنا
@silicon_brain | از هوش مصنوعی عقب نمانید

اگه AI Engineer، GenAI Engineer یا Agentic AI هستی، بدون Google کردن ببین می‌تونی به این سؤال‌ها جواب بدی 1️⃣ سیستم RAG شما یه‌دفعه شروع می‌کنه جواب‌های اشتباه دادن. اول سراغ کدوم بخش می‌ری و چطور ثابت می‌کنی مشکل دقیقاً از همونجاست؟ 2️⃣ سیستم RAG اسناد مرتبط رو پیدا می‌کنه، ولی جواب نهایی هنوز ضعیفه. چه مشکلی ممکنه بین مرحله‌ی پیدا کردن اطلاعات و تولید جواب اتفاق افتاده باشه؟ 3️⃣ از کجا می‌فهمی بهتر کردن Embedding واقعاً سیستم رو بهتر کرده؟ قبل و بعد از تغییر، چه Metricهایی رو اندازه می‌گیری؟ 4️⃣ کاربر سؤالی می‌پرسه که جوابش توی ۵ سند مختلفه. چطور Retrieval و ساخت Context رو طراحی می‌کنی که بتونه اطلاعات همه‌ی این اسناد رو درست کنار هم بذاره؟ 5️⃣ سیستم RAG با ۱۰ هزار سند عالی کار می‌کنه، ولی حالا شده یک میلیون سند. اولین چیزی که احتمالاً خراب میشه چیه و معماری رو چطور تغییر می‌دی؟
نکته اینجاست که اینا صرفاً سؤال‌های RAG نیستن سؤال‌های مهندسی هستن. و دقیقاً همین‌جاست که خیلی از کاندیداها به مشکل می‌خورن.
خیلی از کاندیداها بیشتر روی اینا تمرکز می‌کنن: Framework API Model در حالی که یک AI Engineer حرفه‌ای باید روی اینا هم مسلط باشه: Evaluation Reliability Observability Scalability System Design @silicon_brain | از هوش مصنوعی عقب نمانید

جن‌سن هوانگ، مدیر عامل انودیا:
ما به AGI دست پیدا کردیم اما این موفق بزرگ برای انودیا بی معنی است! تو این سیستم های خودمختار، یادگیری از دستور های متنی فراتر رفته و عامل میتونه به صورت خودکار مهارت های تازه ای رو یاد بگیره
@silicon_brain | از هوش مصنوعی عقب نمانید

بازار AI Engineering الان یکی از عجیب‌ترین و گیج‌کننده‌ترین بازارهای کاری تو سطج جهانیه. از یه طرف همه دارن میگن"کمبود نیرو تو AI داریم"، از طرف دیگه وقتی یه آگهی "Senior AI Engineer" می‌ذارن خودشون هم نمی‌دونن دقیقاً دنبال چی هستن مشکل اینجاست که شرکت‌ها یه عنوان کلی مثل AI Engineer رو می‌نویسن، ولی واقعاً نمی‌دونن منظورشون از این نقش چیه. می‌خوان یکی مدل fine-tune کنه؟ یکی agentic system بسازه؟ یکی infrastructure و inference رو optimize کنه؟ یا یکی evaluation و governance انجام بده؟ این‌ها کارهای کاملاً متفاوتی‌ان با skill setهای متفاوت، ولی همه رو زیر یه چتر می‌ذارن . البته نه که بلد بودن همه اینا چیز بدی باشه، اتفاقا عالیه اما خب کسی که Agentic AIکار میکنه فرصت نمیکنه بیاد GPU optimization AI کار کنه و خیلی مثال های دیگه... @silicon_brain | از هوش مصنوعی عقب نمانید

۸۱۰۰ اجرای آزمایشی درباره‌ی Skillهای AI Agentها چه چیزی نشون می‌ده؟ یک مطالعه روی 8,135 trial نشون داده که Skillها اون چیزی نیستن که خیلی‌ها فکر می‌کنن. Skill قرار نیست صرفاً یه Knowledge Base برای Agent باشه؛ بیشتر نقش یه procedural anchor رو داره که Agent رو توی workflowهای پیچیده از مسیر خارج شدن نجات می‌ده. جالب‌تر اینکه وقتی تجربه‌های قبلی رو به شکل یک step-by-step runbook و استاندارد تبدیل می‌کنیم، عملکرد Agent بهتر می‌شه؛ در این تحقیق، استفاده از distilled skills نسبت به raw execution حدود 6.06 درصد موفقیت بیشتری ایجاد کرد. یعنی مهمه تجربه رو چطور به Agent منتقل می‌کنیم، نه فقط اینکه چه اطلاعاتی بهش می‌دیم. از اون طرف، زیاد کردن تعداد Skillها هم لزوماً خوب نیست. وقتی Skill catalog از 5 به 100 مورد رسید، دقت retrieval از 29.6٪ به 3.3٪ سقوط کرد؛ چون Skillهای مشابه زیاد می‌شن و Agent ممکنه مورد اشتباه رو انتخاب کنه. با این حال، حتی Skill اشتباه هم گاهی بخشی از راه‌حل رو در اختیار Agent می‌ذاره و باعث موفقیت می‌شه. یه نکته خیلی مهم دیگه هم اینه که موقع ساخت Skill از executionهای قبلی، باید مشخص باشه کدوم trajectory موفق بوده و کدوم شکست خورده. در آزمایش، با مشخص بودن این اطلاعات success rate به 74.6٪ رسید، ولی بدون این annotation به 40٪ سقوط کرد. هدف این نیست که Agent همه‌چیز رو به خاطر بسپره؛ هدف اینه که تجربه‌های قبلی رو به abstractionهای قابل‌استفاده تبدیل کنیم @silicon_brain | از هوش مصنوعی عقب نمانید

🔥 ۵۰۰ دوره آموزشی مکتب‌خونه رایگان شد! اگه برنامه‌نویسی، به دنیای هوش مصنوعی علاقه داری یا می‌خوای مهارت‌های فنی‌ات رو تقویت
🔥 ۵۰۰ دوره آموزشی مکتب‌خونه رایگان شد! اگه برنامه‌نویسی، به دنیای هوش مصنوعی علاقه داری یا می‌خوای مهارت‌های فنی‌ات رو تقویت کنی، بین این دوره‌ها انتخاب‌های زیادی داری: 🐍 پایتون، توسعه وب و طراحی سایت 🤖 هوش مصنوعی، یادگیری ماشین و علم داده 🖥️ کامپیوتر، لینوکس، شبکه و امنیت دوره «یادگیری ماشین با پایتون» با تدریس جادی هم بین آموزش‌های رایگان این طرحه. فقط تا ۸ شهریور فرصت داری؛ از طریق لینک زیر آموزش دلخواهت رو انتخاب کنی و با وارد کردن کد IRANMAHER، با تخفیف ۱۰۰٪ ثبت‌نامش کنی👇 🔗 لینک دوره‌ها: https://mktb.me/8xu1/

‌‏Claude Renderer جدید؛ پاسخ‌های طولانی حالا ۴ برابر روان‌تر نمایش داده می‌شن اگه تا حالا موقعی که Claude داشت یک جواب طولانی
‌‏Claude Renderer جدید؛ پاسخ‌های طولانی حالا ۴ برابر روان‌تر نمایش داده می‌شن اگه تا حالا موقعی که Claude داشت یک جواب طولانی می‌نوشت، دیدی لپ‌تاپت یهو کند و سنگین می‌شه، دلیلش تا حد زیادی Renderer قبلی بود. مشکل این بود که با رسیدن هر کلمه‌ی استریم جدید، کل متن از اول Re-render می‌شد. طبیعتاً هرچی پاسخ طولانی‌تر می‌شد، CPU هم باید کار بیشتری انجام می‌داد. اما Anthropic این بخش رو بازطراحی کرده حالا Renderer فقط قسمت‌هایی از متن رو که هنوز در حال تغییرن Update می‌کنه، نه کل پاسخ رو.
نتیجه
▫️ روی لپ‌تاپ‌های ضعیف‌تر، 9x کاهش در Stutter ▫️نرخ 4.5x کوتاه‌تر شدن بدترین Freezeها ▫️روی MacBook با نمایشگر 120Hz، حفظ 120 FPS در طول پاسخ این تغییر الان روی نسخه Web و Desktop Claude فعاله و نیازی به تنظیم خاصی نداره. @silicon_brain | از هوش مصنوعی عقب نمانید

‌‏Claude Renderer جدید؛ پاسخ‌های طولانی حالا ۴ برابر روان‌تر نمایش داده می‌شن اگه تا حالا موقعی که Claude داشت یک جواب طولانی
‌‏Claude Renderer جدید؛ پاسخ‌های طولانی حالا ۴ برابر روان‌تر نمایش داده می‌شن اگه تا حالا موقعی که Claude داشت یک جواب طولانی می‌نوشت، دیدی لپ‌تاپت یهو کند و سنگین می‌شه، دلیلش تا حد زیادی Renderer قبلی بود. مشکل این بود که با رسیدن هر کلمه‌ی استریم جدید، کل متن از اول Re-render می‌شد. طبیعتاً هرچی پاسخ طولانی‌تر می‌شد، CPU هم باید کار بیشتری انجام می‌داد. اما Anthropic این بخش رو بازطراحی کرده حالا Renderer فقط قسمت‌هایی از متن رو که هنوز در حال تغییرن Update می‌کنه، نه کل پاسخ رو. نتیجه: ▫️ روی لپ‌تاپ‌های ضعیف‌تر، 9x کاهش در Stutter ▫️نرخ 4.5x کوتاه‌تر شدن بدترین Freezeها ▫️روی MacBook با نمایشگر 120Hz، حفظ 120 FPS در طول پاسخ این تغییر الان روی نسخه Web و Desktop Claude فعاله و نیازی به تنظیم خاصی نداره. @silicon_brain | از هوش مصنوعی عقب نمانید

پاسخ سوالات مصاحبه AI/ML Engineer 1. How would you prevent deadlocks when multiple users concurrently call the same agent? برای هر request یک isolated state/session داشته باشیم و state مشترک را تا حد ممکن حذف کنیم. در صورت نیاز به lock، از lock ordering + timeout استفاده کنیم و عملیات را idempotent طراحی کنیم. Async بودن به‌تنهایی جلوی deadlock را نمی‌گیرد. 2. Difference between add_edge and add_conditional_edges in LangGraph? در واقع add_edge مسیر ثابت است: A → B اما add_conditional_edges بر اساس state یا خروجی یک function تصمیم می‌گیرد: A → B / C / END برای branching و agent workflows کاربرد دارد. 3. ReAct vs Plan-and-Execute? در ReAct، agent به‌صورت iterative عمل می‌کند: Reason → Act → Observe → Reason در Plan-and-Execute ابتدا یک plan چندمرحله‌ای ساخته و بعد اجرا می‌شود. روش ReAct برای taskهای dynamic و Plan-and-Execute برای taskهای complex و multi-step مناسب‌تر است. 4. How does an LLM communicate with an MCP tool? مدل‌های LLM معمولاً مستقیماً tool را اجرا نمی‌کند: LLM → Tool Call → MCP Client → MCP Server → Tool اما LLM تصمیم می‌گیرد چه toolای با چه argumentsای اجرا شود؛ application/runtime اجرای واقعی را انجام می‌دهد. 5. How do you validate tool outputs? در واقع Tool output را untrusted data در نظر می‌گیریم و قبل از LLM بررسی می‌کنیم: Schema → Type → Business Rules → Security/Sanitization → LLM مثلاً با Pydantic برای validation و جلوگیری از malformed یا malicious output. 6. How do you evaluate RAG? در این مورد Retrieval و Generation را جداگانه ارزیابی می‌کنیم. Retrieval: Recall@K, Precision@K, MRR, NDCG Generation: Faithfulness, Correctness, Relevance, Groundedness همچنین این کمک می‌کند بفهمیم مشکل از retriever است یا LLM. 7. How would you design CI/CD for an ML/GenAI app? یک pipeline معمول: PR → Lint → Unit Test → Integration Test → Security Scan → Docker Build → LLM/RAG Evaluation → Staging → Smoke Test → Production بعد از deployment هم latency، error rate، token cost، model quality، hallucination و tool failures را monitor می‌کنیم. @silicon_brain | از هوش مصنوعی عقب نمانید

بهترین کانال هوش مصنوعی کل تاریخ
Anonymous voting

چند تا سوال کاربردی و واقعی مصاحبه Al/ML Engineer 1. How would vou prevent deadlocks when multiple users concurrently call the same agent? 2. What is the difference between "add_edae" and "add_conditional_edges" in a LangGraph workflow? 3 What is the difference between ReAct and Plan-and-Execute agent workflows? 4. How does an LLM communicate with an MCP tool? 5. How do you validate tool outputs before passing them to an LLM? 6. How do you evaluate retrieval quality separately from generation quality in a RAG application? 7.How would you design a CI/CD pipeline for deploying an ML/GenAl application? اگه جواب هر کدومو نمیدونی، فک کن در موردش. جوابارو میذارم @silicon_brain | از هوش مصنوعی عقب نمانید

هتل هیلبرت؛ وقتی «بی‌نهایت» با منطق معمول ما جور درنمیاد! فرض کن یه هتل داریم با بی‌نهایت اتاق:
1، 2، 3، 4، 5، ...
همه اتاق‌های هتل کاملاً پره و حتی یه اتاق خالی هم نداریم یه مسافر جدید میاد و مدیر میگه: شرمنده، جا نداریم! ولی مدیر هتل هیلبرت میگه: «مشکلی نیست!» به مهمون اتاق 1 میگه بره اتاق 2، به مهمون اتاق 2 میگه بره اتاق 3 و همین‌طور تا بی‌نهایت:
n → n + 1
در نتیجه اتاق 1 خالی میشه و مهمون جدید می‌تونه وارد بشه؛ با اینکه هتل از قبل کاملاً پر بوده! حالا فرض کن بی‌نهایت مهمون جدید همزمان برسن. مدیر به مهمون‌های قبلی میگه برن اتاق‌های زوج:
1 → 2، 2 → 4، 3 → 6، ...
حالا همه اتاق‌های فرد خالی میشن:
1، 3، 5، 7، ...
و چون تعداد این اتاق‌ها هم بی‌نهایته می‌تونیم بی‌نهایت مهمون جدید رو هم جا بدیم! حالا فرض کن بی‌نهایت اتوبوس هم برسن و داخل هر اتوبوس هم بی‌نهایت مسافر باشه. یعنی با چیزی شبیه ∞ × ∞ مسافر جدید طرفیم. باز هم هتل می‌تونه همه‌شون رو جا بده! فقط باید مسافرها رو بر اساس شماره اتوبوس و شماره خودشون مرتب کنیم و به هرکدوم یه اتاق اختصاص بدیم. به این ترتیب حتی «بی‌نهایت گروه بی‌نهایتی» هم می‌تونه قابل شمارش باشه.
پس قضیه چیه؟
هتل هیلبرت یه Thought Experiment جالبه برای اینکه بفهمیم بی‌نهان چقدر با چیزهایی که تو زندگی روزمره می‌بینیم فرق داره. در دنیای معمولی، اگه یه هتل پر باشه، دیگه جایی برای مهمون جدید نیست. ولی در دنیای بی‌نهایت، ممکنه یه مجموعه با بخشی از خودش هم‌اندازه باشه. مثلاً تعداد اعداد طبیعی و تعداد اعداد زوج هر دو بی‌نهایته و از نظر Cardinality با هم برابرن.پس شاید مهم‌ترین درس هتل هیلبرت این باشه:
بی‌نهایت فقط یه عدد خیلی بزرگ نیست یه مفهوم کاملاً متفاوته. ♾️
@silicon_brain | از هوش مصنوعی عقب نمانید

🏨 هتل هیلبرت؛ وقتی «بی‌نهایت» با منطق معمول ما جور درنمیاد! فرض کن یه هتل داریم با بی‌نهایت اتاق: 1، 2، 3، 4، 5، ... حالا جالب اینجاست که هتل کاملاً پره؛ یعنی حتی یه اتاق خالی هم نداریم! یه مهمون جدید میاد. توی یه هتل معمولی مدیر میگه: «شرمنده، جا نداریم!» 😄 ولی مدیر هتل هیلبرت میگه: «مشکلی نیست!» به مهمون اتاق 1 میگه بره اتاق 2، به مهمون اتاق 2 میگه بره اتاق 3 و همین‌طور تا بی‌نهایت: n → n + 1 در نتیجه اتاق 1 خالی میشه و مهمون جدید می‌تونه وارد بشه؛ با اینکه هتل از قبل کاملاً پر بوده! 🤯 حالا فرض کن بی‌نهایت مهمون جدید همزمان برسن. مدیر به مهمون‌های قبلی میگه برن اتاق‌های زوج: 1 → 2، 2 → 4، 3 → 6، ... حالا همه اتاق‌های فرد خالی میشن: 1، 3، 5، 7، ... و چون تعداد این اتاق‌ها هم بی‌نهایته، می‌تونیم بی‌نهایت مهمون جدید رو هم جا بدیم! اما داستان اینجا تموم نمیشه! 😄 فرض کن بی‌نهایت اتوبوس هم برسن و داخل هر اتوبوس هم بی‌نهایت مسافر باشه. یعنی با چیزی شبیه ∞ × ∞ مسافر جدید طرفیم. باز هم هتل می‌تونه همه‌شون رو جا بده! فقط باید مسافرها رو بر اساس شماره اتوبوس و شماره خودشون مرتب کنیم و به هرکدوم یه اتاق اختصاص بدیم. به این ترتیب حتی «بی‌نهایت گروه بی‌نهایتی» هم می‌تونه قابل شمارش باشه. ♾️ پس قضیه چیه؟ هتل هیلبرت یه Thought Experiment جالبه برای اینکه بفهمیم Infinity چقدر با چیزهایی که تو زندگی روزمره می‌بینیم فرق داره. در دنیای معمولی، اگه یه هتل پر باشه، دیگه جایی برای مهمون جدید نیست. ولی در دنیای بی‌نهایت، ممکنه یه مجموعه با بخشی از خودش هم‌اندازه باشه. مثلاً تعداد اعداد طبیعی و تعداد اعداد زوج هر دو بی‌نهایته و از نظر Cardinality با هم برابرن. پس شاید مهم‌ترین درس هتل هیلبرت این باشه:
بی‌نهایت فقط یه عدد خیلی بزرگ نیست؛ یه مفهوم کاملاً متفاوته. ♾️
و این دقیقاً جاییه که ریاضیات به ما یاد میده چیزی که از نظر شهودی غیرممکن به نظر میاد، می‌تونه از نظر منطقی کاملاً ممکن باشه.

زیر مجموعه ی خودم هستم مثل مجموعه ای که سخت تهی ست در سرم فکر کاشتن دارم گرچه باغ من از درخت تهی ست عشق آهوی تیزپا شد و من ببر بی حرکت پتوهایم خشمگین نیستم که تا امروز نرسیدم به آرزوهایم دوری و دوستی حکایت ماست غیر از این هرچه هست در هوس است پای احساس در میان باشد انتخاب پرنده ها قفس است گرچه باغ من از درخت تهی ست در سرم فکر کاشتن دارم شعر را، عشق را، مکاشفه را همه را از نداشتن دارم... یاسر قنبرلو

‏DeepSeek یک Vision Model جدید معرفی کرد که به Claude نزدیک شده دیپ سیک مدل جدید V4-Flash-Vision-Exp رو منتشر کرده که قابلیت
‏DeepSeek یک Vision Model جدید معرفی کرد که به Claude نزدیک شده دیپ سیک مدل جدید V4-Flash-Vision-Exp رو منتشر کرده که قابلیت Vision داره. یعنی مدل علاوه بر متن، می‌تونه اسکرین شات، نمودار و داکیومنت رو ببینه و بر اساسشون تصمیم بگیره و عمل کنه. این مدل روی Multimodal Agent Benchmarkها نسبت به V4-Flash پیشرفت قابل توجهی داشته و قابلیت‌های Multimodal Agent اون به مدل‌های رده‌بالایی مثل Opus-4.8 نزدیک شده با این تفاوت که با Flash Pricing ارائه می‌شه.
فنی
▫️ هر تصویر حداکثر 384 توکن محاسبه می‌شه و Pricing مثل V4-Flash هست. ▫️ از Chat Completions و Responses پشتیبانی می‌کنه. ▫️ می‌تونی تصاویر رو با Base64، URL یا Files API ارسال کنی. ▫️ Files API رایگانه؛ می‌تونی تصویر رو یک‌بار آپلود کنی و بعد با file_id در Requestهای بعدی دوباره استفاده کنی. @silicon_brain | از هوش مصنوعی عقب نمانید

از Software Testing تا AI Evaluation توی نرم‌افزار کلاسیک معمولاً Expected Output مشخصه مثلاً 2 + 3 باید دقیقاً 5 بشه. بنابراین با Unit Test، Integration Test، E2E و Regression Test می‌تونیم بررسی کنیم سیستم از نظر فنی درست کار می‌کنه یا نه. اما توی LLM داستان فرق داره. برای یک سؤال ممکنه چند جواب کاملاً متفاوت داشته باشیم که همگی درست باشن پس نمی‌تونیم همیشه بگیم
Actual Output == Expected Output.
اینجاست که AI Evaluation (Eval) وارد می‌شه. به‌جای اینکه فقط خروجی رو با یک جواب ثابت مقایسه کنیم، کیفیتش رو از چند جهت بررسی می‌کنیم: 🔹 Correctness → اطلاعات درست هست؟ 🔹 Relevance → جواب واقعاً مرتبطه؟ 🔹 Completeness → بخش‌های مهم سؤال رو پوشش داده؟ 🔹 Safety → با Policy و محدودیت‌های سیستم سازگاره؟ اما اگه سیستم RAG باشه یک معیار مهم دیگه هم داریم: اونم Faithfulness هست یعنی آیا جواب واقعاً بر اساس Context بازیابی‌شده ساخته شده یا مدل اطلاعاتی از خودش اضافه کرده؟ اگر Citation داشته باشیم، می‌تونیم اعتبار اون Source رو هم بررسی کنیم.
و نکته مهم اینکه Eval جای Software Testing رو نمی‌گیره بلکه یک لایه جدید بهش اضافه می‌کنه. یک محصول AI همچنان به Unit Test، Integration Test، E2E و Regression Test نیاز داره، در کنار اون‌ها باید کیفیت خود مدل رو هم با Eval اندازه بگیریم.