رابط چت دمو را آسان میکند. خروجی ساختیافته است که فیچر AI را تمیز به محصول وصل میکند. یکی از روندهای روشن اواخر ۲۰۲۵ همین بود: API مدل و ابزار توسعهدهنده بیشتر از متن آزاد، اسکیما میخواستند. این جابهجایی فیچر را به ابتداییهای عادی نرمافزار نزدیک میکند، بهجای اینکه در سرزمین متن بیساختار گیر بماند.
اعلامیه را در یک جمله رها نکن. فرض تازه برای تیم مهم است. چه چیزی آسانتر شد، چه چیزی امنتر شد، و چه چیزی سخت ماند. اسکیما بهخودیخود معنی نمیدهد مدل درست فهمیده. یعنی اپ بالاخره میتواند جواب را مثل داده ببیند.
وقتی اسکیما قابل اتکا باشد طراحی محصول عوض میشود
اگر مدل اسکیمای قابل اعتماد بدهد، یک کلاس از طراحی راحتتر میشود. میتوانی گردش کار را راه بیندازی، رکورد را بهروز کنی، ابزار را صدا بزنی، تصمیم را مسیریابی کنی، و حالت رابط را با تجزیه دفاعی کمتر رندر کنی. این از یک جعبه چت دیگر بزرگتر است.
متن آزاد برای انسانی که میخواند خوب است. صف، پایگاه، و کامپوننت به فیلد نیاز دارند. وضعیت، دلیل، شناسه رکورد، و اینکه آیا عمل مجاز است یا نه، باید جایی باشند که اعتبار شوند. اگر اینها را از پاراگراف با regex درمیآوری، محصول هنوز به شانس تکیه دارد. حتی با خروجی ساختیافته هم اعتبار در اپ لازم است. مدل میتواند JSON خوششکل و از نظر کسبوکار غلط بدهد.
ارزش وقتی واقعی است که شکل اپ عوض شود. شاید مسیر همزمان ناهمزمان شود چون نتیجه ساختیافته را میشود در صف گذاشت. شاید کار به گام کوچک بشکند چون هر گام اسکیمای خودش را دارد. شاید مدل گران فقط آخرین جمعبندی را بسازد و گامهای قبلی فیلد ارزان برگردانند. قابلیت خام اگر این اصطکاک را کم نکند، ویترین است.
قرارداد را به پرداخت رابط ترجیح میدهم
وقتی باید بین صیقل پوشش مکالمهای و سفت کردن قرارداد خروجی یکی را انتخاب کنم، قرارداد را برمیدارم. اسکیمای روشن بقیه اپ را آرام میکند. ابهام بین مدل و کد را کم میکند، همانجایی که درد پروداکشن قایم میشود.
همان هفته یک گردش کار را دست میزنم، نه کل محصول را. میبینم خطا، صدای پشتیبانی، یا پیچیدگی مهندسی کم شد یا فقط دمو مرتبتر شد. اپ باید کار سنگین را بردارد: اعتبار، تلاش دوباره، و اثر جانبی. مدل فیلد پیشنهاد میدهد. اپ تصمیم میگیرد آن فیلد حق دارد وضعیت کاربر را عوض کند یا نه.
پرامپت را وادار نکن همزمان طبقهبندی کند، ایمیل بنویسد، قیمت پیشنهاد دهد، و اولویت تیکت را عوض کند و همه را در یک اسکیما بریزد. اسکیما کمک میکند، ولی وقتی کار باریک است بهتر کار میکند. پنج کار مبهم با یک شیء تایپدار هنوز پنج کار مبهم است. فقط شکستش دیرتر و در صف بعدی دیده میشود.
فیلد اضافه برای «اطمینان مدل» را سیاست محصول ندان، مگر اینکه خودت روی داده واقعی دیده باشی آن عدد با خطا همبستگی دارد. در غیر این صورت فقط ستون تزئینی است. ارجاع به شناسه رکورد مفیدتر است، چون اپ میتواند وجود و مجوزش را چک کند.
روز دوم هنوز مال توست
تیمها خروجی ساختیافته را افزونه آرایشی میگیرند و پرامپت هنوز پنج کار مبهم میخواهد. بهبود پلتفرم معماری را ارتقا نمیدهد. اگر کسی نتواند بگوید صدای گران کجاست، اسکیما راه سریعتر برای آشفتگی مرتب است. اعتماد از حالت خطا، زمان پاسخ، تلاش دوباره، لاگ، و دست دادن به کد عادی ساخته میشود. برای این فیچر، خطا یعنی شیء نامعتبر، فیلد خارج از فهرست مجاز، یا اثری که نباید بدون تأیید ذخیره میشد. اینها را به کاربر و به پشتیبانی یک شکل نشان بده.
یک مسیر موجود را انتخاب کن. مرز کار را تنگ کن. تأخیر، شکست اعتبار، و هزینه را به تفکیک همان مسیر ببین. فرض عوضشده را بنویس: مثلاً اینکه دیگر نثر مدل را منبع حقیقت وضعیت نمیدانی. این یادداشت بیشتر از یک هفته آزمایش به معماری کمک میکند.
خروجی ساختیافته فیچر واقعی محصول است چون مدل را با نرمافزار ترکیبپذیر میکند. ترکیب است که هوش را به کارکرد قابل استفاده تبدیل میکند. جعبه چت میتواند در بماند. اگر پشتش قرارداد نباشد، فقط جای گرانتری برای حدس زدن است.
قبل از اینکه UI چت را صیقل بدهی، یک بار خروجی را بدون رابط، از روی فیلدها، در محصول مصرف کن. اگر صف یا فرم نتواند با همان شیء کار کند، هنوز فیچر نداری. یک متن داری که کسی باید برای ماشین ترجمه کند، و آن ترجمه همان جایی است که دموها فردای انتشار میشکنند.
فیلد را تا اثر جانبی همراهی کن
اسکیما وقتی فیچر محصول است که از مرز مدل تا ذخیره یک شکل بماند. اگر مدل status و reason و recordId بدهد و سرویس بعدی دوباره از روی متن خلاصه تصمیم بگیرد، قرارداد را دور زدهای. من خروجی معتبر را همان ورودی صف و همان ورودی فرم ویرایش میکنم. انسان اگر چیزی را عوض کند، فیلد را عوض میکند، نه اینکه پاراگراف تازهای بنویسد و امیدوار باشد سیستم بفهمد.
فهرست مجاز را در اپ نگه دار، نه فقط در توضیح پرامپت. وضعیتهایی که محصول میشناسد محدودند. اگر مدل وضعیت تازه اختراع کرد، اعتبار باید رد کند و کار به حالت قابل بازیابی برود: تلاش دوباره با همان ورودی، یا نشان دادن خطا به کاربر، نه ذخیره نیمهکاره. تلاش دوباره بیسقف، خروجی ساختیافته را به حلقه گران تبدیل میکند. یک یا دو بار کافی است. بعدش مسیر جایگزین مال محصول است.
ابزار را با فیلد صدا بزن، نه با برش متن. اگر مدل پیشنهاد بازپرداخت میدهد، ابزار صورتحساب مبلغ و شناسه را از شیء معتبر میگیرد و سقف و یکبارمصرف بودن را خودش اجرا میکند. مدل حق ندارد با جمله «کاربر ناراحت به نظر میرسید» از این سقف رد شود. این همان جایی است که چت دروغ راحت میگوید و اسکیما، اگر واقعاً به کد وصل باشد، دروغ را گران میکند.
رابط چت را میتوانی بعداً روی همین قرارداد سوار کنی. کاربر سؤال میپرسد، ولی چیزی که سیستم نگه میدارد هنوز فیلد است و چیزی که کاربر تأیید میکند هنوز همان فیلد است، در سطحی که بشود فرق نسخه قبل و بعد را دید. اگر نتوانی فیچر را بدون حباب چت برای یک سناریو تا آخر ببری، خروجی ساختیافته را هنوز به محصول وصل نکردهای. فقط شکل پاسخ مدل را مرتب کردهای.