پرش به محتوای اصلی
پرش به محتوای مقاله

لایه ارکستراسیون Claude Code: مدیریت عامل‌های فرعی برای مهار هزینه‌های توکن

·۱۹ مهر ۱۴۰۵۱۳ دقیقه مطالعه
راهنما
لایه هماهنگی پنهان در Claude Code: زیرعامل‌ها، قلاب‌ها و مهارت‌ها
لایه هماهنگی پنهان در Claude Code: زیرعامل‌ها، قلاب‌ها و مهارت‌ها
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

معرفی یک لایه ارکستراسیون ساختاریافته که از طریق عامل‌های فرعی و قلاب‌های (Hooks) پیش و پس از اجرا، مدیریت وضعیت و امنیت را از مدل زبانی جدا کرده و به لایه‌ی کد منتقل می‌کند.

اگر امروز از عامل‌های هوش مصنوعی برای اتوماسیون استفاده می‌کنید، احتمالاً با کابوس «مارپیچ توکن» (Token Spiral) — وضعیتی که در آن مدل در یک حلقه تکراری گیر می‌کند و هزینه‌ها را به شدت بالا می‌برد — آشنا هستید. Claude Code با معرفی یک لایه ارکستراسیون (Orchestration Layer) پیچیده، این نقطه شکست را به یک موتور اتوماسیون در سطح تولید تبدیل کرده است. این سیستم با تقسیم وظایف بین عامل‌های فرعی و محصور کردن آن‌ها در قلاب‌های سخت‌گیرانه، از یک چت‌بات ساده به یک موتور اتوماسیون صنعتی تبدیل می‌شود.

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

استراتژی عامل‌های فرعی

Claude Code به جای تکیه بر یک گفتگو یا مکالمه متورم و حجیم، به توسعه‌دهندگان اجازه می‌دهد با ایجاد عامل‌های فرعی (Sub-agents)، زمینه یا کانتکست را تکه‌تکه کنند. به نقل از گزارشی که در ۱۰ اکتبر ۲۰۲۶ در وب‌سایت dev.to منتشر شد، این جداسازی برای جلوگیری از «آلودگی زمینه» (Context Pollution) حیاتی است؛ وضعیتی که در آن تلاش‌های آزمایشی برای یک زیر-وظیفه، هدف اصلی عامل مادر را مختل می‌کند.

درک این موضوع که چه زمانی باید یک عامل فرعی ایجاد کرد و چه زمانی باید مستقیماً از ابزارها استفاده کرد، اساس طراحی بهینه عامل است. توسعه‌دهندگان باید در موارد زیر از عامل‌های فرعی استفاده کنند:

  • تجزیه وظایف: وقتی مسائل پیچیده را می‌توان به طور تمیز به زیر-مسائل مستقل تقسیم کرد و از این جداسازی سود برد.
  • مجموعه ابزارهای متفاوت: وقتی یک زیر-وظیفه به ابزارهایی نیاز دارد که عامل اصلی نباید به آن‌ها دسترسی داشته باشد (یا برعکس).
  • جداسازی وضعیت: برای اینکه رویکردهای آزمایشی و خطا، زمینه اصلی را آلوده نکند و وضعیت فعلی را به هم نریزد.
  • اجرای موازی: وقتی زیر-وظایف می‌توانند به طور هم‌زمان اجرا شوند تا سرعت و عملکرد سیستم افزایش یابد.
  • تخصص‌های ویژه: وقتی نیاز است عامل‌های فرعی از پیش با مهارت‌ها یا دانش‌های خاص یک دامنه بارگذاری شوند.
  • سیاست‌های بازگشت متفاوت: وقتی زیر-وظیفه به مدیریت خطای متفاوت یا سیاست‌های بازگشت (Retry) متفاوتی نسبت به عامل والد نیاز دارد.

برای مثال، یک پیاده‌سازی «خوب»، استفاده از یک عامل فرعی پژوهشی برای کارهای مستقل است؛ مانند تحقیق درباره بهترین روش‌های امنیتی SAP با استفاده از ابزارهای web_search و document_fetch در یک زمینه کاملاً تازه و ایزوله.

