نسخة شفافة مشتقة لوجه القطة Kiki من صورة قدّمها المؤلف
العودة إلى القاعة

Kiki

إشارات العمل وتنفيذ الوكلاء

حتى يصبح الاقتراح تنفيذًا لدى المكلَّف به.

إضافة Paperclip وأداة جمع من Slack تساعدان فريقًا على تشغيل وكلاء الذكاء الاصطناعي لديه.

2026.04 — 2026.05

عمل حر في البحث والتطوير للذكاء الاصطناعي لدى pinxlab · تخطيط سير العمل وتطويره، والتحقيق في تعثّر التنفيذ وتصميم مسار الاستعادة

  • الإضافةمُطبَّق · Paperclip
  • خادم MCPمُطبَّق · جمع من Slack

Kiki vocabulary

Lens
Agent Execution
Dispatch
Recovery
Work Signals
Signal Ingestion
Proposal
  1. assignment
  2. wake
  3. guardrail
  1. stage reaper
  2. zombie sweeper
  3. circuit breaker
  4. escalation
  1. observe
  2. signals
  3. profile
  4. directive
  1. proposal
  2. approval

Assignment: assigneeAgentId · PATCH /api/issues/:id · queueIssueAssignmentWakeup · issue.updated · CTO TRIAGE · AUTO-PROMOTE TO TODO · AUTO-REBALANCE · in_progress · REASSIGN WITHOUT WAKE · repatchAssignment · kiki-retry-issue · status: todoWake: queueIssueAssignmentWakeup · REASSIGN WITHOUT WAKE · ctx.agents.invoke · POST /api/agents/:id/wakeup · invokeOnce · INVOKE DEDUP · windowMs · HANDOFF-ACK · AT-LEAST-ONCE · HANDOFF_ACK_MAX_RETRIES · ORPHAN WAKE · lastRunAt · maxConsecutiveWakes · WAKE-STORM GUARD · heartbeat_runsGuardrail: issue.updated · in_progress · ORPHAN WAKE · SPEC COMPLETE · PO SPEC GATE · PO DELEGATION GATE · REVIEW SCORECARD · 30/30 · REWORK · PO ACCEPTANCE SCORECARD · findScorecardInComments · ANTI-DECEPTION RATCHET · WORKFLOW GUARDRAILStage Reaper: PATCH /api/issues/:id · lastRunAt · stage-reaper · repatchAssignment · heartbeatSeconds · maxConsecutiveWakes · COOLDOWN · lastSignalTime · stageEntryTime · LEVEL-TRIGGERED · WAKE-STORM GUARD · pipeline-reaper · stage-without-PATCH · kiki-retry-issue · LEAD REROUTEZombie Sweeper: zombie-sweeper · ZOMBIE_RUNNING_MAX_MIN · ZOMBIE_QUEUED_MAX_MIN · execution_run_id · RUN OWNERSHIP CONFLICT · heartbeat_runs · claude_local · execution_locked_at · SELF-HEALCircuit Breaker: CLOSED · HALF_OPEN · auth_fail · rate_limit · RETRY STORM · CB_FAILURE_THRESHOLD · KEY ROTATOR · HTTP 429 · process_lost · agent.run.failedEscalation: process_lost · agent.run.failed · ESCALATION COMMENT · LEAD REROUTE · QA FALLBACK · agent.status_changed · failed-run-escalator · PIPELINE NOTIFIER · pipeline-health-snapshot · SILENT STALLObserve: observe_channel · slack_read_channels · slack_read_thread · slack_read_reactions · slack_user_activity · .last_observed.json · DELTA TRACKING · oldest · SOCKET MODE · kiki-observe · NO RAW TEXTSignals: NO RAW TEXT · UserSignal · message_count · avg_response_time_minutes · active_hours · thread_participation_rate · topic_keywords · evidence_count · LLMExtractedSignal · FeedbackSignalProfile: FeedbackSignal · UserProfile · CommunicationStyle · DecisionPattern · WorkRhythm · focusBlocks · confidence · ContextMode · DELEGATION CHAINS · refresh-profilesDirective: AgentDirective · profileToDirectives · reportFormat · taskConstraints · directiveToSkillMarkdown · agent.created · PATCH /api/skills/{skillId} · grounding_policy · systemPrompt · NO USER PIIMaintenance Proposal: MaintenanceProposal · [MAINT] · daily-maintenance · run-maintenance · kiki-maintain · MAX 10 PROPOSALS · [SCHEMA APPROVAL REQUIRED] · P1/P2/P3 · DO NOT FABRICATE · BOUND TARGETHuman Approval: SOCKET MODE · [SCHEMA APPROVAL REQUIRED] · maint_approve · maint_deny · BLOCK KIT · reaction_added · white_check_mark · ProposalMapping · block_actions · approved · cancelled · status: todo

