Governance · تعمیر کے اعتبار سے صرف پڑھنے کے قابل
پالیسی کوڈ ہے۔
پرامپٹ نہیں۔
SQAI ماڈل کو وہی سمجھتا ہے جو وہ ہے: ایک غیر بھروسہ مند کلائنٹ۔ Allow-lists ٹول کی تعمیر کے وقت کوڈ میں مقرر ہوتی ہیں، عمل سے پہلے in-process جانچی جاتی ہیں، اور ماڈل کے پروٹوکول سے غائب ہیں۔ سسٹم کو قائل کرنے کی کوئی گنجائش نہیں۔
IIمکمل تنگی
تین تہیں۔ ہر ایک صرف گھٹا سکتی ہے۔
ہر جواب ایک ہی حد سے گزرتا ہے۔ ایک hash-pinned کنٹریکٹ طے کرتا ہے کہ کیا موجود ہے۔ آپ کی پالیسی اسے صرف اجازت یافتہ تک محدود کرتی ہے۔ ایک typed درخواست کو دونوں کے اندر فٹ ہونا ضروری ہے۔
- 01
کنٹریکٹ
pinned runtime میں 4,778 صلاحیتیں؛ ایجنٹس کو 4,574 بے نقاب، ہر ایک صرف پڑھنے کے قابل۔ باقی 204 سرے سے خارج ہیں — ماڈل کے لیے ان کا وجود نہیں۔
- 02
آپ کی پالیسی
تین allow-lists — allowedSources، allowedFields فی source، allowedFunctions — createSQAI() کے وقت مقرر۔ Functions کی ڈیفالٹ ویلیو "all-readonly" ہے۔
- 03
ایک درخواست
ایک typed منصوبہ، کنٹریکٹ کے خلاف تصدیق شدہ، پھر عمل سے پہلے in-process پالیسی کے خلاف جانچا گیا — بعد میں نہیں۔
allowedSourcesordersallowedFieldsregionrevenueunit_priceallowedFunctionsstats.medianfinance.npvQuerySpec v1 · median(revenue) by region · policy ✓
contract_hash sha256:79f1c5a6c7164e7e9e1750e70a5c03292fa87eb52d8148a740c06695924be9a1
صرف تنگ کریں۔
پالیسی سطح کو سکیڑ سکتی ہے؛ کوئی چیز اسے بڑھا نہیں سکتی۔ کوئی ایسی صلاحیت نام لیں جو کنٹریکٹ بے نقاب نہیں کرتا تو createSQAI() تعمیر کے وقت unsupported_operation پھینکتا ہے — ایپ کسی ایجنٹ کے جڑنے سے پہلے ناکام ہو جاتی ہے۔
اور ماڈل کے ٹول ان پٹ میں کوئی allowed* فیلڈ نہیں ہوتی۔ پالیسی پروٹوکول میں نہیں، اس لیے کوئی پرامپٹ — یا انجیکشن — اسے وسیع نہیں کر سکتا۔
IIIپالیسی، کوڈ میں
ایک بار لکھی۔ ہر بار جانچی۔
زیادہ تر governance ٹولنگ ڈیٹا پاتھ کے ساتھ بیٹھ کر اسے دیکھتی ہے۔ SQAI کی پالیسی پاتھ کے اندر ہے: constructor میں تین allow-lists، ہر عمل سے پہلے in-process نافذ۔
const sqai = createSQAI({
sources: { orders },
// policy — fixed here, invisible to the model
allowedSources: ['orders'],
allowedFields: {
orders: ['region', 'revenue', 'unit_price'],
},
// functions default: 'all-readonly'
allowedFunctions: [
'stats.median', 'finance.npv',
],
});- allowedSources
- وہ registered sources جنہیں کوئی منصوبہ نام دے سکتا ہے۔ کوئی بھی اور چیز policy_denied_source لوٹاتی ہے۔
- allowedFields
- فی source کالم۔ کوئی منصوبہ جو کسی اور کالم کو چھوئے policy_denied_field لوٹاتا ہے۔
- allowedFunctions
- وہ read-only functions جنہیں کوئی منصوبہ کال کر سکتا ہے — ڈیفالٹ "all-readonly"۔ باہر کی کوئی بھی چیز policy_denied_function لوٹاتی ہے۔
- tool input
- کوئی allowed* فیلڈ نہیں رکھتا۔ ماڈل پالیسی کبھی نہیں دیکھتا، اس لیے وسیع تر پالیسی بھیج نہیں سکتا۔
انکار کا دفتر
انکار ڈیٹا ہیں، استثنا نہیں۔ ہر ایک میں ایک مستحکم کوڈ ہوتا ہے جسے ایجنٹ پڑھ سکتا ہے — اور کوئی بھی دوبارہ قابل کوشش نہیں، اس لیے لوپ پالیسی کو گھسا نہیں سکتا۔
تعمیر کے وقت
unsupported_operationپالیسی ایک ایسی صلاحیت نام لیتی ہے جو کنٹریکٹ بے نقاب نہیں کرتا۔ تعمیر پھینکتی ہے؛ ایپ کسی ایجنٹ کے جڑنے سے پہلے ناکام ہو جاتی ہے۔
درخواست کے وقت
policy_denied_sourceمنصوبہ allowedSources سے باہر کوئی source نام لیتا ہے۔
policy_denied_fieldمنصوبہ اس source کے allowedFields سے باہر کوئی کالم چھوتا ہے۔
policy_denied_functionمنصوبہ allowedFunctions سے باہر کوئی function کال کرتا ہے۔
source: "sqai" — ہر پالیسی انکار ایک منظم، غیر قابلِ تکرار نتیجے کے طور پر آتا ہے۔ ٹولز کبھی استثنا نہیں پھینکتے۔
IVتحویل
نتائج محفوظ ہیں، مستقل نہیں۔
مکمل نتائج کا مجموعہ کبھی ماڈل کے سیاق میں نہیں آتا۔ اسے ایک زیرِ نگرانی اسٹور میں رکھا جاتا ہے اور id کے ذریعے حوالہ دیا جاتا ہے؛ ماڈل کو ایک اعلان شدہ نمونہ ملتا ہے۔
نتائج کا اسٹور
زیرِ نگرانی اسٹور · TTL 15 min
- result_id
- 16 بے ترتیب بائٹس، base64url۔ ناقابلِ اندازہ، کبھی ترتیب وار نہیں۔
- authorization
- ٹیننٹ سے منسلک۔ غلط ٹیننٹ کو result_not_found ملتا ہے — اسٹور وجود کی تصدیق کبھی نہیں کرتا۔
- ttl
- 15 منٹ۔ پھر اندراج ختم ہو جاتا ہے۔
- capacity
- زیادہ سے زیادہ 256 نتائج — کل 64 MB، فی ٹیننٹ 16 MB۔
اسٹور نتیجہ رکھتا ہے۔ ماڈل نمونہ پڑھتا ہے اور اسے ظاہر کرتا ہے۔
ماڈل سیاق کی حدود
defaultLimit100قطار کی حد جب پلان میں کوئی حد مقرر نہ ہوmaxExecutionRows1,000کسی بھی عمل کی واپس کردہ قطاروں کی سخت حدmaxRowsToModel25ماڈل سیاق کو ملنے والی زیادہ سے زیادہ قطاریںmaxCellsToModel250ماڈل سیاق کو ملنے والے زیادہ سے زیادہ خانےmaxBytesToModel32,000ماڈل کو ملنے والے نتائج کے زیادہ سے زیادہ بائٹستراش ہمیشہ نتیجے میں اعلان کی جاتی ہے۔ ادھوری قطاریں کبھی نہیں دکھائی جاتیں — قطار یا مکمل آتی ہے یا بالکل نہیں۔
آڈٹ کا پہلو
17%تنظیمیں جو بعد از وقت ایجنٹ کی مکمل ٹول-کال ترتیب دوبارہ تشکیل دے سکتی ہیں
GDPR Article 30 اور SOC 2 CC7.2 بالکل انہی ریکارڈز کا تقاضا کرتے ہیں۔
SQAI کا ہر جواب اپنی دوبارہ تشکیل خود ساتھ لاتا ہے:
plan_hash · invocation_hash · computation_hash · contract_hash
ری پلے ایک تلاش ہے، تحقیقات نہیں۔ ری پلے کا طریقہ →
VIسوالات
گورننس، براہِ راست
کیا ماڈل اپنی رسائی خود بڑھا سکتا ہے؟
نہیں۔ پالیسی createSQAI() کے وقت طے ہو جاتی ہے اور عمل سے پہلے اندرونی طور پر جانچی جاتی ہے۔ ماڈل کے ٹول ان پٹ میں کوئی allowed* فیلڈ نہیں، لہٰذا پروٹوکول میں رسائی بڑھانے کی کوئی گنجائش نہیں — پالیسی سے باہر کی درخواست ایک منظم policy_denied نتیجہ لوٹاتی ہے۔
کیا read-only ایک ایسا فلیگ ہے جسے کوئی نظرانداز کر سکے؟
یہ فلیگ نہیں ہے۔ ظاہر کردہ معاہدے میں 4,574 read-only صلاحیتیں ہیں؛ لکھنے کا راستہ تعمیر کے اعتبار سے غیر موجود ہے، غیر فعال نہیں۔ پرامپٹ انجیکشن ماڈل کی درخواست بدل سکتا ہے — وہ پِن شدہ معاہدے میں صلاحیتیں نہیں جوڑ سکتا۔
GDPR Article 30 یا SOC 2 CC7.2 جائزے کے لیے کون سے ریکارڈ موجود ہیں؟
ہر نتیجے میں plan_hash، invocation_hash، computation_hash اور contract_hash موجود ہوتے ہیں۔ عین وہی عمل بعد از وقت دوبارہ چلایا اور ان ہیشز سے تصدیق کیا جا سکتا ہے۔
کوئری کے بعد نتائج کا ڈیٹا کہاں رہتا ہے؟
ٹیننٹ سے مجاز نتائج کے اسٹور میں: ids 16 بے ترتیب بائٹس ہیں، اندراجات 15 منٹ بعد ختم ہو جاتے ہیں، اور اسٹور کل 64 MB اور فی ٹیننٹ 16 MB تک محدود ہے۔ ماڈل سیاق کو زیادہ سے زیادہ 25 قطاریں، 250 خانے اور 32,000 بائٹس ملتے ہیں — تراش ہمیشہ اعلان کردہ۔
VIIآگے
جواب کو کنٹرول کریں۔
ایک اسکیما اور تعمیل کا سوال لائیں۔ ہم آپ کو وہ پالیسی دکھائیں گے جو اس کا جواب دیتی ہے۔