إنتقل إلى المحتوى الرئيسي

سير عمل وكيل الوضع المزدوج Plan مقابل Act في Cursor

Cursor Plan vs Act Modes

أحد أكبر التحديات مع وكلاء الترميز بالذكاء الاصطناعي هو منعهم من إجراء تغييرات غير مصرح بها. يحل سير العمل المزدوج Plan مقابل Act هذه المشكلة من خلال اشتراط أن يقترح الوكيل التغييرات في "وضع Plan" قبل تنفيذها في "وضع Act". يوضح لك هذا الدليل كيفية تنفيذ نمط الأمان القوي هذا في Cursor.

ما هو Plan مقابل Act؟​

وضع Plan (للقراءة فقط)​

في وضع Plan، يمكن للوكيل:

  • قراءة وتحليل الكود
  • اقتراح التغييرات بتنسيق منظم
  • عدم تعديل أي ملفات
  • تقديم خطة مفصلة لمراجعتها من قبل المستخدم

وضع Act (للقراءة والكتابة)​

في وضع Act، يمكن للوكيل:

  • تنفيذ التغييرات المعتمدة فقط
  • الحصول على وصول كامل للقراءة والكتابة
  • اتباع الخطة الدقيقة المقدمة
  • الإبلاغ عما تم إنجازه

لماذا استخدام هذا النمط؟​

بدون Plan/Actمع Plan/Act
الذكاء الاصطناعي يغير الملفات بشكل غير متوقعتتطلب جميع التغييرات الموافقة
من الصعب مراجعة ما تغيريتم تقديم خطة واضحة أولاً
عمليات التراجع صعبةالتغييرات قابلة للتتبع والعكس
انحراف السياق على مدى جلسات طويلةتنفيذ مركز لكل مهمة

طريقة التنفيذ 1: قواعد Cursor​

أنشئ .cursor/rules/plan-act-workflow.mdc:

---
description: 'سير العمل المزدوج Plan مقابل Act'
globs: ['**/*']
alwaysApply: true
---

# سير العمل Plan مقابل Act

## قاعدة حاسمة
لا يجوز لك تعديل أي ملفات دون موافقة صريحة من المستخدم.

## وضع Plan (افتراضي)
عند تقديم مهمة:
1. قراءة وتحليل الملفات ذات الصلة
2. إنشاء خطة مفصلة مع تغييرات محددة
3. تقديم الخطة بهذا التنسيق:

### الخطة: [اسم المهمة]

#### الملفات المراد تعديلها
- `file/path/one.ts` - ما سيتغير
- `file/path/two.ts` - ما سيتغير

#### ملخص التغييرات
1. وصف التغيير 1
2. وصف التغيير 2

#### ملفات جديدة (إن وجدت)
- `new/file/path.ts` - الغرض

#### خطة الاختبار
- كيفية التحقق من أن التغييرات تعمل

4. انتظر حتى يكتب المستخدم "PROCEED" أو "ACT"

## وضع Act (بعد الموافقة)
فقط بعد أن يقول المستخدم "PROCEED":
1. تنفيذ التغييرات من الخطة
2. إجراء التغييرات المعتمدة فقط
3. الإبلاغ عن الاكتمال مع قائمة الملفات
4. اقتراح خطوات الاختبار

## أبداً
- تخطي مرحلة التخطيط
- إضافة تغييرات غير مخطط لها
- تعديل الملفات أثناء وضع Plan
- طلب الموافقة أكثر من مرة لكل خطة

طريقة التنفيذ 2: الوضع المخصص​

أنشئ وضعًا مخصصًا في إعدادات Cursor:

  1. افتح إعدادات Cursor (Cmd/Ctrl + ,)
  2. انتقل إلى "Modes" أو "AI Features"
  3. انقر على "Add Custom Mode"
  4. قم بتكوين:
{
"name": "Planner",
"description": "وضع التخطيط - تحليل للقراءة فقط",
"systemPrompt": "أنت في وضع التخطيط. يمكنك قراءة الملفات ولكن لا تعدلها أبداً. حلل قاعدة الكود، وافهم المتطلبات، وقدم خطة مفصلة. انتظر موافقة المستخدم قبل إجراء أي تغيير.",
"tools": ["read", "grep", "search"],
"fileWrite": false
}
{
"name": "Executor",
"description": "وضع التنفيذ - تنفيذ التغييرات المعتمدة",
"systemPrompt": "أنت في وضع التنفيذ. نفذ فقط التغييرات التي تمت الموافقة عليها في الخطة. لا تخرج عن النطاق المعتمد. أبلغ عن كل تغيير أثناء قيامك به.",
"tools": ["read", "write", "edit"],
"fileWrite": true
}

طريقة التنفيذ 3: سير العمل القائم على الدردشة​

الخطوة 1: البدء في وضع Plan​

[PLAN MODE] أحتاج إلى إضافة مصادقة المستخدم إلى هذا التطبيق.
يرجى تحليل قاعدة الكود وإنشاء خطة.
لا تقم بأي تغييرات بعد.

الخطوة 2: يقدم الوكيل الخطة​

## الخطة: إضافة مصادقة المستخدم

