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

توسعه اپلیکیشن‌های هوش مصنوعی از اتصال API به استراتژی داده تغییر مسیر داد

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

تغییر پارادایم از «اتصال ساده به API» به «چارچوب استراتژیک داده‌محور»؛ تأکید بر اینکه کیفیت خروجی AI تابعی از کیفیت داده‌های ورودی است، نه لزوماً قدرت مدل.

اگر فکر می‌کنید اتصال یک API به وب‌سایت، یعنی ساخت یک اپلیکیشن هوش مصنوعی، در اشتباهید. طبق گزارش مفصل نویل مارتین (Nevil Martin)، تحلیل‌گر سئو با بیش از ۳ سال تجربه، چالش واقعی توسعه در شناسایی نقاطی است که هوش مصنوعی واقعاً ارزش افزوده ایجاد می‌کند و مدیریت داده‌هایی که سوخت این موتور هستند. مارتین استدلال می‌کند که حیاتی‌ترین بخش توسعه اپلیکیشن‌های هوش مصنوعی، پیش از نوشتن اولین خط کد رخ می‌دهد؛ یعنی درک دقیق مسئله و ارزیابی محدودیت‌های فنی. او تأکید می‌کند که برنامه‌ریزی برای نحوه عملکرد برنامه در شرایط واقعی دنیای بیرون، می‌تواند تفاوت چشمگیری در نتیجه نهایی ایجاد کند.

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

تصور کنید شرکتی صرفاً چون رقبایش چت‌بات دارند، یکی به سایت خود اضافه کند. بدون تعریف دقیق مسئله یا داشتن داده‌های پاک، این ویژگی به‌جای تبدیل شدن به ابزاری برای صرفه‌جویی در زمان، به یک «مرکز هزینه» تبدیل می‌شود که کاربر را گیج می‌کند. هدف نهایی باید عبور از حالت «دارای هوش مصنوعی» (AI-enabled) به حالت «بهینه‌شده با هوش مصنوعی» (AI-optimized) باشد.

زمینه: چرا هوش مصنوعی در نرم‌افزارهای مدرن ادغام می‌شود؟

هوش مصنوعی به‌طور فزاینده‌ای در وب‌اپلیکیشن‌ها، پلتفرم‌های موبایل و نرم‌افزارهای سازمانی جای می‌گیرد چون مسائلی را حل می‌کند که نرم‌افزارهای سنتی در برابر آن‌ها ناتوان‌اند یا با بازدهی کمتری عمل می‌کنند. برنامه‌های سنتی عموماً از قوانین پیش‌فرض و سخت (Predefined Rules) پیروی می‌کنند، اما برنامه‌های مبتنی بر هوش مصنوعی از مدل‌های آموزش‌دیده برای تفسیر اطلاعات، شناسایی الگوها و تولید پاسخ‌ها بر اساس زمینه (Context) استفاده می‌کنند.

اتوماسیون کارهای تکراری
بسیاری از فرآیندهای تجاری شامل بررسی اسناد، دسته‌بندی درخواست‌ها، استخراج اطلاعات و پاسخ به سوالات متداول است. هوش مصنوعی به کارکنان اجازه می‌دهد روی کارهایی تمرکز کنند که نیاز به قضاوت و تحلیل انسانی دارد. با این حال، تعیین مرزهای روشن ضروری است. برای مثال، سیستمی که یک پیش‌نویس پاسخ را برای بررسی نهایی انسان آماده می‌کند، برای بسیاری از گردش‌های کاری مناسب است؛ اما سیستمی که به‌طور مستقل تراکنش‌های مالی را تایید کند، به کنترل‌های نظارتی بسیار سخت‌گیرانه‌تری نیاز دارد.

بهبود تجربه کاربر
هوش مصنوعی از طریق رابط‌های گفتگویی (Conversational Interfaces)، جست‌وجوی هوشمند و توصیه‌های شخصی‌سازی شده، برنامه‌ها را پاسخگوتر می‌کند. کیفیت این تجربه تنها به قدرت مدل بستگی ندارد؛ بلکه نیازمند طراحی متفکرانه رابط کاربری، سرعت پاسخ‌دهی بالا و رفتار پیش‌بینی‌پذیر است. این عناصر تعیین می‌کنند که کاربر ویژگی جدید را مفید ببیند یا آن را عامل اعصاب‌خردکن بدانند.

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

طبقه‌بندی هسته اپلیکیشن‌های هوش مصنوعی

