أوقات الإنتاج: صف، حدث، كرون
Type: Learn
Languages: Python (stdlib)
Prerequisites: Phase 14 · 13 (LangGraph), Phase 14 · 22 (Voice)
Time: ~60 minutes
أهداف التعلم
- أسمائ أشكال تشغيل الإنتاج الستة وتطابق كل منها مع نمط إطار / منتج.
- شرح لماذا تنفيذ طويل الأمد (الخطوط البعيدة) مهم في المهام طويلة الأجل.
- وصف الوقت الذي يقود به الحدث ومتى يتناسب مع كلويد المديرين
- شرح ادعاء قابلية الملاحظة كحمل للمخدرات متعددة الخطوات.
المشكلة
وكلاء الإنتاج يفشلون في الطرق التي لا يظهر بها دفتر ملاحظات جوبيتر: وقت التوقف في الشبكة في الخطوة 37 ، يقوم المستخدم بتعليق مكالمة الصوتية في منتصفها ، يموت وظيفة cron عند إعادة تشغيل الآلة ، ينفذ عامل الخلفية من الذاكرة. يشكل شكل الوقت التشغيلي يحدد أي أخطاء يمكن البقاء عليها.
المفهوم
طلب-رد
- HTTP متزامن، المستخدم ينتظر الانتهاء
- فقط قابلة للتطبيق في المهام القصيرة (<30s).
- كومات: Agno (Python + FastAPI) ، Mastra (TypeScript + Express / Hono / Fastify / Koa).
- قابلية الملاحظة: سجلات الوصول HTTP القياسية + امتدادات OTel.
التدفق
- SSE أو WebSocket للخروج التدريجي.
- يمتد LiveKit هذا إلى WebRTC للصوت / الفيديو (المدرس 22).
- كومات: أي إطار مع دعم البث + محطة مقدمة تتعامل مع SSE/WS.
- التلاحظ: توقيت لكل جزء، تأخير أول رمز، تأخير الذيل.
التنفيذ المستمر
- نقطة تفتيش الدولة بعد كل خطوة، استئنافات تلقائية عند الفشل.
- نموذج الفاعل من AutoGen v0.4 يعزل الفشل من عامل واحد (الدرس 14).
- المفارقات الأساسية لـ لانغغراف (الدرس 13).
- ضرورية عندما يكون عدد الخطوات غير معروف وتكلفة التعافي مرتفعة.
قائمة على الصف / خلفية
- يُدخل العمل في صف، يلتقط العمال، وتدفق النتائج عبر شبكات الويب أو حانة/سوبر.
- ضرورية للعملاء على الأفق الطويل (عشرات إلى مئات الخطوات لكل مهمة ، لكل إعلان استخدام الكمبيوتر في Anthropic).
- كومات: سيلري (بايثون) ، BullMQ (عقدة) ، SQS + Lambda (AWS) ، حسب الطلب.
- قابلية الملاحظة: عمق الصف، توزيع التأخير لكل وظيفة، حجم DLQ.
القيادة على الحدث
- الوكلاء يشتركون في محفزات: البريد الإلكتروني الجديد، PR فتح، إطلاق النار التسجيل.
- كلود وكلاء مدير يغطي هذا خارج الصندوق (الدرس 17).
- تدفقات المجموعة (الدرس 15) هي بنية تدفقات عمل تحديدية مدفوعة بالأحداث.
- الملاحظة: مصدر الإطلاق، تأخير الحدث إلى بدء، تأخير العميل.
المخطط
- وكلاء على شكل كرون يديرون بشكل دوري
- إجمع مع تنفيذ دائم حتى يتم استئناف الفشل الليلي في التيار التالي.
- كومات: Kubernetes CronJob + إطار دائم؛ مضيف (Render cron، Vercel cron).
نمطات النشر 2026
- CrewAI Flowsللإنتاج القائم على الأحداث.
- AgnoFastAPI غير الحكومية لخدمات مايكروسروسيرفيس Python.
- Mastraمُعدّلات الخادم (Express، Hono، Fastify، Koa) للتثبيت.
- Pipecat Cloud / LiveKit Cloudللصوت المدار (دروس 22).
- Claude Managed Agentsلتنسيق مستضيف طويل الأمد.
الملاحظة تحمل الحمل
بدون OpenTelemetry GenAI (دروس 23) بالإضافة إلى Langfuse / Phoenix / Opik backend (دروس 24) ، لا يمكنك إعادة تحديد وكيل متعددة الخطوات التي فشلت في الخطوة 40. هذا ليس اختياريًا للإنتاج. إنه الفرق بين "نحن نقوم بإعادة التحرير بسرعة" و "نحن نراجع من الصفر مع المزيد من التسجيل".
عندما تفشل أوقات الإنتاج
- Wrong shape choice.اختيار طلبات-رد على مهمة مدتها 5 دقائق، المستخدمون يرفضون، العمال يجمعون، التجربات الإعادة مزدحمة.
- No DLQ.العمال يتواجدون في صف بدون حرف ميت، الوظائف الفاشلة تختفي
- Opaque background work.وكيل الخلفية يعمل دون وجود أثر للنقل. الفشل غير مرئي حتى يبلغ المستخدم عنهم.
- Skipping durable state.أي تشغيل > 30 ثانية حيث لا يمكنك تحمل تكلفة إعادة تشغيل يحتاج إلى تنفيذ طويل الأمد.
بناءها
code/main.pyهو إثبات متعدد الأشكال stdlib:
- نقطة نهاية الطلب-الإجابة (العمل السائل).
- جهاز التحكم في التدفق (المولد).
- عامل في الصف مع DLQ.
- سجل إطلاق الحدث
- المخططات على شكل كروين
إشغله
bashpython3 code/main.pyالخروج: خمسة آثار تظهر سلوك كل شكل في نفس المهمة. نفس منطق العميل، مختلفة القذائف الخارجية. يتم تغطية التنفيذ الدائم (الشكل السادس) عمدا في الدروس 13 مع التفتيش لنجراف.
استخدمها
- Request-responseللاستفادة من المعلومات في النمط
- Streamingللردود التدريجية.
- Durableللمهمات طويلة الأجل.
- Queueلـ (بارت) / (أسينك) / (طول)
- Eventلفعلية العميل
- Cronفي مجال الصيانة (توحيد الذاكرة، والقياسات، وتقارير التكاليف).
أرسله
outputs/skill-runtime-shape.mdيختار شكل وقت تشغيل للمهمة ويشغل متطلبات قابلية للملاحظة.
التمارين
- نقل الدروس 01 ReAct حلقة إلى جميع الأشكال الستة في كومة. أي الشكل يناسب أي سطح المنتج؟
- إضافة DLQ إلى التجربة القائمة على الصف. محاكاة فشل العمل بنسبة 10%؛ حجم DLQ سطح.
- اكتب وكيل تقييم محفز بالوقت الذي يُجري كل ليلة ضد أفضل 20 علامة من اليوم.
- تنفيذ التدفقات عبر الضغط الضغط: إذا كان العميل بطيءًا، قم بإيقاف الوكيل. كيف يتفاعل هذا مع ميزانية التحول؟
- قراءة وثائق كلود المديرين العملاء متى ستنتقلين عميل طويل الأفق المضيف إلى المديرين؟
الشروط الرئيسية
| Term | What people say | What it actually means |
|---|---|---|
| Request-response | "Synchronous" | User waits; short tasks only |
| Streaming | "SSE / WS" | Progressive output; better UX; latency observable per chunk |
| Durable execution | "Resume from failure" | Checkpointed state; restart at last step |
| Queue-based | "Background jobs" | Producer / worker pool / DLQ |
| Event-driven | "Trigger-based" | Agent reacts to external events |
| DLQ | "Dead-letter queue" | Parking lot for failed jobs |
| Claude Managed Agents | "Hosted harness" | Anthropic-hosted long-running async with caching + compaction |
المزيد من القراءة
- LangGraph overview تفاصيل تنفيذ دائمة
- Claude Managed Agents overview استضافة التزامن الطويل الأجل
- Anthropic, Introducing computer use "عشرات إلى مئات الخطوات لكل مهمة"
- AutoGen v0.4 (Microsoft Research) عزل الأخطاء في نموذج الممثل
This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.
Browse the complete course catalog or open this lesson on GitHub.