در مقابل، استفاده مستقیم از ابزارها (Inline Tool Use) برای عملیات‌های به‌هم‌پیوسته مناسب‌تر است. در این موارد از ابزارهای داخلی استفاده کنید:

  • اتصال تنگ با زمینه اصلی: وقتی زیر-وظیفه نیاز به دسترسی مکرر و سریع به وضعیت فعلی یا متغیرهای جاری دارد.
  • تأخیر پایین: وقتی هزینه‌ی ایجاد یک عامل جدید (Forking Overhead) بر تجربه کاربر تأثیر منفی می‌گذارد.
  • عملیات خطی ساده: توالی‌های مستقیم و ساده که پیچیدگی‌های شاخه‌ای ندارند.
  • صرفه‌جویی در منابع: برای جلوگیری از هزینه‌های اضافی مربوط به ایجاد نمونه‌های متعدد از عامل.
  • وضعیت مشترک: وقتی چندین مرحله باید متغیرهای یکسانی را بخوانند یا بنویسند.
  • تغییرات جزئی در زمینه: وقتی زیر-وظیفه نیازی به پرامپت‌های سیستمی به شدت متفاوت ندارد.

یک مثال «بهتر» برای این حالت، دریافت نرخ ارز از طریق یک ابزار و استفاده فوری از آن نتیجه در یک محاسبه جاری است.

لایه هماهنگی که Claude Code تبلیغ نمی‌کند: زیرعامل‌ها، قلاب‌ها و مهارت‌ها

حفاظ‌ها از طریق قلاب‌ها

قلاب‌ها (Hooks) مانند نرده‌های ایمنی نامرئی عمل می‌کنند که سیستم‌های عامل‌محور را پیش‌بینی‌پذیر می‌کنند. این قلاب‌ها به دو فاز «پیش از ابزار» و «پس از ابزار» تقسیم می‌شوند تا هم امنیت ورودی و هم کیفیت خروجی تضمین شود.

قلاب‌های پیش از ابزار (حفاظ‌ها)

این قلاب‌ها مانند گیت‌های امنیتی عمل می‌کنند و می‌توانند عملکردهای زیر را داشته باشند:

  • اعتبارسنجی ورودی‌ها: بررسی دقیق پارامترها پیش از هرگونه اجرا.
  • بررسی دسترسی‌ها: تأیید اینکه کاربر یا نقش مربوطه حقوق لازم برای اجرای ابزار را دارد.
  • محدود کردن نرخ درخواست: جلوگیری از سوءاستفاده یا مصرف بیش از حد منابع (Rate Limiting).
  • غنی‌سازی زمینه: افزودن اطلاعات مرتبط و ضروری پیش از پردازش نهایی.
  • اجرای سیاست‌ها: مسدود کردن اقداماتی که صراحتاً با دستورالعمل‌های شرکتی در تضاد است.
  • تبدیل داده‌ها: نرمال‌سازی ورودی‌ها به فرمت مورد انتظار ابزار.

به عنوان مثال، یک قلاب می‌تواند هر دستور UPDATE را که پایگاه داده تولید (Production) را هدف قرار داده مسدود کند، مگر اینکه تأییدیه مدیریت تغییر (Change Management) در محیط شناسایی شود. در توسعه SAP ABAP، یک قلاب پیش از ابزار می‌تواند استانداردهای نام‌گذاری را اجبار کند و اگر اشیاء سفارشی با حرف "Z" شروع نشوند و پس از آن یک حرف بزرگ نباشد، خطا صادر کند. این رویکرد نرم‌افزاری در کنار راهکارهای سخت‌افزاری برای مهار عامل‌های خودمختار می‌تواند لایه‌ای از امنیت مطلق را ایجاد کند.

قلاب‌های پس از ابزار (تضمین کیفیت)

این بخش وظیفه کنترل کیفیت (QA) را بر عهده دارد و شامل موارد زیر است:

  • اعتبارسنجی نتایج: بررسی اینکه آیا خروجی با انتظارات و استانداردهای تعریف شده مطابقت دارد یا خیر.
  • مدیریت خطاها: تبدیل شکست‌های فنی به بازخوردهای کاربردی و قابل اقدام برای عامل.
  • تبدیل داده‌ها: تغییر فرمت خروجی ابزار به فرمتی که برای مراحل بعدی مورد نیاز است.
  • ثبت و حسابرسی: ضبط دقیق رویدادها برای انطباق با قوانین نظارتی و امنیتی.
  • به‌روزرسانی وضعیت: تغییر وضعیت داخلی عامل بر اساس نتایج به‌دست آمده از ابزار.
  • راه‌اندازی زنجیره‌ای: شروع خودکار مرحله بعدی در یک جریان کاری (Workflow) بر اساس خروجی.

انواع تخصصی این قلاب‌ها شامل قلاب‌های فرمت‌دهی (مانند اعمال Prettier یا ESLint)، اسکن امنیتی برای یافتن آسیب‌پذیری‌ها، تحلیل عملکرد برای شناسایی الگوریتم‌های ناکارآمد و قلاب‌های انطباق با الزامات قانونی مانند SOX یا GDPR است.

