كيف يعمل
نموذج، وحلقة، وقائمة أدوات مسموحة
هذا هو تعريف الوكيل كاملاً، وكل مورّد في هذا السوق يملك الاثنين الأولين نفسيهما. القائمة هي المنتج — والبوابة الواقفة أمامها كذلك.
الحلقة، مرسومة
الوكيل ليس كياناً سحرياً. هو نموذج داخل حلقة تتكرّر حتى الإنجاز، ينتج في كل دورة نصاً أو يطلب استخدام أداة. إسهام Gibreen هو كل ما رُسم بالكهرماني والبنفسجي أدناه — أي أدوات توجد أصلاً، ومن يستخدم أيّاً منها، وأين تُجبَر الحلقة على التوقف.
قرار التصميم الأول
قائمة الأدوات مغلقة، لا مُرشَّحة
لصلاحيات الوكلاء نسخة ضعيفة وأخرى قوية، والفرق بينهما يحدّد ما إذا كانت رواية الأمان ستصمد أمام مهاجم مصمِّم.
✗ النسخة الضعيفة
- الوكيل يستطيع استدعاء أي شيء، وقاعدة تقول أي الاستدعاءات مسموح.
- القاعدة تعيش في الـ prompt: «ممنوع أن تحذف السجلات.»
- مستند مصاغ بذكاء في بريد الوكيل يستطيع أن يُقنعه بالخروج عن القاعدة، لأن التعليمة والهجوم يجلسان في السياق نفسه وبالسلطة نفسها.
✓ ما يفعله Gibreen
- توجد مفردات عمليات ثابتة. وما خرج عنها لا يُرفَض — بل لا يجد تنفيذاً يصل إليه.
- قائمة السماح تُطبَّق من جديد داخل الموصِّل نفسه، بعد أن يقول الوكيل ما يريد.
- بيانات الاعتماد تعيش في عملية الموصِّل. الوكيل لا يرى سرّاً قط، فلا يُخرج أي قدر من الإقناع سرّاً منه.
حقن التعليمات (prompt injection) فئة هجوم غير محلولة. كل حادثة منشورة جادّة لها الشكل نفسه: محتوى غير موثوق يصل إلى نافذة سياق تحمل أيضاً بيانات اعتماد. لا تستطيع أن تخرج من هذا بالتعليمات. الضابط يجب أن يكون بنيوياً — ما يعني أن السؤال الصادق لأي مورّد ليس «هل وكيلك آمن؟»، بل «ما الذي لا يستطيع وكيلك فعله فيزيائياً؟»
قرار التصميم الثاني
البوابات لكل فعل، لا لكل وكيل
معظم تطبيقات «الإنسان في الحلقة» مجرّد مفتاح: تحت إشراف أو مستقل. هذه دقّة خاطئة، لأنها تفرض اختياراً بين وكيل عديم الفائدة ووكيل مخيف.
الصلاحية في Gibreen مربوطة بـفعل عمل، وهي الوحدة التي يستخدمها تفويض الصلاحيات لديك أصلاً:
| الفعل | قابل للتراجع؟ | الوضع الافتراضي |
|---|---|---|
| قراءة قائمة الفواتير المتأخرة | نعم | يعمل بلا إشراف |
| صياغة بريد ملاحقة | نعم | يعمل بلا إشراف |
| إرسال ذلك البريد إلى العميل | لا | بوابة |
| ترحيل قيد يومية إلى دفتر الأستاذ | لا | بوابة، ومعتمِد ثانٍ إن أردت |
السؤال الذي تطرحه البوابة ليس «هل توافق؟» — ذلك يُنتج ختماً آلياً خلال أسبوع. بل تذكر ما الذي سيحدث، وبديل ماذا هو، وما الذي ليس الوكيل واثقاً منه. والرفض يُسجَّل بالوزن نفسه الذي تُسجَّل به الموافقة، لأن حالات الرفض هي أثمن السطور في السجل.
قرار التصميم الثالث
الميل الأخير — حيث تنكسر مشاريع الوكلاء فعلاً
قراءة نظام أعمال مسألة محلولة. الكتابة إليه بأمان ليست كذلك، وفيها يقيم المال والضرر معاً.
وكيل كل مورّد ERP يكتب عبر منطق منتجه هو، لأنه منتجه. وكل ما عداه في السوق يكتب عبر API ويعامل «لديه وصول API» على أنها «يستطيع التصرّف بأمان». وهاتان ليستا الجملة نفسها.
المثال الملموس، من دفاترنا نحن
في ERP، اختيار عميل على نموذج عرض السعر يُطلق المنطق الذي يسحب قائمة الأسعار، والموقف الضريبي، والوضع المالي، وشروط الدفع، وعنوان التسليم. وضبط الحقل نفسه عبر API لا يُطلق شيئاً من ذلك. السجل يُحفظ. ولا خطأ يظهر. عرض السعر خاطئ في السعر والضريبة، وتكتشف ذلك حين يكتشفه العميل.
شغّلنا مرّة كتابات برمجية على محاسبتنا نحن. فأنتجت مئات القيود في دفتر اليومية الخطأ، ومالك عقار مسجَّلاً كمقاول باطن، وموجة قيود عكسية صافيها صفر كلها. الواجهة كانت ستوقف كل واحدة منها تقريباً. الواجهة ليست API أبطأ. هي الضابط.
لذا قاعدة Gibreen، وتسري على كل وكيل، وعلى كل نظام حي:
- اقرأ بحرية عبر API. هذا آمن، وهو معظم القيمة.
- لا تكتب إلا عبر منطق التطبيق نفسه، سجلاً واحداً في كل مرة، بما يفعله نقر المستخدم.
- لا بالجملة أبداً، ولا من خلف الظهر أبداً. لا حلقات على السجلات، ولا وصول مباشر لقاعدة البيانات، ولا تحديث حقول جماعي، ولا ترحيل أو تسوية بالبرمجة.
- وحيث يكون المسار الصحيح فعلاً أن ينقر إنسان، يُعدّ الوكيل قائمة عمل مرقّمة وينقر إنسان. هذه ميزة، لا إخفاق.
نبني هذا بعمق لنظام سجلّ واحد في كل مرة. اليوم هو Odoo — لأننا نطبّقه كسباً لعيشنا، ولأننا نعرف، بتفصيل مقيس، كيف يكسره الوكيل بالضبط.
قرار التصميم الرابع
السجل ملفات، لا قاعدة بيانات
حالة Gibreen — الوكلاء، ومواثيقهم، والمهام، والخطط، والتشغيلات، والأسئلة، والقرارات — هي markdown وTSV صِرف داخل مستودع git. يبدو هذا بدائياً بجوار منتج له مخطط بيانات محترم. وهو مقصود، لثلاثة أسباب:
تستطيع قراءته من دوننا
المدقّق أو المحامي أو مدير عمليات جديد يفتح ملفاً نصياً. لا تصدير، ولا استدعاء API، ولا مورّد يتوسّط الدليل.
لكل تغيير كاتب ووقت
إدارة الإصدارات تمنحك الفرق مجاناً. و«من غيّر نطاق هذا الوكيل، ومتى» أمر واحد، لا تذكرة دعم.
تستطيع المغادرة
إن توقّفت عن الدفع لنا، يبقى السجل لك ويظل يُفتح. الحبس داخل صيغة بيانات غير قابلة للقراءة نموذج عمل نفضّل ألا نملكه.
المقايضة الصادقة: الملفات أبطأ من قاعدة البيانات، ولا تُحسن الكتابة المتزامنة. وندفع هذه الكلفة عن قصد. على مقياس سجل تشغيلي لمنظمة واحدة، لم تكن يوماً عنق الزجاجة — والخاصية التي تشتريها هي التي تهمّ المنظِّم.
قرار التصميم الخامس
نستأجر المحرّك ونملك البوابة
Gibreen يعمل على Claude، ولا ندّعي غير ذلك. مورّدو النماذج يشحنون المجدوِلات، والذاكرة، وسقوف الكلفة، والتنسيق كميزات منصّة مجانية، وسيمضون في ذلك.
لذا القاعدة التي نبني عليها، وبتاريخ ملحق بها: افترض أن كل عنصر تشغيل أساسي في Gibreen سيصير ميزة مجانية في المنصّة الأساسية خلال 18 شهراً. لا نستثمر فيما سيشحنه مورّد النموذج بطبيعته. نستثمر في ثلاثة أشياء لن يشحنها:
- موافقة بدقّة فعل العمل، مُسقَطة على تفويض الصلاحيات الفعلي لديك.
- سجل يقرؤه الامتثال لما تقرّر وما رُفض.
- موصِّل واحد عميق وصحيح إلى نظام السجلّ الذي تُشغّله فعلاً.
ولهذا أيضاً لا توجد لوحة بناء وكلاء مرئية، ولا متجر، ولا طبقة ذاكرة داخلية. هذه موجودة، وهي مجانية، وأكثر شركات الفئة تمويلاً أطفأت واحدة منها بالفعل.
تحدّث إلينا
ابدأ بمحادثة، لا بتسجيل
Gibreen لا يُباع من جدول أسعار. أخبرنا ما نظام السجلّ الذي تُشغّله، وأي عمل يلتهم أسبوعك، وسنخبرك بصدق إن كان هذا مناسباً — بما في ذلك حين لا يكون.