امنح وكيل الذكاء الاصطناعي حق الوصول للكتابة إلى مشروع API الخاص بك ويمكنه إلحاق ضرر حقيقي. ليس عن قصد؛ الوكلاء يفعلون فقط ما يشير إليه الموجه. اطلب من أحدهم "تنظيف نقاط نهاية المستخدم" وقد يحذف مسارًا مباشرًا لا تزال تعتمد عليه. اطلب منه "تحديث المخطط" ويمكنه الكتابة فوق نموذج بيانات تشير إليه ثلاث نقاط نهاية أخرى. الوكيل لا يدرك ما يتم شحنه في الإنتاج. إنه يرى فقط الموارد المسموح له بلمسها، ويقوم بلمسها.
هذه فئة جديدة من المخاطر. عندما قام إنسان بهذه التعديلات، تردد قبل حذف نقطة نهاية. الوكيل الذي يعمل في حلقة من محطتك الطرفية لا يتردد. يقوم بتشغيل الأمر، ويحصل على استجابة نجاح، وينتقل إلى التالي. إذا وصل هذا الأمر إلى فرعك الرئيسي، فسيكون التغيير قد أصبح مباشرًا بالفعل في مصدر تصميمك.
ليس الحل هو حجب الوكلاء. بل هو منحهم بيئة معزولة (sandbox) لا يمكنهم الهروب منها. فرع الذكاء الاصطناعي (AI Branch) من Apidog يفعل ذلك بالضبط: كل تعديل يتم بواسطة وكيل يهبط في فرع معزول، ويبقى فرعك المصدر سليمًا، ولا يصل أي شيء إلى الفرع الرئيسي حتى يراجعه إنسان ويقوم بدمجه. تشرح هذه المقالة سير عمل واجهة سطر الأوامر (CLI) من البداية إلى النهاية، ثم تغطي النظافة العامة للوكيل الآمن التي يجب أن تحيط به. لمعرفة الأساس المنطقي للتصميم وراء هذه الميزة، راجع المقالة التفصيلية حول فرع الذكاء الاصطناعي وتغييرات الوكلاء الأكثر أمانًا؛ هذه المقالة هي دليل التشغيل العملي.
لماذا يعد وصول الوكيل للكتابة خطيرًا بشكل افتراضي
تمنح معظم الأدوات الوكيل مستوى واحدًا من الوصول: المشروع. إذا كان الوكيل يستطيع إنشاء نقطة نهاية، فيمكنه أيضًا حذفها. إذا كان يستطيع تحديث مخطط، فيمكنه أيضًا استبداله بشيء غير متوافق. لا توجد فجوة بين "اقترح الوكيل تغييرًا" و "التغيير موجود في مصدر الحقيقة الخاص بك".
تظهر ثلاثة أنماط فشل مرارًا وتكرارًا:
- الكتابة فوق. يقوم الوكيل بإعادة إنشاء مخطط من فهم جزئي لواجهة برمجة التطبيقات (API) الخاصة بك ويسقط الحقول التي تحتاجها نقاط نهاية أخرى.
- الحذف. يقوم الوكيل "بدمج" نقاط النهاية ويزيل المسارات التي لا تزال تُستدعى بواسطة العملاء المباشرين.
- الانجراف الصامت. يقوم الوكيل بإجراء عشرات التعديلات الصغيرة خلال جلسة واحدة. لا يبدو أي تغيير فردي خاطئًا، لكن المجموع يبتعد بهدوء عما قمت بشحنه.
لا شيء من هذا غريب. إنها المخرجات الطبيعية لوكيل يقوم بعمله على الفرع الخطأ. الهدف هو جعل الوصول إلى الفرع الخطأ مستحيلًا.
الإصلاح الأساسي: فرع AI معزول
فرع الذكاء الاصطناعي (AI Branch) هو نوع خاص من فروع Sprint تم إنشاؤه لعمليات الذكاء الاصطناعي الخارجية وواجهة سطر الأوامر (CLI). عندما تقوم بإنشاء واحد، يقوم الوكيل بإجراء التعديلات داخله وتبقى التغييرات هناك. لا يتأثر فرعك المصدر وفرعك الرئيسي حتى تقرر الدمج.
يمكنك إنشاؤه من واجهة سطر الأوامر (CLI). أولاً، قم بتثبيت ومصادقة Apidog CLI:
npm install -g apidog-cli
apidog login --with-token <YOUR_ACCESS_TOKEN>
ثم قم بإنشاء فرع الذكاء الاصطناعي (AI branch). توصي المستندات بتسميته بالتاريخ والفرع المصدر والغرض لسهولة التعرف عليه لاحقًا:
apidog branch create --type ai \
--name "ai/20260708-from-main-user-register" \
--from main \
--project <PROJECT_ID>
هناك أمران مهمان هنا. يتم إنشاء الفرع من main، ولكن إنشاؤه لا يمس main. ويبدأ الفرع فارغًا. لا يقوم فرع الذكاء الاصطناعي بنسخ مشروعك بالكامل إليه تلقائيًا؛ بل يحتفظ فقط بالموارد التي يجلبها الوكيل صراحةً. هذه خاصية أمان مقصودة. يمكن للوكيل تعديل ما قام باستيراده فقط، لذا فإن نطاق التأثير هو ما حددته أنت، وليس المشروع بأكمله.
لرؤية المجموعة الكاملة من العلامات لأي أمر فرع، قم بتشغيله باستخدام -h:
apidog branch create -h
استيراد موارد المصدر قبل تعديلها
نظرًا لأن فرع الذكاء الاصطناعي فارغ، فإن المهمة الأولى للوكيل هي سحب الموارد المحددة التي يحتاجها للعمل عليها. هذه هي الخطوة التي تمنع الوكيل من العمل بشكل أعمى. تقوم باستيراد نقطة النهاية أو المخطط أو المستند الذي تريد تغييره، ولا يأتي أي شيء آخر معه.
وجه الوكيل (أو نفسك) إلى الموارد الدقيقة باستخدام المعرف. يستخدم Apidog CLI علامات معرّفات بصيغة الجمع مفصولة بفاصلة لهذه العمليات:
apidog branch pick-to \
--type ai \
--from main \
--to "ai/20260708-from-main-user-register" \
--endpoint-ids 1,2 \
--data-schema-ids 3 \
--project <PROJECT_ID>
الآن يحتوي فرع الذكاء الاصطناعي على نسخة من نقاط النهاية 1 و 2 والمخطط 3 كما هي موجودة على main. يعمل الوكيل على هذه النسخ. مهما فعل بها، فإن النسخ الأصلية على main تبقى دون تغيير. إذا حذف الوكيل نقطة نهاية هنا، فإنه يحذف النسخة، وليس المسار المباشر. هذا هو الفرق بين "الوكيل دمر واجهة برمجة تطبيقاتنا" و "الوكيل دمر نسخة مؤقتة يمكننا التخلص منها".
إذا كنت تقوم بتشغيل هذا من خلال وكيل برمجي، فإن نفس الأوامر تعمل داخل حلقة الوكيل. يعيد Apidog CLI JSON منظمًا مع agentHints.nextSteps، بحيث يمكن للوكيل قراءة نتيجة كل أمر وتحديد ما يجب فعله بعد ذلك دون الحاجة إلى ترجمة الإخراج له. يوضح دليل apidog-cli في Cursor هذا النمط موصولًا بمحرر حقيقي.
دع الوكيل يقوم بالتعديل، ثم اقرأ الفروقات
مع استيراد الموارد، اسمح للوكيل بالقيام بعمله. يقوم بإنشاء أو تحديث أو حذف نقاط النهاية والمخططات والمستندات وسيناريوهات الاختبار داخل فرع الذكاء الاصطناعي. كل عملية كتابة من هذه العمليات محتواة.
عند الانتهاء، تقوم بالمراجعة قبل دمج أي شيء. لا يوجد شيء تلقائي في سير عمل فرع الذكاء الاصطناعي؛ الدمج هو قرار بشري. افحص التغييرات من واجهة سطر الأوامر (CLI) أو عميل Apidog وتأكد من أن الفروقات تتطابق مع ما كنت تريده بالفعل. هذه هي بوابتك. إذا خرج الوكيل عن المسار، فسترى ذلك هنا، والحل هو التخلص من الفرع، وليس التراجع عن الإنتاج.
تعامل مع هذه المراجعة كإجراء إلزامي، وليس اختياريًا. الهدف من سير العمل بأكمله هو أن يرى إنسان مخرجات الوكيل قبل أن تصبح حقيقية. تخطي المراجعة يقضي على العزل.
إرسال التغييرات بطلب دمج
تعتمد طريقة دمجك على ما إذا كان الفرع المستهدف محميًا. هنا تظهر قيمة الفرع الرئيسي المحمي.
إذا لم يكن الفرع المستهدف محميًا، يمكنك الدمج مباشرة، وتسمية الموارد المحددة المراد نقلها:
apidog branch merge \
--type ai \
--from "ai/20260708-from-main-user-register" \
--to main \
--endpoint-ids 1,2 \
--data-schema-ids 3 \
--project <PROJECT_ID>
إذا كان main محميًا، ويجب أن يكون كذلك، فإن الدمج المباشر يكون محظورًا. بدلاً من ذلك، تقوم بفتح طلب دمج وتوجيه التغيير عبر المراجعة:
apidog merge-request create \
--from "ai/20260708-from-main-user-register" \
--to main \
--endpoint-ids 1,2 \
--data-schema-ids 3 \
--reviewer-ids <REVIEWER_USER_IDS> \
--description "AI branch: user register changes" \
--project <PROJECT_ID>
طلب الدمج هو المسار المفضل لأي شيء يولده الوكيل. يجبر التغيير على المرور بنفس سير عمل المراجعة الذي يواجهه المساهم البشري. يوافق عليه زميل في الفريق، ثم يتم اعتماده. لا يكتب الوكيل أبدًا إلى main بمفرده؛ يمكنه فقط أن يطلب، من خلال طلب دمج، من إنسان قبول عمله. لاحظ أن الدمج لا يحمل سوى معرّفات الموارد التي تقوم بإدراجها. إذا قام الوكيل بلمس شيء لم تكن تنوي شحنه، فإنك تستبعد هذا المعرّف من الدمج ويبقى خلفك.
يعكس هذا كيف يتعامل سير عمل واجهة برمجة التطبيقات الأصيل لـ Git مع المساهمين البشريين: التفريع، الاقتراح، المراجعة، الدمج. يطبق فرع الذكاء الاصطناعي نفس الانضباط على المساهم غير البشري، وهو الذي لا ترغب أبدًا في أن يكتب مباشرة إلى main.
تنظيف الفروع المدمجة والمهجورة
يجب أرشفة فروع الذكاء الاصطناعي المدمجة أو المهجورة على الفور للحفاظ على قائمة الفروع قابلة للقراءة. بمجرد دمج فرع أو قرارك بعدم الحاجة إليه، قم بأرشفته أولاً، ثم احذفه:
apidog branch archive "ai/20260708-from-main-user-register" \
--type ai \
--project <PROJECT_ID>
الإيقاع الموصى به هو فرع ذكاء اصطناعي واحد لكل مهمة. يرتبط الفرع بوحدة عمل واحدة للوكيل، يتم مراجعته، يتم دمجه أو التخلص منه، ثم يتم أرشفته. هذا يحافظ على أهمية العزل؛ فأنت لا تراجع أبدًا فرعًا تراكمت فيه ثلاث جلسات تعديل غير ذات صلة.
نظافة الوكيل الآمن حول الفرع
يتولى فرع الذكاء الاصطناعي العزل، ولكنه يعمل بشكل أفضل ضمن بعض العادات التي تحد مما يمكن للوكيل الوصول إليه في المقام الأول.
- استخدم رموز وصول بأقل الامتيازات. الرمز الذي تمرره إلى
apidog login --with-tokenيحدد نطاق ما يمكن للوكيل فعله. امنح رمزًا آليًا الوصول إلى المشاريع التي يحتاجها ولا شيء أكثر. لا تسلم وكيلًا رمز المالك الشخصي الخاص بك لأنه كان مناسبًا. إذا تسرب رمز أو أساء الوكيل التصرف، فأنت تريد أن يكون الضرر محدودًا بنطاق الرمز. - حماية فرعك الرئيسي (main). هذا هو الإعداد الوحيد الذي يحول "المراجعة قبل الدمج" من مجرد اقتراح إلى قاعدة. مع حماية
main، يتم إغلاق مسار الدمج المباشر ويجب أن يمر كل تغيير يقوم به الوكيل عبرmerge-request create. الحماية هي ما يجعل طلب الدمج غير اختياري. - راجع قبل الدمج، في كل مرة. العزل يحميك فقط إذا قرأ إنسان الفروقات بالفعل. اجعل المراجعة جزءًا لا يتجزأ من سير العمل بحيث لا يمكن تخطيها. الوكيل الذي كان موثوقًا لمدة أسبوع يمكن أن يسيء قراءة موجه في اليوم الثامن.
- فوض، ثم تحقق. هذا هو النمط الذي يربط كل شيء معًا. تقوم بتفويض مهمة محددة للوكيل، وتتركه يعمل في فرعه المعزول، ثم تتحقق من النتيجة قبل دمجها. الوكيل يقوم بالعمل؛ وأنت تتحمل مسؤولية القبول. يظهر هذا الانقسام نفسه عندما يقوم الوكلاء بتشغيل الاختبارات: الوكيل ينفذ المجموعة، وأنت تتحقق من نتائج أداة الاختبار (test harness) ورمز الخروج قبل الوثوق بها. فوض التنفيذ، واحتفظ بالحكم.
إذا كنت تقوم بتتبع إصدارات مواصفات API الخاصة بك في Git جنبًا إلى جنب مع كل هذا، فإن سير عمل التحكم في إصدارات OpenAPI يمنحك طبقة ثانية من التاريخ للمقارنة بها عندما يبدو شيء ما غير صحيح.
سير العمل من البداية إلى النهاية، بالترتيب
إليك العملية بأكملها كسلسلة يمكنك تسليمها لوكيل أو تشغيلها بنفسك:
apidog branch create --type aiمنmain. الفرع فارغ وmainلم يُمس.apidog branch pick-toنقاط النهاية والمخططات المحددة التي يحتاجها الوكيل. لا يأتي أي شيء آخر.- دع الوكيل يقوم بالتعديل داخل الفرع. كل عملية كتابة محتواة.
- راجع الفروقات من واجهة سطر الأوامر (CLI) أو العميل. هذه هي بوابة التدقيق البشري.
apidog merge-request createمقابلmainمحمي. يوافق زميل في الفريق؛ لا يكتب الوكيل أبدًا إلى main مباشرة.apidog branch archiveبمجرد الدمج أو التخلي عنه.
في أي مرحلة، لا يمتلك الوكيل مسارًا للكتابة فوق نقطة نهاية مباشرة أو حذفها على main. أسوأ ما يمكن أن يفعله هو إجراء تغيير سيء على نسخة مؤقتة ترفض دمجها بعد ذلك.
امنح الوكلاء مساحة للعمل دون تسليمهم المفاتيح
الوكلاء مفيدون على وجه التحديد لأنهم يتصرفون دون سؤال. وهذا أيضًا ما يجعل الوصول غير المقيد للكتابة خطيرًا. الإجابة ليست في إبطاء الوكيل؛ بل في جعل كتاباته السريعة وغير المترددة تهبط في مكان آمن. فرع AI معزول، فرع رئيسي محمي، رموز بأقل الامتيازات، ومراجعة إلزامية تحول عبارة "الوكيل دمر واجهة برمجة تطبيقاتنا" إلى فروقات تطلع عليها وترفضها.
Apidog يبني هذا بحيث لا تضطر إلى تجميعه من أدوات منفصلة. احصل على Apidog CLI، أنشئ فرع AI، ودع وكلاءك يقومون بالتعديل على نسخة بدلاً من الأصل. قم بتنزيل Apidog لتجربة سير عمل فرع AI، واقرأ وثائق فرع AI للحصول على مرجع الأوامر الكامل قبل ربطه بسير عمل الإنتاج.