بين الإسناد والتنفيذ الفعلي، مسار للملاحظة والاستعادة.

تصبح إشارات العمل ملفات تعريف وتوجيهات للوكلاء، وتُفصل الموافقة على اقتراح الصيانة عن إسناد تنفيذه. وحين يتوقف نشاط issue مُسندة، يُطلب مجددًا مع الـ issue والمكلَّف، ويؤول عدم الاستجابة المتكرر إلى حد وcooldown وحكم شخص.

تحوّلان إشارات العمل إلى توجيهات للوكلاء، وتربطان اقتراحات الصيانة والموافقة البشرية والإسناد واستعادة عمليات التشغيل المتعثرة بوصفها خطوات منفصلة. خطّطتُ هذا المسار وطوّرته.

أول سجل في المستودع April 3, 2026 · المشاركة في pinxlab حتى May 26, 2026

تعمل إضافةً داخل Paperclip الخاص بالفريق، ويتولى خادم MCP الجمع من Slack.

خريطة مسار التنفيذ · من سجلات التطبيق الخاصة
إشارات Kiki · الموافقة · استعادة التنفيذتُستخلص أنماط العمل من سجل قنوات Slack المتاحة إلى ملفات تعريف للشركات وتوجيهات لكل وكيل. ويفحص وكيل تحليل الصيانة مشروعًا مستهدفًا ويترك اقتراحاته issues في backlog بلا مكلَّف، ويُنشر كل اقتراح في Slack حيث يوافق عليه شخص أو يرفضه بتفاعل. وحين تُسند issue موافَق عليها إلى وكيل، يؤدي نظام تنفيذ خارجي العمل ويراقب stage reaper النشاط الأخير. وإذا توقف النشاط، يُطلب الإسناد مجددًا مع الـ issue والمكلَّف، وحين يبلغ عدم الاستجابة المتتالي الحد تتوقف إعادة الاستدعاء وتنتقل الحالة إلى قائد أو مشغّل.إشارات Slackسجل القنوات المتاحةالوكيل المكلَّفالتنفيذ الخارجيالمشروع المستهدفالمحتوى غير معروضشخص · موافقة، رفضتفاعل في Slackقائد · مشغّلإعادة الإسناد · الإشعارجمع الإشاراتاستخلاص الأنماط · بلا botsحالة الشركةدمج ملف تعريف الشركةحالة الوكيلتوجيهات لكل وكيلملاحظة التشغيلعمليات التشغيل الأخيرة · النشاطتحليل الصيانةاستدعاء PO · موجّه محدد النطاقمتتبّع الـ issuesالاقتراح · backlogissue التشغيل · todoنشر الاقتراحربط الرسالة ↔ الـ issueStage reaperفحص التعثّر · heartbeatاستدعاء الاستعادةالـ issue + المكلَّفحالة عدم الاستجابةمرات عدم الاستجابة · لكل issueالحدإيقاف إعادة الاستدعاء · cooldownالإشارات → التوجيهاتالتنفيذ الخارجيالاقتراح → الموافقة البشريةالاستعادة · التصعيد1 سجل القنوات · إشارات Slack → استخلاص الأنماط · بلا bots12 دمج ملف التعريف · استخلاص الأنماط · بلا bots → دمج ملف تعريف الشركة23 إعادة التوليد · دمج ملف تعريف الشركة → توجيهات لكل وكيل34 إدخال التوجيهات · توجيهات لكل وكيل → الوكيل المكلَّف41نطاق الهدف2 issue الاقتراح · استدعاء PO · موجّه محدد النطاق → الاقتراح · backlog23نشر الاقتراح4رسالة Slack5تفاعل6موافقة → todo7رفض → cancelled8الإسناد1سجلات التشغيل2آخر نشاط3بلا رد +14نشاط جديد → إعادة ضبط5 إعادة الاستدعاء · فحص التعثّر · heartbeat → الـ issue + المكلَّف56الـ issue + المكلَّف7بعد 38إعادة الإسناد · الإشعار9تحذير فقط

الإشارات → التوجيهات