در محیط SAP ABAP، یک قلاب پس از ابزار می‌تواند به‌طور خودکار یک فرمت‌دهنده را اجرا کرده یا کد تولید شده را برای یافتن اعتبارنامه‌های سخت‌افزاری (Hardcoded Credentials) اسکن کند. همچنین می‌تواند الگوهای مدیریت خطای صحیح، مانند بررسی وجود هندلینگ استثناهای CX_ در هنگام استفاده از CALL FUNCTION یا CALL METHOD را تأیید کند.

بسته‌بندی تخصص با مهارت‌ها

مهارت‌ها (Skills) بسته‌های بازاستفاده‌ای از دامنه هستند که ابزارها، قالب‌های پرامپت و وضعیت اولیه را یک‌جا جمع می‌کنند. به جای نوشتن پرامپت از صفر، توسعه‌دهنده می‌تواند یک «مهارت» را برای دامنه‌ای خاص، مانند Cloudflare Workers، مدیریت TrueNAS یا SAP ABAP، بارگذاری کند. این ساختار دقیقاً همان منطقی است که در بهینه‌سازی عملکرد عامل‌ها از طریق فایل‌های SKILL.md برای افزایش دقت کدنویسی مورد بررسی قرار گرفت.

اجزای یک مهارت باکیفیت عبارت‌اند از:

  • تمرکز بر دامنه: داشتن مرزهای روشن (مثلاً فقط SAP ABAP) برای جلوگیری از گسترش بی‌رویه محدوده (Scope Creep).
  • ابزارهای گزینش‌شده: شامل دقیقاً ابزارهای مورد نیاز—نه بیشتر و نه کمتر. برای SAP ABAP، این شامل ابزارهایی مثل read_abap_source ،write_abap_source ،activate_transport ،run_abap_unit_test ،check_syntax ،execute_function_module و read_table_sap است.
  • وضعیت پیش‌تنظیم: شامل قراردادهای نام‌گذاری رایج (Z*/Y)، پیکربندی‌های لایه انتقال (Transport Layer)، اشیاء استاندارد مجوزدهی و پرچم‌های نسخه ABAP ترجیحی.
  • قالب‌های پرامپت: الگوهای تعریف‌شده برای کارهای رایج، مانند «توضیح این کد ABAP برای یک توسعه‌دهنده جونیور»، «تولید تست‌های واحد برای این کلاس/متد»، «پیشنهاد بهبود عملکرد برای این SELECT»، «تبدیل این کد رویه‌ای به شیءگرا» یا «یافتن مشکلات امنیتی احتمالی در این گزارش».
  • الگوهای جریان کاری: فرآیندهای استاندارد مانند چرخه توسعه تست‌محور (TDD)، پیاده‌سازی اصلاحات سریع (Quick Fix)، مدیریت درخواست‌های انتقال، روتین‌های تحلیل عملکرد یا چک‌لیست‌های بررسی امنیتی.
  • مستند و نسخه‌بندی شده: دارای دستورالعمل‌های استفاده شفاف و ردیابی تغییرات ساختاری (Breaking Changes).
  • ترکیب‌پذیر: طراحی شده برای همکاری با مهارت‌های دیگر بر اساس فلسفه یونیکس (UNIX philosophy).

کاربران پیشرفته می‌توانند با ترکیب مهارت‌های موجود، «متا-مهارت‌ها» بسازند. برای مثال، مهارت CloudDevOps ترکیبی از مهارت‌های Cloudflare Workers، زیرساخت به عنوان کد (IaC) و مانیتورینگ است. نمونه‌های دیگر شامل SASTechnician (ترکیب ABAP، تست امنیتی و بهینه‌سازی عملکرد) یا FullStackDeveloper (ترکیب فرانت‌اند، بک‌اند، دیتابیس و DevOps) است.

این مهارت‌ها را می‌توان از منابع رسمی مانند Claude Skills Marketway، جامعه Cursor، کتابخانه‌های داخلی شرکت‌ها، سازمان‌های متن‌باز در گیت‌هاب یا بسته‌های ارائه‌شده توسط венدورهایی مثل SAP و Cloudflare تهیه کرد.

مدیریت «مارپیچ توکن»

برای جلوگیری از هزینه‌های خارج از کنترل، لایه ارکستراسیون بودجه‌های سخت‌گیرانه‌ای برای توکن‌ها اعمال می‌کند. مقادیر معمول از ۲ تا ۴ هزار توکن برای کارهای ساده تا ۱۶ هزار توکن برای استدلال‌های پیچیده متغیر است. این محدودیت‌ها در سطح پروتکل زمینه مدل (MCP) یا کلاینت اعمال می‌شوند تا تخلفات سریعاً شناسایی شوند.

