Governance · للقراءة فقط بالبناء
السياسة كود.
لا موجّه.
يتعامل SQAI مع النموذج على حقيقته: عميل غير موثوق. قوائم السماح ثابتة في الكود عند بناء الأداة، وتُفحص داخل العملية قبل أي تنفيذ، وغائبة عن بروتوكول النموذج. لا شيء يمكن إقناع النظام بالتخلي عنه.
IIالتضييق كاملاً
ثلاث طبقات. كل منها تحذف فقط.
كل إجابة تمر بالاحتواء ذاته. عقد مثبّت بتجزئة يحدد ما هو موجود. سياستك تضيّقه إلى ما هو مسموح. طلب واحد مكتوب بأنواع يجب أن يقع داخل كليهما.
- 01
العقد
4,778 قدرة في وقت التشغيل المثبّت؛ 4,574 مكشوفة للوكلاء، كلها للقراءة فقط. الـ204 الأخرى مستبعدة كلياً — بالنسبة للنموذج، هي غير موجودة.
- 02
سياستك
ثلاث قوائم سماح — allowedSources وallowedFields لكل مصدر وallowedFunctions — ثابتة عند استدعاء createSQAI(). الدوال تُعيَّن افتراضياً على "all-readonly".
- 03
طلب واحد
خطة مكتوبة بأنواع، تُتحقق منها مقابل العقد ثم تُفحص مقابل السياسة داخل العملية — قبل التنفيذ، لا بعده.
allowedSourcesordersallowedFieldsregionrevenueunit_priceallowedFunctionsstats.medianfinance.npvQuerySpec v1 · median(revenue) by region · policy ✓
contract_hash sha256:79f1c5a6c7164e7e9e1750e70a5c03292fa87eb52d8148a740c06695924be9a1
تضييق فقط.
يمكن للسياسة تقليص النطاق؛ لا شيء يوسّعه. تسمية قدرة لا يكشفها العقد يجعل createSQAI() يُطلق unsupported_operation عند البناء — يفشل التطبيق قبل أن يتصل به أي وكيل.
وإدخال أداة النموذج لا يحمل أي حقل allowed*. السياسة ليست في البروتوكول، فلا شيء يمكن لموجّه — أو حقن — توسيعه.
IIIالسياسة في الكود
تُكتب مرة. تُفحص في كل مرة.
معظم أدوات الحوكمة تجلس بجانب مسار البيانات وتراقبه. سياسة SQAI تجلس داخل المسار: ثلاث قوائم سماح في المُنشئ، مُطبَّقة داخل العملية قبل كل تنفيذ.
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
- المصادر المسجّلة التي يجوز للخطة تسميتها. أي شيء آخر يُعيد policy_denied_source.
- allowedFields
- الأعمدة، لكل مصدر. خطة تلمس أي عمود آخر تُعيد policy_denied_field.
- allowedFunctions
- الدوال للقراءة فقط التي يجوز للخطة استدعاؤها — الافتراضي "all-readonly". أي شيء خارجها يُعيد policy_denied_function.
- tool input
- لا يحمل أي حقل allowed*. النموذج لا يرى السياسة قط، فلا يمكنه إرسال سياسة أوسع.
سجل الرفض
الرفوض بيانات لا استثناءات. كل رفض يحمل رمزاً ثابتاً يقرأه الوكيل — ولا شيء منها قابل لإعادة المحاولة، فلا تستطيع حلقة استنزاف السياسة.
عند البناء
unsupported_operationالسياسة تُسمّي قدرة لا يكشفها العقد. يُطلق البناء استثناءً؛ يفشل التطبيق قبل اتصال أي وكيل.
عند وقت الطلب
policy_denied_sourceالخطة تُسمّي مصدراً خارج allowedSources.
policy_denied_fieldالخطة تلمس عموداً خارج allowedFields لذلك المصدر.
policy_denied_functionالخطة تستدعي دالة خارج allowedFunctions.
source: "sqai" — كل رفض للسياسة يصل كنتيجة منظّمة غير قابلة لإعادة المحاولة. الأدوات لا تُطلق استثناءات أبدًا.
IVالحضانة
النتائج محتجزة، لا مخزّنة.
لا تصل مجموعة النتائج الكاملة إلى سياق النموذج أبدًا. تُودَع في مخزن محكوم ويُشار إليها بمعرّف؛ يتلقى النموذج عيّنة معلنة.
مخزن النتائج
مخزن محكوم · TTL 15 دقيقة
- result_id
- 16 بايت عشوائية، base64url. غير قابلة للتخمين، وليست تسلسلية.
- authorization
- مقيّدة بالمستأجر. يتلقى المستأجر الخاطئ result_not_found — لا يؤكد المخزن الوجود أبدًا.
- ttl
- 15 دقيقة. بعدها تُحذف المدخلة نهائيًا.
- capacity
- 256 نتيجة كحدٍّ أقصى — 64 ميغابايت إجمالًا، 16 ميغابايت لكل مستأجر.
المخزن يحتفظ بالنتيجة. النموذج يقرأ عيّنة ويُفصح عن ذلك.
حدود سياق النموذج
defaultLimit100حد الصفوف المطبّق حين لا تحدد الخطة قيمةmaxExecutionRows1,000السقف الصارم لعدد الصفوف التي تُعيدها أي عملية تنفيذmaxRowsToModel25أقصى عدد صفوف يصل إلى سياق النموذجmaxCellsToModel250أقصى عدد خلايا تصل إلى سياق النموذجmaxBytesToModel32,000أقصى حجم بيانات نتائج يتلقاه النموذج بالبايتالاقتطاع معلَن دائمًا في النتيجة. لا تُعرض صفوف جزئية أبدًا — الصف يصل كاملًا أو لا يصل.
زاوية التدقيق
17%من المؤسسات قادرة على إعادة بناء تسلسل استدعاءات أدوات الوكيل بعد وقوعها
تستلزم المادة 30 من GDPR والبند SOC 2 CC7.2 تلك السجلات تحديدًا.
كل إجابة من SQAI تحمل بيانات إعادة بنائها الخاصة:
plan_hash · invocation_hash · computation_hash · contract_hash
إعادة التشغيل بحث، لا تحقيق. آلية إعادة التشغيل →
VIأسئلة
الحوكمة، بشكل مباشر
هل يستطيع النموذج توسيع صلاحياته بنفسه؟
لا. السياسة ثابتة عند استدعاء createSQAI() وتُفحص داخل العملية قبل التنفيذ. لا يحمل مدخل أداة النموذج أي حقل allowed*، فلا يوجد في البروتوكول ما يمكن توسيعه — أي طلب خارج السياسة يُعيد نتيجة policy_denied منظّمة.
هل القراءة فقط علامة يمكن تجاوزها؟
ليست علامة. العقد المكشوف يضم 4,574 قدرة للقراءة فحسب؛ مسار الكتابة غائب بالبناء، لا معطَّل. قد يغيّر حقن التعليمات ما يطلبه النموذج — لكنه لا يستطيع إضافة قدرات إلى عقد مثبَّت.
ما السجلات المتاحة لمراجعة المادة 30 من GDPR أو SOC 2 CC7.2؟
كل نتيجة تحمل plan_hash وinvocation_hash وcomputation_hash وcontract_hash. يمكن إعادة تشغيل الحساب الدقيق والتحقق منه مقابل تلك التجزئات في أي وقت لاحق.
أين تُخزَّن بيانات النتائج بعد الاستعلام؟
في مخزن نتائج مرخَّص للمستأجر: المعرّفات 16 بايت عشوائية، تنتهي المدخلات بعد 15 دقيقة، والمخزن محدود بـ 64 ميغابايت إجمالًا و16 ميغابايت لكل مستأجر. يتلقى سياق النموذج 25 صفًا و250 خلية و32,000 بايت كحدٍّ أقصى — مع إعلان الاقتطاع دائمًا.
VIIالتالي
احكم السيطرة على الإجابة.
أحضر مخططًا وسؤالًا عن الامتثال. سنريك السياسة التي تجيب عنه.