← بازگشت به مجله

معماری و اجرای سیستم AI · ۲۰ دقیقه مطالعه · رهبران محصول، مهندسان AI، تیم‌های platform و هر تیمی که در یک سیستم پرترافیک به تصمیم سریع، ساختاریافته و قابل‌سنجش نیاز دارد

Jev AI چیست؟ پژوهش عمیق دربارهٔ System One Model و تصمیم‌های ماشین‌محور

در این پژوهش بررسی می‌کنیم Jev و ایدهٔ System One Model دقیقاً چه مسئله‌ای را حل می‌کنند، primitiveهای Choice، Score و Noul چگونه کار می‌کنند، ادعاهای سرعت و هزینه چه محدودیت‌هایی دارند، confidence کجا مفید است و چگونه باید Jev را در معماری واقعی کنار کد قطعی، LLM و review انسانی قرار داد.

  • Jev یک primitive تصمیم typed است، نه chatbot یا جایگزین عمومی LLM.
  • Choice، Score و Noul باید با سؤال، rubric و failure path روشن طراحی شوند.
  • typed بودن خطای schema را محدود می‌کند، اما صحت معنایی هر تصمیم را تضمین نمی‌کند.
  • confidence سیگنال routing و escalation است، نه گواهی حقیقت در هر نمونه.
  • اعداد ۱۹۳٫۶ برابر سرعت و ۴۴۴٫۶ برابر هزینه، benchmarkهای گزارش‌شده توسط شرکت و وابسته به شرایط‌اند.
  • معماری قوی Jev را کنار کد قطعی، LLM و human review قرار می‌دهد.
  • ریاضی، تاریخ، شمارش، permission و invariantهای قطعی را به کد بسپارید.
  • برای فارسی، domain جدید و stateهای بزرگ، golden set و red-team محلی لازم است.
  • نسخه، threshold، fallback، audit trail و owner را پیش از scale مشخص کنید.

Jev AI دقیقاً چیست؟

Jev محصول TypeSafe AI و در مستندات فعلی مدل jev-1.13 است. API آن به جای اینکه از شما بخواهد promptی بنویسید و بعد JSON تولیدشده را parse کنید، یک state و مجموعه‌ای از سؤال‌های typed می‌گیرد. state می‌تواند متن، object یا array از متن باشد و سؤال‌ها با primitiveهایی مثل Choice، Score و Noul تعریف می‌شوند. پاسخ، داده‌ای است که قراردادش از قبل مشخص شده، نه رشته‌ای که باید با regex یا parser از دل آن نیت‌خوانی کنید.

برای همین Jev را بهتر است موتور تصمیم محدود و احتمالی بدانیم، نه یک chatbot کوچک. یک سرویس سفارش می‌تواند از آن بپرسد سفارش به کدام مسیر برود؛ یک سیستم پشتیبانی می‌تواند intent را به صف درست route کند؛ یک pipeline می‌تواند severity یا quality score بدهد. خود TypeSafe نیز use caseهای اصلی را routing، classification، scoring، extraction، guardrail و evaluation معرفی می‌کند. این‌ها سؤال‌های bounded هستند: دامنهٔ پاسخ روشن است و می‌توان خروجی را به تصمیم بعدی وصل کرد.

  • ورودی: state واقعی سیستم به‌همراه سؤال‌های دقیق و قابل‌تعریف.
  • خروجی: مقدار typed، احتمال‌ها و در primitiveهای لازم confidence.
  • مناسب برای: route، classify، score، extract، guardrail و judge.
  • نامناسب برای: متن بلند، کد عمومی، ایده‌پردازی باز و استدلال زنجیره‌ای.
  • نتیجهٔ عملی: Jev یک لایهٔ تصمیم است، نه جانشین کل stack هوش مصنوعی.

System One در برابر LLM معمولی چه تفاوتی دارد؟

TypeSafe از دو زبان روان‌شناختی استفاده می‌کند: System 2 برای کارهای کندتر، بازتر و استدلالی؛ System 1 برای واکنش سریع و تصمیم‌های الگو-محور. این نام‌گذاری یک استعارهٔ محصولی است، نه اثبات اینکه مدل واقعاً مغز انسان را شبیه‌سازی می‌کند. نکتهٔ فنی مهم‌تر این است که Jev برای پاسخ‌دادن به سؤال‌های atomic و مستقل طراحی شده، در حالی که LLM عمومی معمولاً یک توالی متن تولید می‌کند و ما بعداً تلاش می‌کنیم ساختار مورد نیاز را از آن بیرون بکشیم.