تُبنى ملفات التعريف وتوجيهات الوكلاء من سجل Slack. والتوجيهات سياق للوكيل ولا تُرسم سببًا لأي اقتراح.

  1. إشارات Slackبيانات: سجل القنواتاستخلاص الأنماط · بلا botsجمع الإشارات

    يُجمع سجل القنوات المتاحة وتُستبعد رسائل الـ bots والانضمام والمغادرة. ولا تُعرض الرسائل الأصلية في هذه الصفحة.

  2. استخلاص الأنماط · بلا botsجمع الإشاراتبيانات: دمج ملف التعريفدمج ملف تعريف الشركةحالة الشركة

    تصبح الأنماط المستخلصة profile patch يُدمج في ملف تعريف الشركة. وهي أنماط استدلالية، لا درجات لأداء الموظفين.

  3. دمج ملف تعريف الشركةحالة الشركةبيانات: إعادة التوليدتوجيهات لكل وكيلحالة الوكيل

    تُعاد توليد التوجيهات لكل وكيل من ملف التعريف المدمج وتُخزَّن.

  4. توجيهات لكل وكيلحالة الوكيلتشغيل · حكم: إدخال التوجيهاتالوكيل المكلَّف

    تدخل التوجيهات سياق الوكيل عند إنشائه. ولا يعني هذا أن اقتراحًا بعينه جاء من إشارة Slack بعينها.

الاقتراح → الموافقة → الإسناد

يوجد الاقتراح أولًا issue في backlog بلا مكلَّف، ويطلب تفاعل شخص تغيير الحالة، والإسناد والتنفيذ من شأن النظام الخارجي.

  1. المشروع المستهدفبيانات: نطاق الهدفاستدعاء PO · موجّه محدد النطاقتحليل الصيانة

    تستدعي مهمة الصيانة وكيل PO بموجّه محصور في المشروع المستهدف. ولا يُعرض محتوى المصدر.

  2. استدعاء PO · موجّه محدد النطاقتحليل الصيانةبيانات: issue الاقتراحالاقتراح · backlogمتتبّع الـ issues

    يطلب الموجّه اقتراحات بمسارات مُتحقَّق منها فقط، بوصفها issues في backlog بلا مكلَّف، ويمنع تشغيل DB migrations. وهو تعليمة لوكيل المنتج، لا آلية فرض حتمية.

  3. الاقتراح · backlogمتتبّع الـ issuesبيانات: نشر الاقتراحربط الرسالة ↔ الـ issueنشر الاقتراح

    يُنشر كل اقتراح في Slack ويُخزَّن ربط الرسالة بالـ issue. ولا تُنشر الاقتراحات المنشورة مرة أخرى، ويحتفظ الربط المخزَّن بآخر 50.

  4. ربط الرسالة ↔ الـ issueنشر الاقتراحبيانات: رسالة Slackشخص · موافقة، رفض

    يرى شخص الاقتراح المنشور في Slack.

  5. شخص · موافقة، رفضتشغيل · حكم: تفاعلربط الرسالة ↔ الـ issueنشر الاقتراح

    يجد التفاعل على الرسالة الـ issue عبر الربط. ولا توجد موافقة تلقائية.

  6. ربط الرسالة ↔ الـ issueنشر الاقتراحتشغيل · حكم: موافقة → todoissue التشغيل · todoمتتبّع الـ issues

    عند الموافقة، يُرسل طلب لنقل issue الاقتراح المعلّقة إلى todo، ويُحدَّث الربط وإشعار السلسلة. ويضع هذا الـ handler علامة approved على الربط دون فحص رمز الاستجابة، فليس معاملة fail-closed.

  7. ربط الرسالة ↔ الـ issueنشر الاقتراحتشغيل · حكم: رفض → cancelledالاقتراح · backlogمتتبّع الـ issues

    عند الرفض، يُرسل طلب لنقل الـ issue نفسها إلى cancelled. والـ issue موجودة قبل الموافقة، والموافقة لا تنشئها.

  8. issue التشغيل · todoمتتبّع الـ issuesتشغيل · حكم: الإسنادالوكيل المكلَّف

    إسناد issue في todo وتنفيذها من شأن نظام التنفيذ الخارجي. ونقل issue إلى todo لا يضمن بدء العمل.

التعثّر → الاستعادة → شخص

