تتحول كل مهمة تُرسل إلى وكيل في غرفة إلى طلب يحمل معرّفًا عامًا مثل R20260906-07 وإحدى الحالات السبع: pending أو approved أو running أو done أو failed أو cancelled أو expired. وُجد المعرّف لكي يتحدث الشخص في سلسلة محادثات الدردشة، والشخص الذي يستخدم الهاتف، والمالك الذي ينظر إلى بطاقة الموافقة، عن الشيء نفسه تمامًا. ويعني الاستئناف متابعة الطلب نفسه، تحت المعرّف نفسه، بعد حدوث انقطاع.
هذه تفاصيل تقنية غير مبهرة. لكنها أيضًا الفارق بين "الوكيل يفعل شيئًا ما" و"الوكيل ينفذ R-07، الذي طلبته سارة، ووافقتَ عليه في الساعة 14:02، واكتمل بنسبة 60%".
المعرّف
R + تاريخ UTC + عدّاد يومي. قصير بما يكفي لكتابته من الهاتف، وفريد بما يكفي ليكون رابطًا. يظهر في الغرفة، وفي سجل التدقيق، وفي سلاسل محادثات منصة الدردشة، وعلى بطاقات الموافقة. عند استخدام موصلات Feishu أو Slack، يُعنون مسار المحادثة الخاص بالمهمة به. راجع تصميم Feishu.
الحالات
سبع حالات والانتقالات بينها؛ المسار الكهرماني المتقطع يمثل استئنافًا.
تتجاوز طلبات المالك حالة pending؛ إذ تنتقل مباشرة إلى approved.
الإلغاء وإعادة المحاولة والاستئناف
يضبط Cancel علامة يتحقق منها daemon بين استدعاءات الأدوات. يتوقف الطلب قيد التشغيل عند النقطة الآمنة التالية؛ ويُزال الطلب الموجود في قائمة الانتظار. كما أن إلغاء إذن شخص أو جهاز يلغي كل ما هو في قائمة الانتظار لهما.
تنشئ إعادة المحاولة طلبًا جديدًا بمعرّف جديد يشير إلى الطلب القديم. تعرض الغرفة الاثنين معًا، حتى يبقى السجل دقيقًا وموثوقًا.
أما الاستئناف فهو مختلف. عندما يدخل الجهاز في وضع السكون أثناء التشغيل أو يُعاد تشغيل daemon، يحتفظ الطلب بمعرّفه ومرجع جلسة بيئة التشغيل الخاصة به. وعند العودة، يتابع daemon الجلسة نفسها بدلًا من إعادة تشغيل prompt من البداية. يظهر في الجدول الزمني فاصل زمني، وليس تكرارًا. هذا ما يجعل الحاسوب المحمول الذي يُغلق في الساعة 6 مساءً مكانًا معقولًا لتشغيل وكيل يعتمد عليه الآخرون.
لماذا تكون قوائم الانتظار لكل وكيل متسلسلة
يعالج كل وكيل طلبًا واحدًا في كل مرة، بالترتيب. وإذا طلب شخصان من الوكيل نفسه في الوقت ذاته، فسيحصلان على R-07 وR-08، وينتظر R-08. تعمل الوكلاء المختلفة على الجهاز نفسه بالتوازي. يضمن التسلسل لكل وكيل اتساق دليل العمل: فالتعديلان المتزامنان على المستودع نفسه هما السبيل للوصول إلى حالة لم يطلبها أحد.
مدة صلاحية الموافقة (TTL)
الموافقة التي لا يجيب عليها أحد تنتهي صلاحيتها، افتراضيًا بعد 24 ساعة، ويصبح الطلب expired بدلًا من تشغيله بعد يوم كامل حين لا يتذكر أحد السياق. يمكن لمقدم الطلب إعادة المحاولة؛ ويرى المالك انتهاء الصلاحية في سجل التدقيق. راجع ما يجب أن يسجله سجل التدقيق.
الأسئلة الشائعة
هل يمكنني الإشارة إلى طلب في طلب جديد؟ نعم. اذكر المعرّف وسيحصل الوكيل على نتيجة ذلك الطلب في السياق. الإشارة إلى رسالة أو مخرجات أو طلب هي الطريقة التي تتجنب بها المتابعة إعادة تقديم الشرح من البداية.
ماذا يحدث لطلب قيد التشغيل إذا ألغيت إذن مقدم الطلب؟ يكتمل ويظل في السجل؛ ويُلغى أي شيء في قائمة الانتظار منه. قد يؤدي التوقف في منتصف التشغيل إلى ترك المستودع في حالة أسوأ مقارنة بإكماله.
هل المعرّفات عامة للجميع أم لكل غرفة؟
لكل مالك، ولكل يوم. يمكن لمالكين كلاهما الحصول على R20260906-01؛ وداخل الغرفة لا يوجد أي التباس.
هل يعمل الاستئناف مع Codex وكذلك مع Claude Code؟ توفر كلتا بيئتي التشغيل مرجع جلسة؛ يخزنه daemon مع الطلب ويستأنف باستخدامه.
امنح العمل اسمًا وسيصبح شيئًا يمكن للناس التحدث عنه. امنح وكيلك غرفة.
نُشر في