در الگوی LLM، معمولاً prompt، schema، parser، retry و validation کنار هم قرار می‌گیرند. اگر خروجی JSON ناقص باشد یا مدل یک مقدار خارج از enum برگرداند، application باید آن را رد یا اصلاح کند. در الگوی Jev، دامنهٔ خروجی از ابتدا در نوع سؤال قرار دارد. این کاهش سطح آزادی، برای کارهای bounded مزیت است؛ اما همان آزادی کمتر، Jev را برای مسئله‌های باز محدود می‌کند. هر دو مدل در یک محصول می‌توانند مکمل باشند.

از نگاه معماری، سؤال درست این نیست که Jev بهتر است یا LLM. سؤال درست این است: کدام بخش از تصمیم را می‌توان به یک قرارداد کوچک و تست‌پذیر تبدیل کرد، و کدام بخش هنوز به تولید، زمینه‌سازی و قضاوت باز نیاز دارد؟ در بسیاری از سیستم‌ها، LLM context را خلاصه یا غنی می‌کند، Jev تصمیم bounded را می‌گیرد، کد policy قطعی را اجرا می‌کند و انسان موارد پرریسک را بررسی می‌کند.

  • LLM: فضای پاسخ باز، مناسب تولید و ترکیب زبان؛ اما نیازمند schema و validation.
  • Jev: فضای پاسخ محدود و typed، مناسب تصمیم پرتکرار و قابل‌ارزیابی.
  • کد: مناسب قواعد قطعی، محاسبه، تاریخ، شمارش و permission.
  • انسان: مناسب exception، ambiguity، trade-off و تصمیم پرریسک.
  • معماری سالم معمولاً این چهار نقش را با هم ترکیب می‌کند.

سه primitive: Choice، Score و Noul

Choice برای وقتی است که پاسخ یکی از گزینه‌های مشخص است: مثلاً billing، technical یا sales. گزینه‌ها باید واقعاً mutually exclusive یا دست‌کم از نظر policy قابل‌تفسیر باشند. اگر تعریف گزینه‌ها هم‌پوشان است، مدل هرچقدر هم سریع باشد اختلاف شما را حل نمی‌کند؛ فقط اختلاف را با confidence به شکل دیگری تحویل می‌دهد.

Score برای رتبه‌بندی یا ارزیابی پیوسته به‌کار می‌رود، اما نباید آن را با calculator اشتباه گرفت. اگر لازم است دو عدد را جمع، میانگین یا با threshold دقیق مقایسه کنید، این کار باید در کد انجام شود. Score برای پرسش‌های معنایی مثل شدت ریسک، کیفیت نسبی یا تناسب با معیار مفید است، به شرط اینکه rubric و مثال‌های مرزی داشته باشید.

Noul، در زبان TypeSafe، پاسخ آزاد و ساختاریافته‌ای برای دانشی است که از قبل type محدود ندارد؛ اما همچنان با منطق System One متفاوت است و نباید آن را مجوز تولید متن بلند دانست. مستندات می‌گویند Noul confidence property ندارد. اگر خروجی Noul فقط یک signal اکتشافی است، آن را مستقیماً به اقدام حساس وصل نکنید.

  • Choice: انتخاب از یک مجموعهٔ محدود و قابل‌تست.
  • Score: داوری روی یک مقیاس معنایی با rubric؛ نه جایگزین محاسبهٔ دقیق.
  • Noul: پاسخ typed اما بازتر؛ بدون confidence استاندارد در مستندات فعلی.
  • هر primitive باید owner، مثال مثبت، مثال مرزی و failure path داشته باشد.
  • اگر سؤال را نتوان به یک قرارداد روشن تبدیل کرد، شاید هنوز برای Jev آماده نیست.

RLCD و confidence؛ بخش واقعاً مهم ماجرا

TypeSafe معماری آموزشی خود را با RLCD، مخفف Reinforcement Learning for Calibrated Decisions، توضیح می‌دهد. وعدهٔ اصلی calibration این نیست که هر پاسخ درست است؛ وعده این است که وقتی سیستم در مجموعه‌ای از نمونه‌ها confidence مشخصی اعلام می‌کند، آن confidence در aggregate تا حدی با نرخ درستی هم‌راستا باشد. این برای routing و escalation بسیار مهم‌تر از یک عدد براق روی UI است.

مستندات TypeSafe سه مسیر عملی پیشنهاد می‌کنند: confidence بالا می‌تواند به اقدام خودکار برسد؛ confidence میانی نیازمند تأیید، دادهٔ بیشتر یا مسیر cautious است؛ confidence پایین باید متوقف، به انسان سپرده یا به fallback فرستاده شود. threshold هم باید با ریسک scale شود. آستانه‌ای که برای دسته‌بندی یک مقاله قابل‌قبول است، برای approve کردن انتقال پول قابل‌قبول نیست.