هر پروژه‌ای به یک مدل زبانی بزرگ (LLM) — مثل کتابخانه‌داری که میلیاردها صفحه را خوانده و حالا با همان لحن کتاب‌ها جواب می‌دهد — نیاز ندارد. این راهنما اپلیکیشن‌ها را بر اساس عملکرد اصلی‌شان به چهار نوع متمایز تقسیم می‌کند:

  • هوش مصنوعی زاینده (Generative AI): برای تولید محتوای پویا استفاده می‌شود؛ مواردی مانند پیش‌نویس اسناد، خلاصه‌سازی، تولید کد و پاسخ‌های ساختاریافته. این مدل‌ها زمانی ضروری هستند که خروجی باید به‌صورت پویا تولید شود، نه اینکه از یک مجموعه ثابت انتخاب گردد.
  • چت‌بات‌ها و دستیاران مجازی: متمرکز بر پردازش زبان طبیعی (NLP) و بازیابی دانش. چالش اصلی در اینجا، تضمین این است که پاسخ‌ها با مستندات تاییدشده همسو بمانند و مجوزهای دسترسی به اطلاعات به‌دقت مدیریت شوند.
  • هوش مصنوعی پیش‌بین (Predictive AI): استفاده از داده‌های تاریخی و مدل‌های یادگیری ماشین برای پیش‌بینی تقاضا، تحلیل رفتار مشتری، برنامه‌ریزی موجودی و شناسایی الگوهای غیرعادی. این سیستم‌ها باید بر اساس داده‌های واقعی تاریخی ارزیابی شوند، نه اینکه صرفاً به دقت تئوریک مدل اعتماد کرد.
  • بینایی ماشین (Computer Vision): پردازش داده‌های بصری برای بازرسی کیفیت، جست‌وجوی تصویری، شناسایی اسناد و دسته‌بندی تصاویر. رویکرد در اینجا بسته به کیفیت تصاویر، پیچیدگی تسک و سطح دقت مورد نیاز تغییر می‌کند.

راهنمای کامل توسعه اپلیکیشن‌های هوش مصنوعی

چارچوب توسعه ۷ مرحله‌ای

برای کاهش ریسک ساخت ویژگی‌های بی‌فایده، استقرار موفق باید این مسیر ساختاریافته را طی کند:

مرحله ۱: شناسایی مسئله. باید یک خط مبنا (Baseline) تعریف کنید. آیا هدف کاهش حجم کاری بخش پشتیبانی است، بهبود جست‌وجو است یا اتوماسیون پردازش اسناد؟ اگر کارکنان ساعت‌ها وقت صرف جست‌وجوی دفترچه‌های فنی می‌کنند، یک دستیار QA بسیار ارزشمند است. اما اگر جست‌وجوی فعلی سریع است، اضافه کردن LLM فقط پیچیدگی را زیاد می‌کند بدون اینکه سودی داشته باشد.

مرحله ۲: ارزیابی داده‌ها. عملکرد هوش مصنوعی بازتاب مستقیم کیفیت داده‌هاست. توسعه‌دهندگان باید پیش از شروع آموزش یا بازیابی، داده‌ها را برای رکوردهای قدیمی، محتوای تکراری، فرمت‌های ناسازگار، اطلاعات گم‌شده و محدودیت‌های دسترسی بازرسی (Audit) کنند. این مشکلات باید پیش از رسیدن به محیط تولید (Production) حل شوند.

مرحله ۳: انتخاب رویکرد. ساده‌ترین ابزار باید برنده شود. برای یک خلاصه‌سازی ساده، یک تماس API کافی است. یک دستیار اسناد ممکن است به تولید بازیابی‌افزا (RAG) — مثل دانش‌آموزی که قبل از جواب دادن، اول کتاب درسی را باز می‌کند و از آن نقل می‌آورد — نیاز داشته باشد. یک برنامه پیش‌بینی ممکن است به‌جای LLM، به یک مدل یادگیری ماشین سنتی نیاز داشته باشد. این کار زمان توسعه و پیچیدگی عملیاتی را کاهش می‌دهد.

مرحله ۴: توسعه MVP. نسخه‌ای محدود بسازید تا به چهار سوال کلیدی پاسخ دهید: آیا مسئله را حل می‌کند؟ آیا قابل اعتماد است؟ میزان تأخیر (Latency) چقدر است؟ هزینه عملیاتی چقدر است؟ این یافته‌ها مبنای بسیار بهتری برای سرمایه‌گذاری نسبت به فرضیات برنامه‌ریزی هستند.