تُطلب مجددًا الـ issue المُسندة التي توقف نشاطها مع الـ issue والمكلَّف، وحين يبلغ عدم الاستجابة المتتالي الحد تنتقل إلى شخص.

  1. الوكيل المكلَّفملاحظة · إبلاغ: سجلات التشغيلعمليات التشغيل الأخيرة · النشاطملاحظة التشغيل

    تُسجَّل عمليات تشغيل الوكيل المكلَّف وإشاراته الأخيرة ملاحظاتٍ. والنشاط ليس دليلًا على الاكتمال.

  2. عمليات التشغيل الأخيرة · النشاطملاحظة التشغيلملاحظة · إبلاغ: آخر نشاطفحص التعثّر · heartbeatStage reaper

    لا ينظر الـ reaper إلا إلى الـ issues غير المكتملة أو الملغاة أو المحجوبة (done وcancelled وblocked) التي لها مكلَّف، ويحسب عمر آخر إشارة ومرحلة.

  3. فحص التعثّر · heartbeatStage reaperبيانات: بلا رد +1مرات عدم الاستجابة · لكل issueحالة عدم الاستجابة

    يُعدّ عدم الاستجابة المتتالي لكل وكيل وissue ويُخزَّن في الحالة.

  4. عمليات التشغيل الأخيرة · النشاطملاحظة التشغيلملاحظة · إبلاغ: نشاط جديد → إعادة ضبطمرات عدم الاستجابة · لكل issueحالة عدم الاستجابة

    يعيد النشاط الجديد ضبط العدّاد.

  5. فحص التعثّر · heartbeatStage reaperتشغيل · حكم: إعادة الاستدعاءالـ issue + المكلَّفاستدعاء الاستعادة

    إذا تجاوز الـ heartbeat حدّه وكان العدد دون الحد، يُجرى استدعاء استعادة.

  6. الـ issue + المكلَّفاستدعاء الاستعادةتشغيل · حكم: الـ issue + المكلَّفissue التشغيل · todoمتتبّع الـ issues

    يُطلب الإسناد مجددًا مع الـ issue والوكيل المكلَّف وتعليق توضيحي، وتُفحص استجابة HTTP. ويرتد مسار قديم إلى استدعاء إيقاظ واحد.

  7. مرات عدم الاستجابة · لكل issueحالة عدم الاستجابةإخفاق · حد: بعد 3إيقاف إعادة الاستدعاء · cooldownالحد

    حين يبلغ عدم الاستجابة المتتالي الحد (3 افتراضيًا)، تتوقف إعادة الاستدعاء. ولا يصمد الحد إلا حين تقرأ hooks الحالة العدد وتكتبه، وقد يُضعفه فشل الحفظ.

  8. إيقاف إعادة الاستدعاء · cooldownالحدتشغيل · حكم: إعادة الإسناد · الإشعارقائد · مشغّل

    يعيد الإسناد إلى قائد حيث أمكن، ولا يعيد in_progress إلى todo إلا حين تكون تلك الميزة مفعّلة. وإلا يترك تعليقًا وإشعارًا best-effort، ويسجّل cooldown بعد بلوغ الحد.

  9. فحص التعثّر · heartbeatStage reaperملاحظة · إبلاغ: تحذير فقطقائد · مشغّل

    حين تطول مرحلة أكثر من اللازم، لا يُترك إلا تعليق تحذيري للمشغّلين. ولا تتغير الحالة تلقائيًا.

كل الروابط بالسماكة نفسها. اختر مسارًا لإبراز طريقه وحده، مع خطوات مرقّمة.

  • خط متصل · اتجاه المُدخلات والنتائج والسجلات
  • خط متقطع · تشغيل، حكم، طلب
  • نقاط طويلة · الملاحظة والإبلاغ، بمعزل عن الحكم
  • شرطات قصيرة · إخفاق، توقف، حد
  • خط أسود سميك · المسار المختار، والأرقام تبيّن الترتيب
  • مربع · حدّ شيفرة أو حالة، واسمه في الترويسة
  • شريحة داخلية · مكوّن من ذلك الحد
  • مربع منقّط · خارج ذلك الحد
  • إطار برتقالي · حيث يقرر نموذج
  • استدعاء الوكيل · استدعاء الاستعادة
  • الحالة · السجلات
  • فحص التعثّر · الحد
  • الجمع · النشر

مرسومة من سجلات التطبيق والتطوير الخاصة. ولا تُعرض معرّفات الفريق والـ issues وSlack ولا الرسائل الأصلية، والنشر والحاويات وبيانات الاعتماد تعود إلى مالك خارج هذه الإضافة.

ملاحظة واحدة
تقرير April 28, 2026: في تشخيص يدوي قبل التغيير، طُلب مجددًا إسناد issue واحدة لم تُشغَّل منذ 67 ساعة مع الـ issue والمكلَّف، فدخل تشغيل جديد الطابور خلال 5 ثوانٍ. ولم يُقَس الاكتمال ولا متوسط زمن الاستعادة ولا الأثر بعد الطرح.
حدود معالجة الموافقة
على خلاف استدعاء الاستعادة، تضع معالجة الموافقة علامة approved على الربط دون فحص رمز الاستجابة. ولا تُوصف بأنها معاملة موافقة ذرّية أو fail-closed.
متى يصمد الحد
حد الاستدعاءات الثلاثة تطبيق يصمد حين توجد hooks الحالة. ولا يضمن تصعيدًا واحدًا بالضبط في كل إخفاق.