### الملفات المراد تعديلها
1. `src/app.ts` - إضافة middleware للمصادقة
2. `src/routes/users.ts` - إضافة نقاط نهاية تسجيل الدخول/التسجيل
3. `src/models/user.ts` - إضافة تجزئة كلمة المرور

### ملفات جديدة
1. `src/middleware/auth.ts` - التحقق من JWT
2. `src/services/auth.ts` - منطق المصادقة
3. `tests/auth.test.ts` - اختبارات الوحدة

### تفاصيل التنفيذ
- استخدم bcrypt لتجزئة كلمات المرور
- رموز JWT مع انتهاء صلاحية 15 دقيقة
- تدوير رموز التحديث

### الاختبارات
- اختبار تسجيل الدخول ببيانات اعتماد صالحة/غير صالحة
- اختبار تحديث الرمز
- اختبار المسارات المحمية

الخطوة 3: المراجعة والموافقة​

تراجع الخطة وإما:

  • اكتب PROCEED للموافقة
  • اطلب تعديلات
  • ارفض وابدأ من جديد

الخطوة 4: التنفيذ​

[ACT MODE] PROCEED مع خطة المصادقة.
نفذ بالضبط ما تمت الموافقة عليه.

الخطوة 5: التحقق​

بعد التنفيذ:

تحقق من أن جميع التغييرات تمت بشكل صحيح:
1. تحقق من تطبيق middleware المصادقة
2. اختبار نقطة نهاية تسجيل الدخول
3. تشغيل اختبارات المصادقة

متقدم: تحليل الخطة تلقائيًا​

بالنسبة للمشاريع المعقدة، استخدم تنسيق خطة منظم:

## معرف الخطة: AUTH-001
## الحالة: بانتظار الموافقة
## الأولوية: عالية
## الوقت المقدر: 30 دقيقة

### النطاق
- إضافة مصادقة قائمة على JWT
- تنفيذ تسجيل الدخول/الخروج/التسجيل
- إضافة سير إعادة تعيين كلمة المرور

### التغييرات

#### الملف: src/middleware/auth.ts (جديد)
```typescript
import jwt from 'jsonwebtoken';

export const verifyToken = (req, res, next) => {
// التنفيذ
};

الملف: src/routes/auth.ts (جديد)​

// نقاط نهاية تسجيل الدخول والتسجيل وتسجيل الخروج

الملف: src/app.ts (تعديل)​

  • السطر 15: إضافة app.use('/auth', authRoutes)

التراجع​

  • حذف: src/middleware/auth.ts
  • حذف: src/routes/auth.ts
  • استعادة: src/app.ts السطر 15

الاختبارات​

  • تسجيل الدخول ببيانات اعتماد صالحة
  • تسجيل الدخول ببيانات اعتماد غير صالحة
  • الوصول إلى مسار محمي بدون رمز
  • الوصول إلى مسار محمي برمز صالح

## التكامل مع التحكم في الإصدار

### نقطة تفتيش ما قبل التنفيذ

قبل تنفيذ خطة:

```bash
# إنشاء فرع نقطة تفتيش
git checkout -b plan/auth-implementation

# الالتزام بالحالة الحالية
git add -A && git commit -m "نقطة تفتيش: قبل تنفيذ المصادقة"

التحقق ما بعد التنفيذ​

# مراجعة التغييرات
git diff

# إذا كان هناك خطأ، التراجع
git checkout -- .

# أو العودة إلى نقطة التفتيش
git reset --hard HEAD~1

سير عمل الفريق​

لمراجعات الكود​

  1. ينشئ المطور خطة في Cursor
  2. يلصق المطور الخطة في وصف PR
  3. يوافق المراجع على الخطة قبل التنفيذ
  4. ينفذ المطور باستخدام سير العمل Plan مقابل Act
  5. يتحقق المراجع من أن التنفيذ يطابق الخطة

قالب PR​

## الخطة
[الصق الخطة التي تم إنشاؤها بواسطة الذكاء الاصطناعي هنا]

## التنفيذ
- [ ] جميع التغييرات المخطط لها تم تنفيذها
- [ ] لا توجد تعديلات غير مخطط لها
- [ ] الاختبارات تمر
- [ ] الخطة تطابق التنفيذ

## التحقق
[وصف الاختبارات التي تم تنفيذها]

المخاطر الشائعة​

المخاطرالحل
الوكيل يتخطى التخطيطفرضه بقواود وقيود الوضع
الخطط غامضة جدًاطلب مسارات ملفات وأرقام أسطر محددة
إرهاق الموافقة من المستخدمتجميع التغييرات المرتبطة في خطط فردية
التنفيذ ينحرف عن الخطةمقارنة الاختلافات بالخطة بعد التنفيذ
الكثير من الترددالسماح بانحرافات طفيفة، وتحديد الانحرافات الكبيرة

قائمة التحقق السريعة​

  • إنشاء .cursor/rules/plan-act-workflow.mdc
  • اختبار بمهمة صغيرة وآمنة
  • التحقق من أن الوكيل يحترم وضع القراءة فقط
  • ممارسة الموافقة على الخطط ورفضها
  • إعداد نقاط تفتيش git قبل التنفيذ
  • توثيق سير العمل لفريقك

الموارد ذات الصلة​