اما calibration ویژگی جمعیتی است، نه تضمین فردی. اگر test set با production فرق کند، توزیع ورودی عوض شود یا criteria مبهم باشد، confidence می‌تواند گمراه‌کننده شود. بنابراین confidence را سیگنال تصمیم‌گیری دربارهٔ مسیر بعدی بدانید، نه گواهی حقیقت. برای هر workflow باید reliability، coverage، false positive و false negative را روی دادهٔ خودتان بسنجید.

  • High confidence: فقط برای اقدام کم‌ریسک یا policy کاملاً محدود.
  • Medium confidence: تأیید، دادهٔ بیشتر یا مسیر آهسته‌تر.
  • Low confidence: توقف، fallback یا human review.
  • Threshold باید بر اساس هزینهٔ خطا و نه فقط میانگین accuracy تعیین شود.
  • Calibration باید با drift و تغییر توزیع داده دوباره بررسی شود.

Jev چگونه می‌تواند سریع و ارزان باشد؟

توضیح TypeSafe این است که Jev برای تصمیم‌های atomic، با sampling موازی و معماری اختصاصی ساخته شده است؛ نه برای تولید token به‌صورت ترتیبی و طولانی. اگر پاسخ هدف یک label یا score محدود باشد، حذف تولید نثر و parse کردن آن می‌تواند مسیر inference را کوتاه کند. در API، input بر اساس token قیمت‌گذاری می‌شود و output typed token جداگانه قیمت‌گذاری نمی‌شود؛ مستندات فعلی قیمت ۰٫۰۴۲ دلار به‌ازای هر میلیون input token را نشان می‌دهند.

صفحهٔ رسمی Jev یک بازهٔ محافظه‌کارانهٔ حدود ۴۰ تا ۲۰۰ برابر سریع‌تر و ارزان‌تر از LLM را مطرح می‌کند. مقالهٔ رسمی جدیدتر TypeSafe برای یک مقایسهٔ مشخص، اعداد ۱۹۳٫۶ برابر سریع‌تر و ۴۴۴٫۶ برابر ارزان‌تر را گزارش می‌کند. این اعداد را نمی‌توان بدون ذکر workload، prompt، provider، hardware، batch، کیفیت و روش محاسبه به همهٔ پروژه‌ها تعمیم داد.

مزیت اقتصادی Jev زمانی واقعی می‌شود که یک decision primitive جای زنجیرهٔ پرهزینهٔ prompt، تولید JSON، retry، parse و validation را بگیرد و quality workflow حفظ شود. اگر برای آماده‌سازی state مجبور شویم چند LLM call گران بزنیم، یا هر خروجی را به‌خاطر ابهام به انسان بفرستیم، هزینهٔ کل سیستم دیگر قیمت خام token نیست. cost per successful decision را بسنجید، نه cost per API call را.

  • ادعای عملکرد باید با workload و baseline قابل‌بازسازی خوانده شود.
  • قیمت خام مدل با هزینهٔ state preparation، retry، review و نگهداری برابر نیست.
  • ملاک محصولی: cost per successful decision، نه فقط token price.
  • در بارهای کوچک یا پرسش‌های پیچیده، overhead معماری ممکن است مزیت را کم کند.
  • قبل از scale، latency و quality را روی دادهٔ واقعی خودتان اندازه بگیرید.

evidence واقعی کجاست و کجا باید محتاط بود؟

TypeSafe در صفحهٔ ارزیابی خود چهار workflow با موضوع‌هایی مانند رخداد امنیتی، observability ردپای Agent، پردازش فاکتور و خدمات مشتری نمایش می‌دهد. سؤال‌های decomposed با Choice، Score یا Noul به برچسب‌های مرجع مقایسه می‌شوند. صفحهٔ ارزیابی صریحاً می‌گوید برچسب‌های مرجع از میانگین GPT-6 Astra و Claude Fable 5.1 با thinking بالا ساخته شده‌اند و درست‌بودن harness فرض شده است. این یک بنچمارک داخلی مفید برای مطالعه است، نه آزمون مستقل دانشگاهی.