مرحله ۵: ادغام سیستمی. هوش مصنوعی نباید قوانین تجاری موجود را دور بزند. ادغام نیازمند احراز هویت سخت‌گیرانه، اعتبارسنجی ورودی‌ها، مدیریت خطاها و کنترل دسترسی مبتنی بر نقش (RBAC) است. وقتی هوش مصنوعی از طریق ابزارهای خارجی عملیاتی را اجرا می‌کند، آن اقدامات باید فقط به عملیات‌های صریحاً مجاز محدود شوند.

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

مرحله ۷: نظارت و تکرار. معیارهای پس از استقرار باید تأخیر در پاسخ، نرخ خطا، کیفیت بازیابی، بازخوردهای کاربران و هزینه هر تسک را ردیابی کنند. اپلیکیشن‌های هوش مصنوعی محصولات تکاملی هستند؛ تغییر در داده‌های منبع، رفتار کاربر یا سرویس‌های خارجی می‌تواند عملکرد آن‌ها را در طول زمان تغییر دهد.

نقش RAG و زیرساخت

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

مکانیزم‌های RAG

  • گردش کار: سیستم اسناد تاییدشده را جمع‌آوری می‌کند، آن‌ها را به بخش‌های قابل جست‌وجو تقسیم می‌کند، قطعات مرتبط با یک سوال خاص را بازیابی کرده و آن قطعات را به عنوان «زمینه» (Context) به LLM می‌دهد.
  • تأیید: برنامه‌ها می‌توانند ارجاعاتی به اسناد منبع نمایش دهند تا کاربران بتوانند صحت پاسخ را بررسی کنند.
  • محدودیت‌ها: RAG توهم (Hallucination) را کاملاً حذف نمی‌کند. سیستم همچنان ممکن است قطعات نامرتبط را بازیابی کند یا نتایج بدون پشتوانه تولید کند.

جزئیات پشته فناوری (Tech Stack)

  • زبان‌های برنامه‌نویسی: پایتون انتخاب غالب برای AI، یادگیری ماشین و پردازش داده است. جاوااسکریپت و تایپ‌اسکریپت برای رابط‌های وب و سرویس‌های اپلیکیشن استفاده می‌شوند. زبان‌های دیگر ممکن است برای ادغام با سیستم‌های سازمانی به کار روند. انتخاب فریم‌ورک باید بر اساس تخصص تیم، کتابخانه‌های موجود و نگهداری بلندمدت باشد.
  • مدل‌ها و APIها: APIها برای خلاصه‌سازی و پاسخ به سوالات بسیار کاربردی هستند. مدل‌های سفارشی تنها زمانی توجیه می‌شوند که گزینه‌های موجود نیازهای حریم خصوصی، عملکرد یا الزامات دامنه خاص را برآورده نکنند. طراحی پرامپت و بازیابی باید پیش از سرمایه‌گذاری در مدل‌های سفارشی تست شوند.
  • پایگاه‌های داده: بسته به مورد استفاده، توسعه‌دهندگان از پایگاه‌های داده رابطه‌ای، ذخیره‌سازهای سندی (Document Stores)، موتورهای جست‌وجو یا پایگاه‌داده برداری (Vector Database) استفاده می‌کنند. تمرکز اصلی بر دقت بازیابی و مجوزهای کاربر است.
  • زیرساخت ابری: این بخش از میزبانی مدل، مقیاس‌پذیری و نظارت پشتیبانی می‌کند. تصمیمات باید ترافیک مورد انتظار، زمان پاسخ‌دهی، الزامات امنیتی، در دسترس بودن و هزینه‌های عملیاتی را در نظر بگیرند.

ریسک‌های امنیتی و عملیاتی

هوش مصنوعی آسیب‌پذیری‌های منحصربه‌فردی دارد که باید در زمان طراحی معماری حل شوند، نه در لحظه عرضه.

حفاظ‌های امنیتی

  • کنترل دسترسی: ذخیره امن اعتبارنامه‌های API، رمزنگاری و سیاست‌های شفاف نگهداری داده‌ها اجباری است.
  • کاهش تهدیدات: توسعه‌دهندگان باید خطرات تزریق پرامپت (Prompt Injection)، فراخوانی‌های ناامن ابزارها و افشای اطلاعات حساس را ارزیابی کنند.
  • مجوزدهی: یک مدل زبانی هرگز نباید نهادی باشد که تصمیم می‌گیرد آیا کاربر مجاز به دیدن یک رکورد است یا خیر؛ این منطق باید در کد برنامه باقی بماند. تنظیمات با تاثیر بالا ممکن است به بررسی انسانی اضافی و کنترل‌های انطباقی نیاز داشته باشند.