مدیریت بودجه و محدودیت‌ها شامل موارد زیر است:

  • بودجه هر نوبت: حداکثر توکن در هر تعامل (پرامپت + پاسخ). سیستم باید در صورت نزدیک شدن به سقف، با تلخیص یا پرسیدن سؤالات شفاف‌کننده، کیفیت را به‌صورت تدریجی کاهش دهد. همچنین رویدادهای نزدیک به سقف باید برای برنامه‌ریزی ظرفیت ثبت شوند.
  • محدودیت سطح گفتگو: حداکثر تعداد نوبت‌ها پیش از بازنشانی اجباری گفتگو.
  • محدودیت شکست: توقف عامل پس از تعداد مشخصی شکست متوالی در ابزارها (مثلاً ۳ بار).
  • انقضای زمانی: پایان خودکار گفتگوها پس از N ساعت.
  • سقف هزینه‌ای: توقف اجرا در صورت عبور هزینه تخمینی از یک آستانه مشخص.
  • گزینه‌های تداوم: امکان تمدید توسط کاربر برای کارهای طولانی و مشروع.

یکی از حیاتی‌ترین قواعد در محیط تولید، «قاعده گیر کردن» (If Stuck Rule) است. گیر کردن به معنای عدم پیشرفت معنادار طی یک آستانه مشخص—معمولاً ۳ تلاش—است. در این حالت سیستم می‌تواند:
۱. موضوع را به یک ناظر انسانی ارجاع دهد.
۲. به یک رویکرد ساده‌تر و قطعی‌تر (Deterministic) بازگردد.
۳. نتایج ناقص را با ذکر محدودیت‌های شفاف برگرداند.
۴. عملیات را لغو کرده و خطای تشخیصی همراه با اطلاعات عیب‌یابی صادر کند.

مرزهای امنیتی

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

مرزهای مطلق (هرگز عبور نکردن):

  • اعتبارنامه‌های تولید: عدم دسترسی به رمزهای عبور، کلیدها یا گواهینامه‌های متنی.
  • دسترسی نامحدود به سیستم: عدم دسترسی sudo/root بدون توجیه صریح و تایید شده.
  • اطلاعات شناسایی شخصی (PII): داده‌های شناسایی شخصی نیاز به مدیریت ویژه و رضایت صریح دارند.
  • اسرار تجاری: حفاظت از مالکیت‌های فکری (IP) که به طور شفاف تعریف شده‌اند.
  • شبکه‌های غیرمجاز: ممنوعیت نفوذ یا اسکن بخش‌های غیرمجاز شبکه.
  • نقض سیاست‌ها: اقداماتی که صراحتاً در سیاست‌های استفاده قابل قبول (AUP) ممنوع شده‌اند.

مرزهای مشروط (بسته به زمینه):

  • محیط: تفاوت دسترسی‌ها بین محیط توسعه و تولید.
  • طبقه‌بندی داده‌ها: مدیریت متفاوت برای داده‌های عمومی، داخلی، محرمانه و محدود شده.
  • دسترسی زمانی: محدود کردن عملیات‌های حساس به پنجره‌های تعمیر و نگهداری.
  • محدودیت‌های جغرافیایی: رعایت الزامات حاکمیت داده (Data Sovereignty).
  • تأیید دو نفره: نیاز به تایید دو فرد مجاز برای عملیات‌های پرخطر.

دفاع در عمق از طریق بخش‌بندی شبکه (VLANهای ایزوله یا گروه‌های امنیتی) و اصل «حداقل دسترسی» محقق می‌شود. تمام اقدامات در لاگ‌های حسابرسی امضا شده و غیرقابل تغییر (Append-only) ثبت می‌شوند. امنیت تکمیلی از طریق بررسی‌های فصلی دسترسی‌ها، شناسایی ناهنجاری‌ها با ML، رویه‌های اضطراری (Break-glass) و تست‌های نفوذ منظم تیم قرمز/آبی تأمین می‌شود.

ارکستراسیون در برابر جریان‌های کاری سنتی