مقالهٔ رسمی Jev نیز یک آزمایش LangChain را گزارش می‌کند: پنج اجرای agent آب‌وهوا، هرکدام ۱۰۰ بار، و چهار judge. طبق گزارش شرکت، Jev در ۵۰۰ از ۵۰۰ مورد با oracle انسانی agreement داشته و variance کمی نشان داده است. همان مقاله تأکید می‌کند که آزمایش narrow و observational است. یک نتیجهٔ خوب در یک workflow محدود، شواهدی برای همان workflow است؛ مجوز ادعای برتری عمومی نیست.

در launch blog هم خود شرکت چند محدودیت روش‌شناختی را مطرح می‌کند: مقایسهٔ سرعت از لپ‌تاپ‌های ساحل غربی انجام شده، side-by-side به state کوتاه و متراکمی متکی است که برای Jev مناسب است، بعضی workflowها توسط capability team شرکت ساخته شده‌اند و قیمت ممکن است در early access یارانه‌ای باشد. این level از disclosure ارزشمند است و باید در گزارش فنی حفظ شود.

  • منبع شرکت برای فهم طراحی و ادعاها ضروری است، اما به‌تنهایی independent validation نیست.
  • هر benchmark باید task، dataset، baseline، judge، هزینه و failure را روشن کند.
  • یک workflow موفق به معنی برتری عمومی مدل نیست.
  • نتیجهٔ قابل‌انتقال: روش آزمون را بردارید، نه فقط عدد نهایی را.
  • ادعاهای شرکت در این مقاله به‌عنوان گزارش شرکت برچسب خورده‌اند.

Jev در چه کارهایی واقعاً می‌درخشد؟

بهترین نقطهٔ شروع Jev جایی است که تصمیم زیاد تکرار می‌شود، دامنهٔ خروجی محدود است، تأخیر مهم است و یک خطای تصمیم هزینهٔ قابل‌تعریفی دارد. مثلاً در یک inbox پشتیبانی، Jev می‌تواند intent را به یک queue route کند؛ کد می‌تواند مجوز و SLA را enforce کند؛ و LLM فقط برای موارد مبهم توضیح یا draft بسازد. در این طراحی، مدل به جای مالک کل فرایند، یک decision point مشخص دارد.

در guardrail هم ارزش Jev فقط در گفتن yes/no نیست. ارزش آن در جداکردن policy از تولید متن است. یک درخواست را می‌توان از نظر نوع داده، سطح ریسک، مسیر ابزار و نیاز به approval بررسی کرد. سپس policy قطعی در کد تصمیم می‌گیرد چه ابزاری مجاز است. این ترکیب جلوی اشتباه رایج را می‌گیرد که مدل را هم داور، هم اجراکننده و هم گزارش‌دهندهٔ عملکرد خودش کنیم.

برای LLM-as-a-judge نیز Jev می‌تواند در پرسش‌های کوتاه و rubricمحور گزینهٔ بررسی باشد. اما judge هم باید با golden set، نمونه‌های اختلاف و human adjudication سنجیده شود. اگر rubric مبهم است، Jev ambiguity را حل نمی‌کند؛ آن را با یک label و probability منظم‌تر نشان می‌دهد.

  • Routing تیکت، سفارش، lead یا درخواست ابزار.
  • Classification و extraction از متن یا state ساختاریافته.
  • Scoring ریسک، کیفیت، تناسب یا شدت بر اساس rubric.
  • Guardrail پیش از action یا tool call.
  • Evaluation و judge برای پرسش‌های bounded و تکرارشونده.
  • Batch processing که latency و هزینهٔ هر تصمیم در آن مهم است.

کجا نباید از Jev استفاده کنیم؟

مستندات رسمی Jev failure modeهای متنوعی را فهرست می‌کنند: literal reading، خطا در ریاضی و شمارش، مقایسهٔ تاریخ و زمان، indirection، context rot، متن adversarial، دستورهای متناقض و generation. این فهرست مهم است چون نشان می‌دهد typed بودن نباید با توانایی عمومی اشتباه شود. کد را برای محاسبه، تاریخ، شمارش و invariantهای قطعی نگه دارید.

Jev برای نوشتن یک مقاله، تولید کد، حل مسئلهٔ ریاضی باز، chain-of-thought یا کشف ایدهٔ جدید انتخاب اول نیست. همچنین اگر state طولانی و پر از اطلاعات نامرتبط باشد، قبل از مقصر دانستن مدل باید state را filter و summarize کنید. مستندات می‌گویند زبان اصلی آموزش انگلیسی است و زبان‌های دیگر، از جمله فارسی، باید محلی و با test set خودشان بررسی شوند.

