چگونه ChatGPT چند سرویس کسبوکار را در یک درخواست ترکیب میکند؟
یک درخواست میتواند داده فروشگاه، حسابداری، مانیتورینگ و پیامرسان را ترکیب کند. معماری Orchestration، مجوز، ترتیب Toolها، تأیید و خطا را بررسی میکنیم.
یکی از مهمترین مزیتهای اتصال ابزارها به ChatGPT این است که یک سؤال میتواند به بیش از یک منبع نیاز داشته باشد. «فروش امروز چطور بود؟» ممکن است به سفارش، پرداخت، حسابداری و سلامت سایت وابسته باشد.
ترکیب سرویسها Orchestration نامیده میشود. مدل باید تصمیم بگیرد چه Toolهایی را با چه ترتیبی فراخوانی کند، اما مجوز و کنترل نهایی باید در Gateway و سرویس مقصد باقی بماند.
دو الگوی Orchestration
چند App در ChatGPT
ChatGPT اجازه میدهد برای یک پیام چند App انتخاب شوند. مدل میتواند از App اول داده بخواند و بر اساس نتیجه، App دوم را استفاده کند. انتخاب App برای همان پیام است و برای Action تازه در Follow-up باید دوباره انتخاب یا @mention شود.
یک App وصلک با چند کانکتور
در وصلک، یک MCP App میتواند Toolهای چند Connection و سرویس را زیر یک هویت و سیاست مرکزی ارائه کند. این روش تعداد Appهای کاربر را کم و Audit را متمرکز میکند.
سناریوی نمونه
«فروش امروز را از فروشگاه بگیر، با فاکتورها و دریافتهای حسابفا تطبیق بده، وضعیت سرورها را بررسی کن و خلاصه را برای مدیر آماده کن؛ چیزی ارسال نکن.»
مرحله ۱: تعیین Intent و مرز
مدل باید تشخیص دهد درخواست شامل خواندن فروشگاه، حسابداری و مانیتورینگ است و بخش «چیزی ارسال نکن» مرز عملیات را مشخص میکند.
مرحله ۲: انتخاب Connection
اگر سازمان چند فروشگاه یا حساب حسابداری دارد، Destination باید صریح انتخاب شود. نام مشابه Connection نباید باعث اجرای اشتباه شود.
مرحله ۳: فراخوانی Toolهای خواندنی
سفارشها، گزارش مالی و Metrics خوانده میشوند. هر نتیجه باید Timestamp، Source و محدوده زمانی داشته باشد.
مرحله ۴: Join دادهها
شماره سفارش، شناسه تراکنش یا Reference برای تطبیق استفاده میشود. Join مبهم باید بهعنوان مورد نیازمند بررسی گزارش شود.
مرحله ۵: ساخت نتیجه
پاسخ باید میان عدد قطعی، اختلاف و فرضیه تفاوت بگذارد و موارد Actionable را اول قرار دهد.
مرحله ۶: عملیات بعدی با تأیید
اگر کاربر بعداً بخواهد پیام ارسال شود یا وضعیت سفارش تغییر کند، این یک Request جدید و Write Action است و باید Permission و Confirmation جدا داشته باشد.
مشکل Context و داده قدیمی
مدل ممکن است نتیجه قبلی را در گفتگو داشته باشد. برای تصمیم تازه باید در صورت نیاز App دوباره انتخاب و داده زنده خوانده شود؛ بحث درباره نتیجه قدیمی به معنای Refresh خودکار نیست.
ترتیب Toolها
بعضی عملیات مستقلاند و میتوانند Parallel اجرا شوند؛ بعضی وابستهاند. مثلاً دریافت Order ID باید قبل از خواندن جزئیات همان سفارش انجام شود. Orchestrator باید Dependency را رعایت کند.
خطاهای جزئی
اگر GA4 در دسترس است اما حسابفا خطا میدهد، پاسخ نباید کل گزارش را موفق جلوه دهد. باید بخش موفق، بخش ناموفق و اثر آن بر نتیجه جدا باشد.
Timeout و عملیات طولانی
گزارش سنگین یا Import ممکن است در یک Call کوتاه تمام نشود. Task Handle و Polling برای این موارد مناسبتر از نگهداشتن Request باز است.
عملیات طولانی در MCP چگونه مدیریت میشوند؟
امنیت Orchestration
- هر Tool مجوز مستقل دارد.
- نتیجه Tool نباید دستور قابل اعتماد تلقی شود.
- داده یک سازمان به سازمان دیگر نرود.
- Write Action از Read جدا بماند.
- ارسال پیام گیرنده و Preview روشن داشته باشد.
- Secret و Token وارد Context مدل نشود.
- Audit یک Request Correlation مشترک داشته باشد.
Prompt Injection میان سرویسها
محتوای یک Ticket، سند یا صفحه وب ممکن است دستور مخرب داشته باشد. Orchestrator باید خروجی Tool را داده بداند، نه دستور سیاستی. تصمیم درباره Tool بعدی نباید کنترلهای Server را دور بزند.
Idempotency
اگر Orchestration شامل چند Write باشد، هر مرحله باید Idempotency Key و وضعیت مستقل داشته باشد. Retry کل Workflow نباید عملیات موفق قبلی را دوباره اجرا کند.
جبران و Rollback
همه عملیات قابل Rollback نیستند. Workflow باید مشخص کند در خطای مرحله سوم، مراحل قبلی حفظ، جبران یا برای بررسی انسانی متوقف شوند.
نمونه درخواستهای دیگر
- «صفحات با افت Search Console را پیدا کن و تبدیل همان صفحات را در GA4 بررسی کن.»
- «سفارشهای لغوشده را با Refund درگاه و سند حسابداری تطبیق بده.»
- «سلامت سرور را با کاهش سفارشهای نیمساعت اخیر مقایسه کن.»
- «پرونده مشتری را بخوان و پاسخ پیشنهادی بر اساس وضعیت سفارش آماده کن؛ ارسال نکن.»
ChatGPT و چند App
طبق راهنمای OpenAI، ChatGPT میتواند چند App داخلی و شخص ثالث را در یک Prompt استفاده کند. Company Knowledge فقط Appهای Search/Fetch را در بر میگیرد و Write Actionها قواعد جدا دارند.
Developer mode and MCP apps in ChatGPT
جمعبندی
Orchestration خوب فقط زیادکردن تعداد Tool Call نیست. باید منبع، ترتیب، خطا، Permission و مرز Write روشن باشد. Gateway کمک میکند این کنترلها برای چند سرویس یکسان و قابل Audit بمانند.