تطبيق سير العمل المعتمد على Git على تجارب التحسين
تتطلب تجارب التحسين تنظيما منهجيا لتتبع التغييرات التي تم اختبارها وما هي النتائج التي أنتجتها. تمكنك سير العمل المعتمد على Git من اختبار متغيرات الوكلاء بأمان، وتوثيق نتائج التقييم، ومقارنة التجارب لتحديد أي تكوين يحقق أداء أفضل.
- إنشاء فرع: إنشاء فرع تجربة لكل متغير
- إضافة محفزات الاختبار: تخزين مطالبات الاختبار في مجلد التجارب
- تشغيل سكريبت التقييم: نشر إصدار الوكيل، تشغيل محفزات الاختبار، التقاط الردود
- تقييمات الردود: تقييم الردود يدويا لمؤشرات الجودة
- قارن وقرر: راجع النتائج عبر الفروع، وادمج التجارب الناجحة
إنشاء فروع التجربة
كل تجربة تحسين تقع في فرعها الخاص، مما يبقي التغييرات التجريبية منفصلة عن وكيل الإنتاج الخاص بك. أنشئ فرعا لكل متغير تجربة لعزل ما تغير—اختبار طلب جديد، أو نموذج مختلف، أو تعديل التكوين واحدا تلو الآخر. يتيح هذا النهج المسيطر عليك نسب تغييرات الأداء إلى تعديلات محددة بدلا من خلط عدة تغييرات في فرع واحد.
مع وكيل دليل مسار Adventure Works، تنشئ فروعا للتجارب لاختبار أنواع مختلفة:
main # Production baseline (prompt v1)
experiment/prompt-v2-concise # Test shorter, more focused prompt
experiment/prompt-v2-detailed # Test enhanced prompt with examples
experiment/gpt4o-mini-model # Test GPT-4o-mini model
experiment/token-optimization # Reduce token usage
عندما تثبت التجربة نجاحها من خلال التقييم، تقوم بدمجها مع التجربة الرئيسية. بالنسبة للتجارب الفاشلة، يمكنك إما الاحتفاظ بالفرع كتوثيق لما لم ينجح (لمنع الفرق المستقبلية من تكرار الأساليب غير الناجحة) أو حذف الفرع لإزالة الفوضى (إذا كانت نتائج التقييم ملتزمة وموثقة بالفعل).
تخزين مطالبات الاختبار وتشغيل سكريبت التقييم
ينظم كل فرع من فروع التجربة الملفات في هيكل متسق يفصل بين الكود والتعليمات وبيانات التقييم:
adventure-works-agent/
├── agent.py # Agent creation script
├── run-agent.py # Script to run agent with test prompts
├── prompts/
│ ├── system-prompt-v1.txt # Production prompt
│ └── system-prompt-v2-concise.txt # Experimental variant
├── test-prompts/
│ ├── scottish-highlands-march.txt # Digital nomad weekend hike
│ ├── family-london-trails.txt # Family with teenagers
│ ├── five-day-backpacking.txt # Experienced hiker extended trip
│ ├── ambiguous-hiking-gear.txt # Edge case: vague request
│ └── incomplete-scotland-trip.txt # Edge case: missing details
└── experiments/
├── prompt-v2-concise/
│ ├── agent-responses.json # Raw agent outputs
│ └── evaluation.csv # Manual quality scores and observations
├── gpt4o-mini-model/
│ ├── agent-responses.json
│ └── evaluation.csv
└── token-optimization/
├── agent-responses.json
└── evaluation.csv
يخزن المجلد prompts/ إصدارات مطالبة مختلفة كملفات .txt يتم agent.py تحميلها عند إنشاء نسخ الوكيل. يحتوي المجلد test-prompts/ على ملفات فردية .txt لكل سيناريو اختبار، مع أسماء وصفية تشير إلى احتياجات المستخدم التي تمثلها. يقوم السكربت run-agent.py بتحميل ملفات التعليمات التجريبية هذه، ويتصل بالوكيل لكل ملف منها، ويلتقط الردود. كل تجربة لها مجلد خاص بها يحتوي experiments/ فقط على نتائجها.
ملفات موجه الاختبار تحتوي على 5-10 سيناريوهات اختبار من الوحدة 2. يقوم السكربت run-agent.py بأتمتة سير عمل الاختبار:
- اطلع على فرع التجريب:
git checkout experiment/prompt-v2-concise - نشر إصدار الوكيل:
python agent.py(ينشئ نسخة الوكيل في Microsoft Foundry) - تشغيل التقييم:
python run-agent.py(يحمل مطالبات الاختبار، يستدعي الوكيل لكل موجه، يلتقط الردود، يحفظ إلىagent-responses.json)
يلتقط السكربت استجابات الوكلاء من واجهة برمجة التطبيقات ويحفظها إلى agent-responses.json. ثم تنشئ evaluation.csv ملفا تقوم فيه بتقييم كل استجابة يدويا باستخدام نفس التنسيق الذي تستخدمه بوابة Microsoft Foundry لتصدير التقييمات.
ردود النقاط يدويا
راجع ردود الوكلاء المصورة في agent-responses.json. للاختبار اليدوي السريع، من أفضل الممارسات اختيار ثلاثة إلى خمسة معايير تقييم تهم أكثر لحالتك، بالإضافة إلى حقل مفتوح اختياري للتعليقات الإضافية. أنشئ evaluation.csv ملفا يحتوي على هذه الأعمدة ليتناسب مع تنسيق تصدير البوابة:
| طلب الاختبار | استجابة الوكيل | حل النية | الصلة | الارتباط بالواقع | التعليقَات |
|---|---|---|---|---|---|
| اسكتلندي-هايلاندز-مارش | للمشي في مرتفعات اسكتلندا في مارس... | 5 | 5 | 4 | توصيات ممتازة للمعدات |
| مسارات لندن العائلية | لمسارات سهلة بالقرب من لندن مع المراهقين... | 4 | 4 | 5 | نصيحة جيدة للمبتدئين |
| رحلات الحقيبة لمدة خمسة أيام | لرحلة تخييم لمدة خمسة أيام... | 5 | 5 | 5 | قائمة شاملة |
| معدات المشي الغامضة | ما نوع المشي الذي تخطط له... | 3 | 3 | 4 | أسئلة توضيحية طرحت |
| رحلة اسكتلندا غير المكتملة | بالنسبة للمشي في اسكتلندا، أنصح... | 4 | 4 | 4 | افترضت بشكل معقول |
أضف اسم ملف محفز الاختبار، مقتطف استجابة الوكيل، درجات الجودة (مقياس 1-5)، وتعليقات حول جودة الردود.
تلميح
قم بمحاذاة تنسيق تقييمك مع ما يمكن تقييمه من خلال بوابة Microsoft Foundry ومع التقييمات التلقائية. عندما تستخدم معايير تقييم متسقة وصيغ ملفات عبر الاختبارات اليدوية، والتقييمات عبر البوابات، والاختبارات الآلية، فإنك تجعل من السهل دمج نتائج الاختبار من أعضاء الفريق وطرق التقييم المختلفة.
قارن التجارب وقرر
بعد إكمال التقييمات عبر عدة فروع تجارب، استخدم بيانات CSV الخاصة بك لمقارنة الأداء واتخاذ قرارات مبنية على الأدلة. اطلع على كل فرع من فروع التجربة وراجعه evaluation.csv لترى كيف كان أدائه. لاحظ النتائج الرئيسية من كل فرع، ثم أنشئ مقارنة لتحديد أي نوع يفي بمعايير نجاحك.
بالنسبة لتجارب Adventure Works، قد توثق مقارنتك:
| فرع التجربة | ملاحظات رئيسية | هل تستوفي المعايير؟ |
|---|---|---|
| الأساس (الخط الأساسي) | ردود جيدة، وبعض الإطالة | نعم (متوسط 4.2) |
| prompt-v2-concise | يحافظ على الجودة وتركيزه أكثر | نعم (بمعدل 4.4) |
| GPT4O-mini-Model | جودة أقل في المحفزات المعقدة | لا (متوسط 4.1، أقل من 4.2) |
إذا prompt-v2-concise حققت عتبة الجودة وحسنت الإيجاز، استخدم Git لدمج التجربة الفائزة:
git checkout main
git merge experiment/prompt-v2-concise
git tag promoted-to-prod-2026-02-17
git push origin main --tags
بالنسبة للتجارب التي لا تستوفي المعايير، وثق السبب قبل اتخاذ قرار الاحتفاظ أو حذف الفرع: "gpt4o-mini-model: انخفضت الجودة إلى ما دون 4.2 في طلبات تخطيط الرحلة المعقدة. غير موصى به للإنتاج."
مع إنشاء سير عمل Git لتنظيم التجارب، تكون جاهزا لتنفيذ التقييمات الفعلية من خلال تشغيل الوكلاء مقابل محفزات الاختبار وتقييم النتائج بشكل منهجي.