در سیستم واقعی، محدودیت مدل با محدودیت طراحی شما جمع می‌شود. هرجا اشتباه مدل مستقیماً پول، مجوز، امنیت، سلامت یا تعهد حقوقی را تغییر می‌دهد، Jev تنها تصمیم‌گیر نباشد. confidence بالا هم فقط می‌تواند مسیر را کوتاه‌تر کند؛ policy، permission و approval boundary باید بیرون از مدل باقی بمانند.

  • محاسبهٔ دقیق، تاریخ، شمارش و مقایسهٔ قطعی: کد.
  • تولید متن بلند یا کد عمومی: LLM یا ابزار تخصصی.
  • تصمیم پرریسک: policy، human review و audit trail.
  • state نامرتبط: filter، retrieval و خلاصه‌سازی پیش از Jev.
  • فارسی یا domain جدید: benchmark محلی، نه اعتماد به benchmark انگلیسی.

معماری پیشنهادی: Code + Jev + LLM + Human

الگوی پیشنهادی من یک زنجیرهٔ چهارلایه است. لایهٔ اول کد قطعی است: authentication، permission، محاسبه، rate limit، schema validation و state transition. لایهٔ دوم Jev است: یک تصمیم bounded مانند category، risk score یا نیاز به review. لایهٔ سوم LLM عمومی است: توضیح، خلاصه‌سازی، draft یا حل موردی که به reasoning و زبان باز نیاز دارد. لایهٔ چهارم انسان است: exception، ambiguity، approval و بازبینی نمونه‌هایی که policy برایشان حساس است.

ترتیب لایه‌ها تصادفی نیست. اگر LLM را قبل از policy قرار دهید، ممکن است متن قانع‌کننده‌ای تولید کند که از نظر مجوز غلط است. اگر Jev را جای کد قطعی بنشانید، محاسبه و permission را probabilistic کرده‌اید. اگر انسان را در همهٔ موارد وارد کنید، سیستم scale نمی‌شود. معماری خوب، هر تصمیم را به کم‌خطرترین لایه‌ای می‌سپارد که برایش کافی است.

برای هر decision point یک contract بنویسید: state version، سؤال، primitive، threshold، اقدام مجاز، fallback، owner، log، retention و test set. این contract از خود prompt مهم‌تر است. وقتی مدل عوض شد یا alias حرکت کرد، contract به شما نشان می‌دهد چه چیزی باید دوباره ارزیابی شود.

  • Code: قواعد قطعی و کنترل دسترسی.
  • Jev: تصمیم سریع و bounded با signal احتمال.
  • LLM: زبان باز، context synthesis و موارد استثنایی.
  • Human: accountability و تصمیم‌های غیرقابل‌برگشت.
  • هر layer باید fallback و owner قابل‌مشاهده داشته باشد.

API و قرارداد فنی Jev

مستندات Quickstart endpoint POST https://api.typesafe.ai/v1/systemone را نشان می‌دهد. در درخواست، state، model و questions قرار می‌گیرند و پاسخ شامل model version، answers، confidence یا probability و usage است. مدل alias فعلی jev-latest است و مستندات آن را به نسخهٔ jev-1.13.0 اشاره می‌دهند. برای thresholdهای حساس، version pin کردن از alias شناور امن‌تر است.

Jev در حال حاضر text-only است و docs برای تصویر، صدا و ویدئو پشتیبانی مستقیم اعلام نمی‌کند. context هر request محدودیت دارد و rate limit نیز پویا است؛ صفحهٔ مدل فعلی عددهای ۲۵۰٬۰۰۰ token در ثانیه و ۱٬۲۰۰ درخواست در دقیقه را به‌عنوان محدودیت فعلی نشان می‌دهد. این اعداد قرارداد ابدی نیستند و باید از صفحهٔ مدل و حساب واقعی دوباره خوانده شوند.

یک adapter کوچک در application بسازید تا schema داخلی شما به API Jev وصل شود. کل application را به request shape provider گره نزنید. adapter باید timeout، retry محدود، telemetry، version، error mapping و fallback داشته باشد. response خام و decision نهایی را جدا ذخیره کنید تا در postmortem بفهمید خطا از state، سؤال، مدل، threshold یا policy آمده است.

  • مدل را برای workflow حساس pin کنید و alias را فقط با فرآیند ارزیابی ارتقا دهید.
  • متن فارسی و domain-specific را با golden set واقعی خودتان آزمایش کنید.
  • timeout، retry و fallback را بیرون از مدل طراحی کنید.
  • response خام، version، سؤال و اقدام نهایی را trace کنید.
  • rate limit و قیمت را بخشی از configuration قابل‌مشاهده بدانید.

محدودیت‌های مستندشده؛ بخشی که تبلیغ کمتر نشان می‌دهد

