
تتبع مقاوم للعبث، وبوابات سياسات، وفحوص متقاطعة لوكلاء الذكاء الاصطناعي: اطّلع على ما فعله الوكيل، ولماذا.
يتحقق Tracekit من كل استدعاء أداة يقوم به وكيلك قبل تنفيذه، ويوقّع كل استدعاء وقرار داخل سلسلة تجزئة (hash chain)،
ويمنحك ملف .tkb واحدًا لكل تشغيل يمكن لأي شخص التحقق منه دون اتصال.
8 من 8هجمات التلاعب التي تم اكتشافها480 محاولة، مع شاهد (E1) |
570 من 570الاستدعاءات الضارة التي تم إيقافها11 فئة، إنذار كاذب واحد من 738 (E17) |
< 1 msمضافة لكل استدعاء أداة0.91 ms عند p99، ذهاب وإياب الموقّع (E9) |
8 من 8هجمات المطلعين التي تم اكتشافهابوابة دمج على كل طلب سحب (PR) (E8) |
مبني على غرار شفافية الشهادات (Certificate Transparency): سجلات موقّعة في سجل إضافي فقط (append-only) يوقّع عليه شهود مستقلون
صيغة ملف مفتوحة · أدوات تحقق بـ Python وTypeScript · MIT · يعمل على أجهزتك الخاصة
جرّبه · أضفه إلى وكيلك · ما الذي يثبته · ما الذي يحتويه · الإثبات · كيف يعمل · جرّبه تجريبيًا · ساهم · التوثيق
عندما يفعل الوكيل شيئًا لا ينبغي له فعله، فإنك تسأل ثلاثة أسئلة: ماذا فعل، وهل كان مسموحًا له بذلك، وهل يمكنك الوثوق بالسجل؟ لا يستطيع سجل الوكيل نفسه الإجابة عن السؤال الثالث، لأن الوكيل يستطيع تعديله. إليك تشغيل واحد، مسجّل بالطريقتين:
نفس التشغيل، مسجَّلًا: قاعدة البيانات، والموقِّع، والعارض، وكلا التعديلين حقيقية؛ أما النموذج فهو مُبرمَج. شاهده مع الصوت (1:47)
في هذا العرض التجريبي، عمل الموقِّع بصفته مستخدم الوكيل نفسه (وضع dev)، لذا كان بإمكان وكيل يعرف الطريقة أن يقرأ المفتاح ويعيد توقيع السجل. شغِّل الموقِّع حيث لا يستطيع الوكيل الوصول إليه، مع شاهد، فلن يستطيع ذلك.
uvx --from tracekit-ai tracekit demo --server
لا يوجد مفتاح API، ولا شيء لتثبيته باستخدام uv. من ذاكرة تخزين مؤقت فارغة على جهاز Mac استغرق الأمر 5 ثوانٍ (10 مع pip install tracekit-ai في بيئة venv جديدة). الحزمة هي tracekit-ai: أما tracekit على PyPI فهو مشروع غير ذي صلة. يقوم الوكيل النصي بثلاثة استدعاءات، ويجب أن ترى:
== agent run (SCRIPTED: fixed tool calls, not a model)
Bash 'ls': allow
Bash 'sudo rm -rf /': deny TK-D001 TK-D004 TK-F003
Bash 'echo "unterminated': ask TK-SHELL-PARSE
...
Integrity: VERIFIED.
== tamper test: rewrite the denied call as allowed in a copy, then verify again
[FAIL] signatures — 11 record(s), keys valid at their position
seq 4: hash does not match the event
Integrity: FAILED.
رُفض الحذف قبل تنفيذه، ونُفّذ الاستدعاء المعلّق بعد الموافقة، وتم التحقق من التشغيل. ثم أعاد العرض التجريبي كتابة الرفض على أنه مسموح في نسخة، وفشل التحقق عند السجل الذي غيّره.
ثلاثة أسطر:
pip install tracekit-ai
import tracekit; tracekit.instrument() # the first line of your agent; then run it as usual
tracekit last # Integrity: VERIFIED. / Assurance: dev; ...
tracekit.instrument() يبدأ موقّعًا للتطوير (أو يعيد استخدام الموقّع قيد التشغيل) ويبوّب ويسجّل كل استدعاء أداة ونموذج من الأطر التي يجدها. يصدّر tracekit last أحدث تشغيل لديك، ويتحقق منه ويخبرك بمكانه. يعرض tracekit view --dev كل تشغيل. على جهاز نظيف، تم تثبيت مثال LangGraph (نموذج وهمي، بدون مفتاح API) وتشغيله والتحقق منه في 27 ثانية: examples/v2/clean-machine.sh langchain.