بررسی ایجنت ها
من اینجا میخوام بررسی کنم که اصلا منظور از ایجنت چی هست و چطور میشه نگاه دقیق تری نسبت بهشون پیدا کرد

شما احتمالا روزی n بار لفظ ایجنت رو میشنوی و همه در توییتر و یوتیوب دارن از ایجنت هایی که ساختن حرف میزنن و بماند که برای خیلی از تسک ها اصلا ایجنت نیاز نیست و شما با یه اسکریپت bash و چند تا cron job هم میتونی کارو در بیاری و بیخود پولاتو در حلق کاپیتالیست های توکن خوار نریزی که خب بحث اون جداست.
من اینجا میخوام بررسی کنم که اصلا منظور ما از ایجنت چی هست و چطور یک نگاه دقیق تری نسبت به ماجرا پیدا کنیم، در کنار این ایجنت ها من اومدم و workflow ها هم بررسی کردم چون تو کامیونیتی فارسی که این دو تا رو یکی میکنن و به هرچی که LLM پشتشه میگن ایجنت و این یک چیز نادرستی هست که من در ادامه بهش میپردازم.
این Workflow یعنی چه؟
در واقع ایجنت ها و Workflow ها جفتشون دو تا روش برای ساختن فرآیند های مبتنی بر LLM هستن و جفتشون با LLM Call به یک LLM کار میکنن.
ولی ایجنت و Workflow یک تفاوت عمده با هم دارن.
داستان از این قراره که Workflow یه مسیر از قبل مشخص شده داره، یعنی یه LLM Call انجام میشه، بعد نتیجه اش میره به یه LLM Call دیگه، بعد اون میره به یکی دیگه و همینطور ادامه پیدا میکنه.
این مراحل از قبل توسط برنامه نویس داخل کد نوشته شدن و خود مدل هیچ تصمیمی درباره مسیر نمیگیره.
به عبارتی، داخل یک Workflow، مدل فقط و فقط از مسیری که برنامه نویس براش تعیین کرده تبعیت میکنه.

اینجا، برنامه نویس با کدنویسی مشخص میکنه که:
- کی برنامه تموم بشه.
- کی
LLMبعدی صدا زده بشه. - مرحله بعدی چی باشه.
یعنی همه چیز از قبل داخل کد تعریف شده. این مهم ترین تفاوت Workflow با ایجنت هست!
ایجنت چیه پس؟
آها، حالا ایجنت داستانش فرق میکنه چون اینجا دیگه خبری از مراحل از قبل تعیین شده نیست.
اینجا شما به LLM یه سری Tool و گزینه میدی و دیگه ولش میکنی که بره هر جور خودش میدونه کاری که مد نظرت هست رو انجام بده. اینجا خود LLM تصمیم میگیره که:
- از کدوم
Toolاستفاده کنه. - بعد از گرفتن نتیجه، قدم بعدی چی باشه.
- و در نهایت کی و کجا کار تموم شده.

بر خلاف Workflow ، اینجا خود LLM تصمیم میگیره چه مسیری رو بره و خودش همون لحظه مسیرش رو تعیین میکنه و جلو میره، و خب این طبیعتا باعث میشه که رفتار ایجنت نسبت به Workflow خیلی کمتر قابل پیشبینی باشه.
مقایسه Agent و Workflow
فرق اصلی این دوتا یک سوال ساده هست: کی تصمیم میگیره که کار تموم شده؟
توی Workflow ، این برنامه نویس و کدشه که تصمیم میگیره کجا کار تموم میشه.
توی ایجنت این خود LLM عه که تصمیم نهایی رو میگیره.

هم ایجنت و هم Workflow شامل چندین LLM Call هستن و خیلی مهمه که بدونی اگه فقط یه بار LLM رو صدا بزنی، در واقع نه Workflow ساختی و نه ایجنت.
ایجنت ها برای وقتایی خفنن که مسیر حل مسئله معلوم نیست، مثلا وقتی که LLM باید وسط کار بداهه پردازی کنه و شرایط رو بسنجه و راه حل مناسب رو پیدا کنه، دقیقا برنامه نویسی بهترین زمینه رو برای تسک های ایجنتیک میده و برای همینه که برنامه نویسا اینقدر با ایجنت ها بوجی بوجی شدن.
ازونور Workflow ها برای کارهایی جوابن که باید بارها و بارها و بارها دقیقا به یک شکل انجام بشن.
حالا Workflow ها به اندازه ایجنت ها ترند نیستن و بهشون کم لطفی میشه وگرنه اتفاقا خیلی کارآمد هستن و اگر شما برنامه نویسی بلدی، با استفاده از Workflow ها میتونی اتفاقا یک سیستمی به مراتب قدرتمند تر از ایجنت ها ایجاد کنی، چون ایجنت مبتنی بر LLM و Tool Calling هست در حالی که یک Workflow میتونه یک هیبرید بین کد و LLM باشه و یک تسکی رو با دقت خیلی بالا انجام بده.
یعنی اگه دقیقا میدونی که چی میخوای و چطور باید به نتیجه مطلوبت برسی، خیلی وقت ها Workflow ها نتیجه بهتر و قابل اعتمادتری نسبت به ایجنت ها بهت میدن.
جمع بندی
خب در نهایت ما فرق بین ایجنت و Workflow رو فهمیدیم و الان میدونیم کی و کجا، از کدوم استفاده کنیم.
اینجا AI Fundamentals به پایان میرسه و اگه شما هر پنج تا قسمتو خونده باشی، الان باید یه چشم انداز بهتر و دقیق تری از کار با LLM ها داشته باشی.
حالا من در آینده بر اساس چیزایی که اینجا یاد گرفتیم میتونم مباحث باحال تر و پیچیده تر رو پوشش بدم.
خلاصه که مرسی اینارو خوندی و فیدبک دادی، هشت لیوان آب در روز هم فراموش نشه، بوس بوس مراقب خودت باش خدافظ.