در اسناد Model Jaggedness، TypeSafe به failureهایی اشاره می‌کند که برای تیم مهندسی بسیار عملی‌اند. مدل ممکن است متن را literal بخواند، در شمارش یا تاریخ خطا کند، با اطلاعات نامرتبط دچار context rot شود، دستور متناقض را بد حل کند یا یک invariant ساده را در Noul و Choice تضمین نکند. مستندات برای این موارد راه‌حل‌هایی مانند محاسبه در کد، filter کردن state، نوشتن criteria دقیق و red-team کردن را پیشنهاد می‌کنند.

این بخش برای من از ادعای zero hallucinations مهم‌تر است. یک provider بالغ فقط capability را نمی‌فروشد؛ failure surface را هم مستند می‌کند. تیمی که می‌خواهد Jev را deploy کند باید همین فهرست را به test case تبدیل کند: negation، گزینه‌های مشابه، تاریخ شمسی و میلادی، متن حاوی دستور مخرب، context حجیم، criteria متناقض و نمونه‌های فارسی.

در سیستم واقعی، محدودیت مدل با محدودیت طراحی شما جمع می‌شود. سؤال بد، state بد و threshold بد می‌توانند یک مدل خوب را به component پرریسک تبدیل کنند. پس quality Jev حاصل ضرب model، question design، state preparation، policy و monitoring است؛ نه مشخصه‌ای که فقط از model card می‌آید.

  • Failure mode را بخوانید و به fixture آزمون تبدیل کنید.
  • برای negation، ambiguity و data drift نمونهٔ مرزی بسازید.
  • هر چیزی که deterministic است از مدل بیرون بکشید.
  • context را قبل از inference کوچک، مرتبط و permission-aware کنید.
  • ادعای zero hallucination را به zero schema/type error محدود و شفاف تفسیر کنید.

alias، نسخه و هزینهٔ مهاجرت

Aliasهایی مثل jev-latest برای شروع راحت‌اند، اما وقتی threshold و quality bar محصول بر اساس یک مدل تنظیم شده، جابه‌جایی خودکار alias می‌تواند رفتار را تغییر دهد. راه درست این است که در production نسخهٔ دقیق ثبت شود، alias در محیط canary امتحان شود و پیش از promotion، golden set و نمونه‌های پرریسک دوباره اجرا شوند.

هزینهٔ مهاجرت فقط تغییر model name نیست. باید questionها، criteria، زبان، probability calibration، latency، rate limit، retry، output contract و مسیر human review را بررسی کنید. اگر Jev را با یک LLM جایگزین می‌کنید، schema و parser جدید را هم وارد threat model و regression test کنید؛ اگر برعکس حرکت می‌کنید، ببینید آیا state و سؤال واقعاً برای bounded decision مناسب است یا نه.

من همیشه یک exit plan کوچک می‌خواهم: adapter مستقل، test set نسخه‌گذاری‌شده، baseline از cost/latency/quality و یک provider یا fallback جایگزین برای مسیرهای حساس. Portability به‌معنی فعال نگه‌داشتن سه provider نیست؛ به‌معنی دانستن این است که اگر تصمیم عوض شد، چه چیزی را اندازه بگیریم و چه زمانی برگردیم.

  • version pin برای production؛ alias برای آزمایش کنترل‌شده.
  • canary و shadow evaluation پیش از promotion.
  • baseline شامل quality، latency، cost و human review rate.
  • adapter و contract مستقل از provider.
  • rollback و fallback تمرین‌شده، نه فقط نوشته‌شده.

چطور Jev را درست ارزیابی کنیم؟

ارزیابی را از ۵۰ تا ۲۰۰ نمونهٔ واقعی و ناشناس شروع کنید؛ نمونه‌ها را بر اساس فراوانی تنها انتخاب نکنید و edge caseها را عمداً وارد کنید. برای هر نمونه label مرجع، سطح ریسک، expected action، acceptable error و نیاز به review را ثبت کنید. اگر چند انسان متخصص اختلاف دارند، اختلاف را حذف نکنید؛ آن را به‌عنوان ambiguity مستند کنید و ببینید مدل چگونه با آن برخورد می‌کند.

چهار سطح را جدا بسنجید: کیفیت semantic decision، calibration confidence، هزینه و latency. علاوه بر accuracy، false positive، false negative، coverage، abstention، review rate و drift را اندازه بگیرید. در یک مسیر مالی، false approval احتمالاً از false rejection پرهزینه‌تر است؛ در یک inbox بازاریابی، trade-off ممکن است برعکس باشد. threshold باید به cost matrix وصل شود.

