خطوة وكيل الذكاء الاصطناعي في الأتمتة

وظائف وكيل الذكاء الاصطناعي

تصف هذه الوثيقة التنفيذ الحالي لـ `ai_agent` في بيئة تشغيل الأتمتة وواجهة المستخدم.

1) مكان التنفيذ

- منشئ خطوات واجهة المستخدم: `application/views/automation.php` - مرسل وقت التشغيل ومنطق الذكاء الاصطناعي: `include_file/automations_functions.php` - ملف تضمين الإجراء: `include_file/automations/actions/ai_agent.inc.php`

2) سلوك الخطوة

يتصرف `ai_agent` كخطوة تحكم (مشابه لـ `if`):

- يستدعي نموذج Gemini Flash مع المطالبة + السياق المحدد. - يتوقع استجابة JSON تحتوي على قيمة منطقية `result` وحقول إخراج إضافية. - إذا كان `result = false`، يطبق `extra_param.skip` على قائمة التخطي في وقت التشغيل. - يتم حقن أي حقول إخراج مُرجعة في استبدالات وقت التشغيل كـ: - `{ai-<field_name>}`

مثال:

- يعيد الذكاء الاصطناعي: `{"result": true, "message": "Hello"}` - يمكن للخطوات التالية استخدام: `{ai-message}`

3) حقول واجهة المستخدم

في النافذة المنبثقة لـ `ai_agent`:

- `المطالبة` (مربع نص) - `النتيجة` (صفوف ديناميكية مع `الاسم` + `النوع`) - الأنواع المدعومة في واجهة المستخدم: `date`, `text`, `number`, `email`, `boolean` - `مصادر سياق الذكاء الاصطناعي` (صفوف ديناميكية) - `بيانات العميل` - `إدخالات العميل` - `مستندات العميل` - `دردشة العميل` - قسم التأخير/التقديم متاح مثل الإجراءات الأخرى.

يتم حفظها في JSON `parameter`:

{
  "prompt": "user prompt here",
  "result": [
    { "name": "message", "type": "text" }
  ],
  "context_sources": ["customer_data", "customer_chat"]
}

4) استعلامات السياق

عند تحديد مصادر السياق، يقوم وقت التشغيل ببناء:

- `customer_data`: بيانات العميل الحالية الموجودة بالفعل في وقت التشغيل. - `customer_documents`: `SELECT * FROM documents WHERE cus_id = ? ORDER BY id DESC` - `customer_entries`: `SELECT * FROM tabs WHERE cus_id = ? ORDER BY id DESC` - `customer_chat`: يستخدم أحد هذه الـ hooks إذا كان موجودًا: - `automation_ai_get_last_customer_messages($cus_id, 10)` - `get_last_customer_messages_for_ai($cus_id, 10)` - حل بديل: مصفوفة فارغة

5) دعم الملفات في المطالبة

إذا كانت المطالبة تحتوي على مسارات ملفات كاملة (pdf/صورة/صوت)، يقوم وقت التشغيل بالكشف عنها تلقائيًا وإرفاقها بطلب Gemini كبيانات مضمنة.

امتدادات تم الكشف عنها:

- pdf - png / jpg / jpeg / gif / webp - mp3 / wav / ogg / m4a

6) واجهة برمجة التطبيقات / النموذج

- فحوصات مصدر مفتاح API: - `$GLOBALS['public']` - `$GLOBALS['public_var']` - قيم المتغيرات البيئية `GEMINI_API_KEY` - النموذج الافتراضي: - `gemini-3.0-flash`

7) أمثلة عملية

أ) الرد من آخر دردشة للعميل

المطالبة:

`أجب على آخر رسالة للعميل بلباقة واحفظها في message`

مخطط النتيجة:

- `message` (نص)

استخدم في خطوة `sendEmail` التالية:

- `{ai-message}`

ب) تفريغ من ملف تم دفعه

المطالبة:

`مهمتك هي تقديم تفريغ لآخر مكالمة في {file} ووضعها في transcript`

مخطط النتيجة:

- `transcript` (نص)

استخدم في الخطوة التالية (على سبيل المثال، تحديث حقل مخصص):

- `{ai-transcript}`

ملاحظة: يجب أن يتطابق مفتاح العنصر النائب مع اسم حقل النتيجة تمامًا. إذا كان الحقل هو `transcription`، استخدم `{ai-transcription}`.