هزینه‌های عملیاتی
هزینه‌ها با طول پرامپت، تکرار فراخوانی‌های مدل و دفعات استنتاج (Inference) — لحظه‌ای که مدل واقعاً جواب تولید می‌کند — افزایش می‌یابد. توسعه‌دهندگان باید هزینه تکمیل یک تسک تجاری خاص را اندازه بگیرند، نه قیمت یک درخواست API را. استفاده از کشینگ (Caching)، پرامپت‌های کوتاه‌تر و مدل‌های کوچک‌تر می‌تواند به حفظ کیفیت و کاهش هزینه‌ها کمک کند.

تعادل کدنویسی انسان و هوش مصنوعی

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

تحلیل: تغییر به سمت سیستم‌های «عامل‌محور» (Agentic)

این چارچوب نشان‌دهنده یک تغییر جهت در صنعت است. ما در حال فاصله گرفتن از «رپرهای ساده» (Wrappers) — اپلیکیشن‌هایی که فقط متن را به API می‌فرستند — و حرکت به سمت «عامل‌ها» (Agents) هستیم؛ سیستم‌هایی که چندین مرحله را هماهنگ می‌کنند، با ابزارهای تاییدشده تعامل دارند و از نتایج برای پیشروی در یک گردش کار استفاده می‌کنند.

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

برای صاحب کسب‌وکار، این بدان معناست که هوش مصنوعی دیگر یک ویژگی «نصب و اجرا» (Plug-and-Play) نیست، بلکه یک پروژه مهندسی داده است. اگر مستندات داخلی شما آشفته باشد، اپلیکیشن هوش مصنوعی شما هم آشفته خواهد بود، فارغ از اینکه از GPT-4 استفاده کنید یا یک مدل سفارشی.

اندازه‌گیری ارزش تجاری و هزینه

سنجش موفقیت نیازمند عبور از آمار ساده‌ی استفاده است. تعداد کاربران به تنهایی کاربردی بودن را ثابت نمی‌کند. معیارهای معنادار عبارتند از:

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

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

بهترین شیوه‌های نهایی برای اجرا

برای تضمین موفقیت، توسعه‌دهندگان باید این دستورالعمل‌ها را دنبال کنند:

  • پیش از انتخاب مدل، یک هدف تجاری قابل اندازه‌گیری تعریف کنید.
  • کیفیت داده‌ها و مجوزهای دسترسی را در مراحل اولیه فرآیند تایید کنید.
  • تکنولوژی را بر اساس تسک انتخاب کنید، نه بر اساس ترندهای فعلی.
  • پیش از متعهد شدن به یک معماری بزرگ، یک نمونه اولیه کوچک بسازید.
  • خروجی‌ها را با استفاده از مثال‌های واقعی و نماینده ارزیابی کنید.
  • تا حد امکان اجزای AI را از منطق حیاتی تجاری جدا نگه دارید.
  • محدودیت‌های روشنی برای آنچه AI می‌تواند به آن دسترسی داشته باشد یا اجرا کند، تعیین کنید.
  • برای شکست مدل‌ها، قطع سرویس‌ها و پاسخ‌های نامطمئن برنامه‌ریزی کنید.
  • کیفیت، تأخیر، میزان استفاده و هزینه‌های عملیاتی را پس از استقرار نظارت کنید.
  • از بازخوردهای کاربران و نتایج قابل اندازه‌گیری برای هدایت بهبودها استفاده کنید.

برای پیشروی، توسعه‌دهندگان باید خط لوله‌های داده (Data Pipelines) فعلی خود را بازرسی کنند و پیش از مقیاس‌دهی معماری، یک نمونه اولیه کوچک و قابل‌اندازه‌گیری بسازند. همان‌طور که نویل مارتین از تجربه خود در iROID Technologies اشاره می‌کند، ارزشمندترین راهکارها لزوماً پیچیده‌ترین‌ها نیستند، بلکه آن‌هایی هستند که درست‌ترین مسائل را به‌طور قابل‌اطمینان حل می‌کنند.

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

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

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

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

برای توسعه‌دهندگان ایرانی، تمرکز بر بهینه‌سازی داده‌ها و استفاده از مدل‌های کوچک‌تر (SLM) می‌تواند هزینه‌های استنتاج دلاری را کاهش دهد و کارایی را در محیط‌های با محدودیت منابع افزایش دهد.

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

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

منابع

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

گفتگو

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

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

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

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

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

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

دات‌هوش

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

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