یک مقایسهٔ منصفانه بسازید: Jev تنها، LLM با schema و validation، rule-based baseline و مسیر human-only. اگر Jev از baseline ساده بهتر نیست، معماری پیچیده‌تر توجیه ندارد. اگر بهتر است، باید نشان دهید این بهبود در cost per successful decision و زمان واقعی هم دیده می‌شود.

  • Golden set متوازن با نمونه‌های معمول، مرزی و adversarial.
  • Baseline سادهٔ rule-based و human-only.
  • مقایسه با LLM + schema + validation، نه LLM خام.
  • Quality، calibration، cost، latency و review rate در یک dashboard.
  • promotion فقط بعد از بازبینی failureهای مهم و ثبت decision log.

یک use case فرضی برای حکیم

فرض کنیم حکیم هر روز درخواست‌های اولیهٔ کسب‌وکارها را از فرم، پیام یا ایمیل دریافت می‌کند. هدف این نیست که Jev جای گفت‌وگو با مشتری را بگیرد. هدف کوچک‌تر و قابل‌سنجش‌تر است: تشخیص اولیهٔ نوع مسئله، فوریت احتمالی، نیاز به اطلاعات بیشتر و مسیر مناسب برای پاسخ اول. state می‌تواند متن درخواست و چند فیلد قطعی باشد؛ Choice مسیر را بدهد، Score تناسب با brief را بسازد و confidence تعیین کند کدام مورد نیازمند مرور امین رضا است.

در این معماری، کد اول دادهٔ حساس را mask می‌کند و permission را enforce می‌کند. Jev فقط route و score می‌دهد. اگر confidence پایین یا تناقض criteria بالا باشد، مورد به review انسانی می‌رود. LLM می‌تواند بر اساس state و route یک draft پاسخ بسازد؛ اما ارسال، قیمت‌گذاری، تعهد زمانی و ثبت CRM در اختیار policy و انسان باقی می‌ماند.

این use case هنوز باید با دادهٔ واقعی ارزیابی شود و من ادعا نمی‌کنم Jev در آن بهتر است. ارزش پژوهشی آن این است که سؤال را از آیا یک مدل فوق‌العاده داریم به کدام decision point را می‌توانیم با quality bar روشن، سریع و قابل‌بررسی جدا کنیم تغییر می‌دهد. همین تغییر سؤال معمولاً معماری بهتری می‌سازد.

  • موفقیت: route درست با زمان کمتر و بدون افزایش lead از دست‌رفته.
  • ریسک: حذف زودهنگام درخواست مبهم یا افشای اطلاعات حساس.
  • کنترل: masking، confidence gate، human review و audit log.
  • fallback: صف دستی و پاسخ استاندارد بدون ادعای تصمیم خودکار.
  • آزمایش: مقایسه با ruleها، LLM ساختاریافته و triage انسانی.

رأی نهایی: انقلاب یا یک primitive بسیار خوب؟

Jev برای من نه یک hype معمولی است و نه انقلابی که همهٔ LLMها را کنار بزند. ایدهٔ System One یک abstraction مفید را جدی می‌کند: بسیاری از محصولات AI به تولید متن بیشتری نیاز ندارند؛ به decision pointهای کوچک‌تر، قرارداد typed، confidence قابل‌استفاده و مسیر escalation روشن نیاز دارند. اگر Jev این لایه را سریع‌تر و ارزان‌تر ارائه کند، برای workflowهای پرتکرار ارزش واقعی دارد.

در عین حال، ادعاهای عملکرد فعلی TypeSafe باید به‌عنوان evidence وابسته به benchmark خوانده شوند. calibration در aggregate تضمین صحت هر مورد نیست؛ فارسی و domainهای جدید نیازمند آزمون محلی‌اند؛ alias و قیمت تغییر می‌کنند؛ و failure modeها نشان می‌دهند کد، policy و انسان همچنان لازم‌اند. عبارت بدون hallucination نباید تیم را از ساختن evaluation و fallback بی‌نیاز کند.

جمع‌بندی من این است: Jev را وقتی انتخاب کنید که سؤال bounded، تصمیم پرتکرار، هزینهٔ latency یا LLM مهم و quality bar قابل‌تعریف است. آن را کنار LLM برای کارهای باز، کنار کد برای قواعد قطعی و کنار انسان برای ambiguity و ریسک قرار دهید. این مدل فکری از خود provider ماندگارتر است: AI را به کوچک‌ترین واحد تصمیمی تقسیم کنید که می‌توانید اندازه بگیرید، مالک آن را مشخص کنید و در روز شکست به مسیر امن برگردانید.