در مقایسه با ابزارهایی مثل n8n یا Ollama، Claude Code دقت و جزئیات بسیار بالاتری دارد.

  • ارکستراسیون بومی Claude Code: کنترل دقیق در سطح فراخوانی ابزار، اشتراک‌گذاری وضعیت ساختاریافته و الگوهای پیچیده بازگشت و مدارشکن (Circuit Breaker). این روش برای کارهای شناختی که نیاز به قضاوت و انطباق دارند عالی است، هرچند به دلیل استنتاج مدل زبانی، تأخیر بیشتری دارد.
  • رویکرد n8n/Ollama: کنترل کلی در سطح گره به گره، اشتراک‌گذاری محدود داده‌های JSON و مکانیزم‌های ساده بازگشت. این روش برای اتوماسیون‌های تکراری و قابل پیش‌بینی با تأخیر کم و قطعی، ایده‌آل است.

«نقطه بهینه ترکیبی» شامل استفاده از Claude Code برای برنامه‌ریزی، تفسیر و مدیریت استثناها، و سپردن جابه‌جایی قطعی داده‌ها و اعلان‌ها به n8n از طریق وب‌هوک‌ها، صف‌های پیام یا دیتابیس‌های مشترک است.

پیاده‌سازی: مثال خط لوله محتوا

برای یک خط لوله محتوای واقعی (مانند ayraix.com)، حاکمیت از طریق یک فایل قلاب‌ها اجرا می‌شود. یک preContentCreationHook ابتدا دسترسی کاربر را تأیید می‌کند، طول عنوان را بین ۳ تا ۱۰۰ کاراکتر می‌سنجد، از تکرار محتوا در زمان کوتاه جلوگیری کرده و نوع محتوا (مقاله، آموزش، موردکاوی، خبر و مرجع) را اعتبارسنجی می‌کند. همچنین یک شناسه محتوای قطعی برای ردیابی حسابرسی ایجاد می‌کند.

سپس یک postContentGenerationHook بررسی می‌کند که محتوا خالی نباشد و حداقل طول مورد نیاز را داشته باشد (مثلاً ۸۰۰ کلمه برای مقاله، ۱۲۰۰ برای آموزش، ۱۰۰۰ برای موردکاوی، ۴۰۰ برای خبر و ۵۰۰ برای مراجع). این قلاب امتیاز کیفیت را می‌سنجد (بررسی وجود مقدمه، نتیجه‌گیری و مثال)، سئوی اولیه را تأیید کرده (بررسی وجود عنوان در متن و تعداد کافی هدینگ‌ها) و اصالت محتوا (حداقل امتیاز ۰.۸۵) را بررسی می‌کند تا در نهایت وضعیت را به readyForReview تغییر داده و زمان مطالعه را بر اساس سرعت ۲۰۰ کلمه در دقیقه محاسبه کند.

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

گام بعدی شما

  • ابتدا تسلط بر تک‌وظیفه‌ها با قلاب‌های ساده را تمرین کنید و سپس به سراغ تجزیه وظایف به عامل‌های فرعی بروید.
  • روی مشاهده‌پذیری (Observability) سرمایه‌گذاری کنید؛ تمام فراخوانی‌های ابزار را ثبت کرده و مصرف توکن را بر اساس نوع جریان کاری ردیابی کنید.
  • با جریان‌های کاری عامل‌ها مانند نرم‌افزارهای حساس رفتار کنید: از تست‌های واحد برای ابزارها، تست‌های یکپارچگی برای جریان‌ها و تست‌های هرج‌ومرج (Chaos Testing) برای شبیه‌سازی شکست ابزارها و تایم-اوت‌ها استفاده کنید.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این معماری با کاهش چشمگیر نرخ توهم و هزینه‌های عملیاتی، مسیر تبدیل نمونه‌های آزمایشگاهی AI به ابزارهای صنعتی را هموار می‌کند. تخصص در طراحی این لایه‌های کنترلی، مهارت کلیدی جدید برای مهندسان نرم‌افزار در عصر AI خواهد بود.

تأثیر برای ایران

توسعه‌دهندگان ایرانی که با محدودیت بودجه برای APIهای گران‌قیمت روبرو هستند، می‌توانند با پیاده‌سازی این استراتژیِ جداسازی کانتکست، هزینه‌های استنتاج را به شدت کاهش دهند.

·نگاه ما
تحریریه دات‌هوش

جایگزینی رویکرد «یک پرامپت برای همه کارها» با معماری عامل‌های فرعی، در واقع پذیرش این واقعیت است که مدل‌های زبانی در مدیریت کانتکست‌های حجیم و متناقض دچار ضعف هستند. این رویکرد، مدیریت وضعیت (State Management) را از لایه‌ی احتمالیِ مدل به لایه‌ی قطعیِ کد منتقل می‌کند. به نظر ما، آینده‌ی عامل‌های هوش مصنوعی نه در بزرگ‌تر شدن پنجره‌های متنی، بلکه در مهندسی دقیق‌ترِ این لایه‌های ارکستراسیون است.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.