إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يتيح CodeAct لعامل حل مهمة عن طريق كتابة التعليمات البرمجية وتنفيذها من خلال أداة execute_code . بدلا من مطالبة النموذج بطرح استدعاء أداة واحدة في كل مرة، تمنحه CodeAct مكانا معزولا لدمج تدفق التحكم وتحويل البيانات وتنسيق الأدوات داخل خطوة تنفيذ واحدة.
في إطار عمل العامل، يتم عرض CodeAct من خلال حزم خلفية خاصة بدلا من نوع أساسي مضمن واحد. يمكن للموصل إضافة execute_code الأداة، وحقن إرشادات وقت التشغيل، وعرض الأدوات المملوكة للموفر التي يمكن استدعاها من داخل بيئة الاختبار المعزولة اختياريا.
التحذير
التعليمات البرمجية التي تم إنشاؤها بواسطة النموذج غير موثوق بها. قم بتنفيذه فقط في بيئة معزولة وأقل امتيازا مع نظام ملفات مقيد والشبكة وبيانات الاعتماد وأدوات المضيف. طلب الموافقة قبل الإجراءات اللاحقة.
لماذا CodeAct
غالبا ما لا ياختناق وكلاء الذكاء الاصطناعي الحديثون من خلال جودة النموذج، ولكن من خلال الحمل التزامني. عندما يقوم العامل بسلاسل العديد من استدعاءات الأدوات الصغيرة معا، تتطلب كل خطوة عادة تحويل نموذج آخر، ما يزيد من زمن الانتقال واستخدام الرمز المميز.
يطوي CodeAct هذا النموذج -> الأداة -> حلقة النموذج. بدلا من مطالبة النموذج باختيار أداة واحدة في كل مرة، يمكن ل Agent Framework كشف أداة واحدة execute_code والسماح للنموذج بالتعبير عن الخطة الكاملة كبرنامج قصير. تظل الأدوات كما هي، والنموذج يبقى كما هو، والتغيير الرئيسي هو أن الخطة تعمل مرة واحدة داخل بيئة الاختبار المعزولة بدلا من أن تكون مبعثرة عبر العديد من من منعطفات استدعاء الأدوات.
بالنسبة لأحمال العمل كثيفة الأدوات، يمكن أن يقلل هذا التغيير ماديا من زمن الانتقال من طرف إلى طرف واستخدام الرمز المميز مع الحفاظ على ضغط الخطة وقابلة للتدقيق في كتلة تعليمات برمجية واحدة. راجع تكامل Hyperlight CodeAct لمقارنة الأسلاك جنبا إلى جنب.
عندما يكون CodeAct مناسبا
استخدم CodeAct عندما تستفيد مهمة من:
- الجمع بين استدعاءات أدوات متعددة مع التكرارات الحلقية أو التفريع أو التصفية أو التجميع
- تحويل نتائج الأداة قبل إرجاع إجابة نهائية
- إنشاء مخرجات أو بيانات اصطناعية منظمة أكبر كجزء من التشغيل
- الاحتفاظ ببعض الأدوات متاحة فقط داخل بيئة تنفيذ خاضعة للرقابة
- طي العديد من عمليات البحث الصغيرة القابلة للتسلسل أو الحسابات الخفيفة في خطوة تنفيذ واحدة
ابق مع استدعاء الأداة المباشرة عندما:
- تحتاج المهمة إلى استدعاء واحد أو اثنين فقط من الأدوات، لذلك هناك القليل من حمل التنسيق لإزالته
- كل مكالمة لها آثار جانبية يجب أن تظل مرئية بشكل فردي للنموذج والمستخدم
- تحتاج إلى مطالبات الموافقة لكل مكالمة بدلا من قرار موافقة واحد حول التشغيل بأكمله
execute_code
كيفية ملاءمة CodeAct في إطار عمل العامل
يقوم موصل CodeAct عادة بأربعة أشياء للتشغيل:
-
execute_codeإضافة أداة إلى سطح الأداة التي تواجه النموذج. - يوفر إرشادات لوقت تشغيل بيئة الاختبار المعزولة المكونة.
- يعرض اختياريا الأدوات المملوكة لموفر الخدمة من خلال
call_tool(...). - تطبيق حدود القدرة مثل الوصول إلى نظام الملفات أو قوائم السماح بالشبكة الصادرة.
نظرا لأن الموصل يمتلك تكوين وقت التشغيل، تعتمد تفاصيل الإعداد الدقيقة على الخلفية التي تختارها.
القيود الحالية
التحذير
الجمع بين FIDES وموفري CodeAct الحاليين غير مدعوم. FIDES Python فقط حاليا ولا يتوفر في موفري CodeAct .NET.
لا تمر استدعاءات أداة المضيف المدارة من قبل الموفر داخل التعليمات البرمجية التي تم إنشاؤها عبر مسار البرنامج الوسيط لكل وظيفة للعامل. لا تنشئ عمليات التحقق من أدوات العامل المباشر أو الاستدعاء الخارجي execute_code فرض FIDES للمكالمات المتداخلة أو القيم الوسيطة الداخلية للتعليمات البرمجية. كما أنها لا تغطي قدرات الملفات أو الشبكة.
يجب أن تفرض أدوات المضيف عناصر تحكم التخويل والوجهة الخاصة بها. احتفظ بالأدوات المعتمدة على FIDES كأدوات عامل مباشر، وليس أدوات مدارة بواسطة CodeAct، أو اترك CodeAct معطلا لسير العمل الذي يتطلب هذه الضمانات. حد التوافق هذا هو قيد تكامل حالي، وليس قيدا متأصلا في نمط CodeAct. راجع أمان العامل باستخدام FIDES.
تعد CodeAct مناسبة تماما لسير العمل كثيف الأدوات، ولكن ضع في اعتبارك القيود التالية:
- يدعم Hyperlight CodeAct Python .NET. Monty هو Python فقط؛ CodeAct المحلي .NET فقط.
- تنطبق الموافقات حاليا على
execute_codeالمكالمة ككل. إذا كنت بحاجة إلى الموافقة على العمليات الفردية واحدا تلو الآخر، فاحتفظ بهذه العمليات كأدوات عامل مباشر بدلا من الاعتماد علىcall_tool(...). - الأدوات التي تم الوصول إليها لا
call_tool(...)تزال تنفذ في عملية المضيف. استخدم أدوات المضيف الضيقة والمراجعة للإداء/الإخراج الحساس بدلا من توسيع الوصول إلى بيئة الاختبار المعزولة دون داع. - تعمل CodeAct بشكل أفضل عندما يهيمن حمل التنسيق. بالنسبة للمهام الصغيرة مع استدعاء واحد أو اثنين فقط من الأدوات، قد لا يستحق التجريد المضاف ذلك.
- أسماء الأدوات وبيانات تعريف المعلمة وإرجاع الأشكال مهمة أكثر هنا لأن النموذج يكتب التعليمات البرمجية مقابل هذا العقد بدلا من الاختيار من استدعاء أداة مباشرة واحدة في كل مرة.
ابدأ
على سبيل .NET، يتم شحن Hyperlight CodeAct كحزمةMicrosoft.Agents.AI.Hyperlight. تعمل CodeAct المحلية على تشغيل Python في عملية فرعية وتعتمد على العزل الخارجي.
توفر حزمة Hyperlight ما يلي:
-
HyperlightCodeActProviderAIContextProvider— الذي يضخexecute_codeوإرشادات CodeAct لكل تشغيل -
HyperlightExecuteCodeFunction— مستقلAIFunctionعن الأسلاك الثابتة/اليدوية عند إصلاح تكوين بيئة الاختبار المعزولة - الأدوات التي يديرها الموفر والتي تظل متوفرة داخل بيئة الاختبار المعزولة من خلال
call_tool(...) -
CodeActApprovalModeوالتكاملApprovalRequiredAIFunctionللموافقات - تكوين نظام الملفات الاختياري (
FileMountsوHostInputDirectory) والشبكة الصادرة (AllowedDomains) لوقت تشغيل بيئة الاختبار المعزولة
مهم
حزمة .NET قيد المعاينة وتعتمد على Hyperlight.HyperlightSandbox.Api NuGet، والتي لم يتم نشرها على nuget.org حتى الآن. راجع Hyperlight CodeAct للحصول على تحذيرات التثبيت الحالية ومتطلبات النظام الأساسي.
راجع Hyperlight CodeAct للتثبيت والأمثلة والإرشادات الخاصة بوقت التشغيل.
ابدأ
على سبيل Python، استخدم Hyperlight CodeAct لبيئة الاختبار المعزولة أو Monty لمترجم مقيد عبر النظام الأساسي.
توفر حزمة Hyperlight ما يلي:
-
HyperlightCodeActProviderبالنسبة إلى عمليات التشغيل المستندة إلى موفر السياق -
HyperlightExecuteCodeToolعندما تريد السلكexecute_codeمباشرة - الأدوات التي يديرها الموفر والتي تظل متوفرة داخل بيئة الاختبار المعزولة من خلال
call_tool(...) - نظام الملفات الاختياري وتكوين الشبكة الصادرة لوقت تشغيل بيئة الاختبار المعزولة
راجع Hyperlight CodeAct للتثبيت والأمثلة والإرشادات الخاصة بوقت التشغيل مثل وقت الاستخدام print(...) و /output/والقيود الحالية الخاصة ب Hyperlight.
ملحوظة
سيتوفر الدعم لهذه الميزة قريبا. راجع مستودع Agent Framework Go للحصول على أحدث حالة.