منابع و مسیر مطالعه

صفحهٔ رسمی Jev و توضیح محصول: https://jevai.net/ — بررسی‌شده در 2026-09-21.

مقالهٔ رسمی What Is a System One Model: https://jevai.net/articles/what-is-system-one-jev/ — به‌روزرسانی 2026-09-21 و بررسی‌شده در همان تاریخ.

معرفی رسمی TypeSafe از System One و Jev: https://typesafe.ai/blog/introducing-system-one-models-and-jev — منتشرشده در 2026-09-15 و بررسی‌شده در 2026-09-21.

مستندات Introduction و مفهوم System One: https://docs.typesafe.ai/introduction و https://docs.typesafe.ai/concepts/system-one.

Quickstart و قرارداد API: https://docs.typesafe.ai/introduction/quickstart.

مستندات مدل‌ها، قیمت، alias و محدودیت فعلی: https://docs.typesafe.ai/models.

مستندات confidence و مسیرهای auto، review و stop: https://docs.typesafe.ai/confidence.

مستندات failure modeهای Jev 1.13: https://docs.typesafe.ai/model-jaggedness/jev-1.13.

ارزیابی‌های workflow منتشرشده توسط TypeSafe: https://evals.typesafe.ai/.

مرز شواهد و تحلیل

تعریف Jev، System One، primitiveها، RLCD، قیمت، محدودیت‌های API، failure modeها و اعداد benchmark در این مقاله از صفحات رسمی TypeSafe AI و Jev گرفته شده‌اند. در مواردی که منبع خود شرکت است، مقاله آن را به‌عنوان ادعای گزارش‌شده یا ارزیابی داخلی معرفی می‌کند و آن را independent benchmark جا نمی‌زند.

تفکیک معماری Code + Jev + LLM + Human، مدل cost per successful decision، use case حکیم، توصیهٔ version pin، آستانه‌گذاری بر اساس ریسک و نتیجه‌گیری نهایی تحلیل حکیم و امین رضا سیدآبادی است. این تحلیل جای آزمایش روی دادهٔ واقعی، بررسی privacy و تصمیم owner فنی/محصول را نمی‌گیرد.

پرسش‌های متداول

آیا Jev جای ChatGPT یا Claude را می‌گیرد؟

خیر. Jev برای تصمیم‌های bounded مثل routing، classification، scoring و guardrail ساخته شده است. ChatGPT و Claude برای تولید متن، خلاصه‌سازی، کدنویسی و reasoning باز مناسب‌ترند. در معماری واقعی می‌توان این‌ها را کنار هم استفاده کرد.

آیا Jev واقعاً hallucination ندارد؟

خروجی typed احتمال خطای schema و شکل پاسخ را کم می‌کند، اما درست‌بودن معنایی هر تصمیم را تضمین نمی‌کند. عبارت zero hallucinations را باید محدود به خطاهای ساختاری و نوعی دانست و semantic error، criteria بد و data drift را با ارزیابی جدا سنجید.

System One Model یعنی چه؟

در چارچوب TypeSafe، System One برای تصمیم‌های سریع، atomic و ساختاریافته است و در برابر مدل‌های عمومی‌تر با کار باز و تولیدی قرار می‌گیرد. این اصطلاح استعارهٔ محصولی است و باید با رفتار فنی و benchmark واقعی سنجیده شود.

Jev برای چه پروژه‌هایی مناسب‌تر است؟

برای workflowهای پرتکرار با دامنهٔ پاسخ محدود، latency مهم، quality bar قابل‌تعریف و cost حساس؛ مثل route کردن، guardrail، امتیازدهی، استخراج وضعیت و ارزیابی bounded. برای متن بلند، کد عمومی و تصمیم کاملاً باز مناسب نیست.

مهم‌ترین محدودیت Jev چیست؟

محدودیت اصلی این است که typed و سریع‌بودن جای فهم context، معیار دقیق و طراحی سؤال را نمی‌گیرد. مستندات رسمی failureهایی مثل literal reading، شمارش، تاریخ، context rot، دستور متناقض و generation را هم گزارش می‌کنند.

از jev-latest استفاده کنیم یا نسخهٔ دقیق؟

برای آزمایش می‌توان از alias استفاده کرد، اما برای workflow حساس بهتر است نسخهٔ دقیق pin شود و تغییر alias از مسیر canary، golden set و regression test عبور کند. aliasها و محدودیت‌های سرویس ممکن است تغییر کنند.

منابع و زمینهٔ خبر