بیشتر گفتگوها دربارهٔ هوش مصنوعی، سرِ انتخاب مدل است: کدام بهتر است، کدام فارسی را بهتر میفهمد، کدام ارزانتر است.
این پرسشِ کماهمیتتری است از آنچه به نظر میرسد، و دلیلش ساده است: جواب هر شش ماه عوض میشود. چیزی که عوض نمیشود، تصمیمهایی است که دور آن مدل گرفتهاید.
ارکستراسیون هوش مصنوعی نامِ همان تصمیمهاست.
ساختنِ مدل در برابر ساختن روی مدل
دو کارِ کاملاً متفاوت با یک اسم گفته میشوند.
ساختن مدل یعنی جمع کردن داده، آموزش، ارزیابی، و تکرار. سختافزار میخواهد، تیم پژوهش میخواهد، و پول زیادی میخواهد. تعداد شرکتهایی که در دنیا این کار را جدی انجام میدهند از انگشتان دو دست بیشتر نیست.
ساختن روی مدل یعنی مدلی که دیگری ساخته را برداری و چیزی بسازی که یک کسبوکار بتواند رویش حساب کند. این کارِ تقریباً همهٔ محصولات هوش مصنوعیِ امروز است — از جمله کارِ ما.
اشتباه رایج این است که دومی را «فقط وصل کردن به API» بدانیم. اگر همین بود، هر محصولی که به یک مدل وصل شود کیفیت یکسانی میداشت. ندارد، و تفاوت دقیقاً در جایی است که این نوشته دربارهٔ آن است.
چهار تصمیمی که ارکستراسیون از آنها ساخته میشود
یک: کدام کار به کدام مدل
همهٔ کارها یک اندازه سخت نیستند و همهٔ مدلها یک اندازه گران نیستند.
خلاصه کردن یک پیام کوتاه، تشخیص اینکه مشتری چه میخواهد، و نوشتن یک پاسخِ حساس، سه کارِ متفاوتاند. اگر هر سه به گرانترین مدل بروند، هزینهای میدهید که لازم نبود؛ اگر هر سه به ارزانترین بروند، جایی که مهم بوده کیفیت را از دست دادهاید.
در سیستمی که ما ساختهایم این تفکیک واقعی است: بخشی از کار روی Amazon Bedrock میرود، و در یک سامانهٔ دیگر مدل اصلی OpenAI است با Gemini بهعنوان جایگزین. این دومی برای صرفهجویی نیست؛ برای این است که در دسترس نبودنِ یک تأمینکننده نباید محصول را از کار بیندازد.
دو: چه چیزی میان فراخوانیها میماند
مدل زبانی حافظه ندارد. هر بار که صدایش میزنید، از صفر شروع میکند و فقط چیزی را میداند که در همان درخواست به او دادهاید.
یعنی «حافظه» چیزی است که شما میسازید، نه چیزی که مدل دارد. و اینکه چه چیزی را نگه دارید، یک تصمیم است نه یک تنظیم.
نگه داشتن کل متن گفتگو، سادهترین راه است و بدترین. گران است، کند است، و مدل را در انبوهی از جزئیات بیربط غرق میکند. آنچه در عمل کار میکند، نگه داشتن چند قلم مشخص است: این آدم کیست، چه پرسیده، چه به او گفتهایم، و کجا متوقف شده.
سه: وقتی چیزی خراب میشود
این بخشی است که در نمایش دیده نمیشود و در ماه سوم همهچیز را تعیین میکند.
مدل ممکن است در دسترس نباشد. ممکن است کند شود. ممکن است جوابی بدهد که با قالبی که انتظار داشتید نمیخواند. ممکن است جوابی بدهد که روان و مطمئن است و غلط.
برای هر چهار حالت باید تصمیم گرفته باشید، و تصمیمها یکی نیستند: در دسترس نبودن، جایگزین میخواهد؛ کندی، مهلت و پیام انتظار میخواهد؛ قالبِ نادرست، تلاش دوباره میخواهد؛ و جوابِ غلطِ مطمئن، محدود کردن میخواهد — یعنی سیستم اصلاً نباید بتواند دربارهٔ چیزی که دادهاش را ندارد حرف بزند.
چهار: کجا باید بگوید نمیدانم
از چهار تصمیم، این یکی بیشترین اثر را دارد و کمترین توجه را میگیرد.
مدل زبانی وقتی نمیداند هم جواب میدهد، و جوابش دقیقاً به همان اندازه روان و مطمئن است که وقتی میداند. برای خواننده هیچ نشانهای وجود ندارد که این دو را از هم جدا کند.
دستور دادن به مدل که «دقیق باش» یک درخواست است. آنچه کار میکند، محدودیت است: سیستم را طوری بساز که برای حدس زدن دادهای نداشته باشد. در سامانهٔ املاکی که ساختیم، دانش بازار بهصورت داده در سیستم است و کنارش قاعدهای نوشته شده که اگر دربارهٔ محدودهای پرسیده شود که در آن داده نیست، سیستم حق ندارد چیزی بسازد — باید بگوید بررسی میدانی لازم است.
چرا ارکستراسیون هوش مصنوعی از انتخاب مدل مهمتر است
سه دلیل، و هر سه عملیاند.
اول، مدلها عوض میشوند و این تصمیمها نه. مدلی که امروز انتخاب میکنید تا هجده ماه دیگر جایگزین دارد. اگر معماریتان طوری باشد که عوض کردن مدل یک تغییر پیکربندی باشد، این خبر خوبی است. اگر نباشد، هر نسل تازه یک بازنویسی است.
دوم، تفاوت محصولها اینجاست، نه در مدل. دو محصول که هر دو روی یک مدل کار میکنند میتوانند کاملاً متفاوت باشند، و تفاوتشان در همین چهار تصمیم است.
سوم، این همان جایی است که پروژهها شکست میخورند. پروژهای که خوب شروع میشود و در ماه سوم میایستد، تقریباً هیچوقت بهخاطر انتخاب مدل نایستاده. بهخاطر این ایستاده که حافظهای نداشته، حدی نداشته، یا وقتی مدل اشتباه کرد کسی فکر نکرده بود چه باید بشود.
این برای کسبوکار ایرانی یعنی چه
اول، سؤالتان را عوض کنید. بهجای «کدام مدل مناسبتر است»، بپرسید «این سیستم اگر مدلش عوض شود چقدر کار دارد». جوابِ فروشنده به این پرسش، بیشتر از هر نمایشی به شما میگوید با چه چیزی طرفید.
دوم، وابستگی به یک تأمینکننده در ایران ریسکِ بیشتری است. دسترسی به سرویسهای خارجی پایدار نیست. سیستمی که فقط یک راه دارد، روزی که آن راه بسته شود، هیچ راهی ندارد.
سوم، دربارهٔ رفتار در خطا بپرسید، نه دربارهٔ قابلیتها. «وقتی سیستم نمیداند چه میکند؟» — اگر جواب این باشد که «سعی میکند نزدیکترین حدس را بزند»، شما ریسکِ آن حدس را خریدهاید.
چهار پرسشی که پیش از خرید باید بپرسید
اینها را به ترتیب بپرسید. هر کدام یک تصمیم بالا را میسنجد و جوابشان در ده دقیقه معلوم میکند با چه چیزی طرفید.
۱. اگر مدل عوض شود، چقدر کار دارد؟ جوابِ «یک خط پیکربندی» یعنی معماری فکرشده. جوابِ «باید ببینیم» یعنی سیستم به یک مدل چسبیده و هر نسل تازه یک بازنویسی است.
۲. سیستم چه چیزی را بین گفتگوها به یاد میسپارد؟ اگر جواب «همهچیز» بود، یعنی تصمیمی گرفته نشده. اگر «هیچچیز» بود، یعنی مشتری هر بار از صفر شروع میکند. جوابِ درست فهرستی کوتاه و مشخص است.
۳. اگر سرویس بالا نیامد چه اتفاقی میافتد؟ پرسش را دقیق بپرسید: نه «آیا پایدار است» — که جوابش همیشه بله است — بلکه «وقتی نیست، کاربر چه میبیند».
۴. وقتی نمیداند چه میکند؟ این مهمترین پرسش است و کمترین بار پرسیده میشود. جوابِ قابل قبول این است که سیستم بگوید نمیداند و راه ادامه بدهد؛ جوابِ نگرانکننده این است که «سعی میکند کمک کند».
اشتباهی که ارکستراسیون هوش مصنوعی را گران میکند
یک الگوی خاص هست که در پروژههای زیادی دیدهام و هزینهاش دیر معلوم میشود: هر چیزی که مدل میتواند انجام دهد، به مدل سپرده میشود.
منطقش وسوسهکننده است. اگر مدل میتواند تاریخ را از متن دربیاورد، چرا کد بنویسیم؟ اگر میتواند تشخیص دهد شماره تلفن کدام است، چرا الگو تعریف کنیم؟
مشکل سهتاست. اول، گران است — کاری که با ده خط کد در میلیثانیه انجام میشود، با یک فراخوانی مدل چند صد میلیثانیه و مقداری پول میگیرد. دوم، غیرقابل پیشبینی است — همان ورودی دو بار جواب متفاوت میگیرد. سوم، غیرقابل آزمون است — نمیشود برایش تست نوشت که همیشه پاس شود.
قاعدهای که در عمل جواب داده: هر کاری که قاعده دارد، با قاعده انجام شود؛ مدل برای جایی است که قاعده ندارد. تشخیص شمارهٔ تلفن قاعده دارد. فهمیدن اینکه مشتری عصبانی است یا فقط عجله دارد، ندارد.
چه چیزی را نمیشود با ارکستراسیون درست کرد
این بخش را مینویسم چون بدون آن، این نوشته تبلیغ میشود.
دادهٔ ناقص. اگر اطلاعاتی که سیستم باید از آن جواب بدهد ناقص باشد، هیچ معماریای نجاتش نمیدهد. سیستم یا سکوت میکند یا حدس میزند، و هر دو بد است.
فرایندی که خودش خراب است. اگر پیگیری مشتری در کسبوکار شما تعریف نشده، خودکار کردنش فقط بینظمی را سریعتر میکند.
انتظاری که با واقعیت نمیخواند. سیستمی که قرار است جای یک آدمِ باتجربه را بگیرد، شکست میخورد. سیستمی که قرار است کارهای تکراریِ آن آدم را بردارد تا وقتش برای کار واقعی آزاد شود، جواب میدهد.
واژه، و چرا فارسیاش لازم است
«ارکستراسیون» وامواژه است و در فارسی جا نیفتاده. کسی که این کار را در ایران انجام میدهد، معمولاً نامی برایش ندارد و میگوید «کار با هوش مصنوعی» — که هیچ چیزی را از چیز دیگری جدا نمیکند.
نبودنِ واژه فقط یک مسئلهٔ زبانی نیست؛ یک مسئلهٔ بازار است. وقتی برای دو کارِ کاملاً متفاوت — تربیت مدل و ساختن روی مدل — یک نام به کار میرود، خریدار نمیتواند بفهمد کدام را میخرد، و فروشندهای که فقط به یک API وصل شده، خودش را کنارِ کسی میگذارد که سیستم ساخته است.
ارکستراسیون، همانطور که در موسیقی، یعنی چیدنِ سازهای موجود کنار هم تا با هم چیزی بسازند که هیچکدام تنها نمیساختند. سازها را نمیسازی؛ تصمیم میگیری کدام کجا بنوازد، کجا ساکت باشد، و وقتی یکی نبود چه کسی جایش را بگیرد. برای این کار، نامِ دقیقتری پیدا نکردم.
جمعبندی
ارکستراسیون هوش مصنوعی کارِ پرزرقوبرقی نیست و در هیچ نمایشی دیده نمیشود. ولی محصولی که در ماه سوم هنوز کار میکند و محصولی که نمیکند، تفاوتشان تقریباً همیشه همین چهار تصمیم است.
انتخاب مدل، تصمیمی است که هر سال دوباره میگیرید. اینها را یک بار میگیرید و با آنها زندگی میکنید.
سیستمعامل هوش مصنوعی چیست نشان میدهد این تصمیمها وقتی روی هم جمع شوند چه چیزی میسازند، و معمار هوش مصنوعی کیست دربارهٔ کسی است که آنها را میگیرد. اگر خواستید ببینید در عمل چه شکلی میشوند، سه سیستمی که ساختهایم با عدد و تاریخ آنجاست.