mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-09-25 12:20:49 +00:00
- An ephemeral buffer that dropped spans at its cap still uploaded the rest and recorded the run. The grader could not read that run whole, so it is no longer recorded (the upload still happens). Test added. - last_run_path() ran before the try in record_last_run; a cwd that vanished mid-run would have raised out of a function documented never to raise. It is inside now, with the same debug log and None. - Tests: the "recorded once" check counted an unchanged mtime, which proves nothing on a coarse filesystem — it now counts calls to record_last_run; the first-start/last-end fold across export batches had no value test — batches now arrive out of order and the ISO window is asserted. - Docs: the conversational-flows comment said "one trace link" for output that no longer exists; tracing.mdx now names .crewai/last_run.json, what it holds, who reads it, and when it is not written. en, ar, ko, pt-BR. 85 passed (test_session_trace_export + test_last_run); ruff and mypy clean. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
260 lines
13 KiB
Plaintext
260 lines
13 KiB
Plaintext
---
|
|
title: تتبع CrewAI
|
|
description: التتبع المدمج لطواقم وتدفقات CrewAI مع منصة CrewAI AMP
|
|
icon: magnifying-glass-chart
|
|
mode: "wide"
|
|
---
|
|
|
|
# التتبع المدمج في CrewAI
|
|
|
|
يوفر CrewAI إمكانيات تتبع مدمجة تتيح لك مراقبة وتصحيح أخطاء الطواقم والتدفقات في الوقت الفعلي. يوضح هذا الدليل كيفية تفعيل التتبع لكل من **الطواقم** و**التدفقات** باستخدام منصة المراقبة المتكاملة في CrewAI.
|
|
|
|
> **ما هو تتبع CrewAI؟** يوفر التتبع المدمج في CrewAI مراقبة شاملة لوكلاء الذكاء الاصطناعي، بما في ذلك قرارات الوكلاء وجداول تنفيذ المهام واستخدام الأدوات واستدعاءات LLM - كل ذلك متاح عبر [منصة CrewAI AMP](https://app.crewai.com). يتم إدارة التتبع بشكل مستقل عن [القياس عن بُعد](/ar/telemetry).
|
|
|
|

|
|
|
|
## المتطلبات الأساسية
|
|
|
|
قبل أن تتمكن من استخدام تتبع CrewAI، تحتاج إلى:
|
|
|
|
1. **حساب CrewAI AMP**: سجّل للحصول على حساب مجاني على [app.crewai.com](https://app.crewai.com)
|
|
2. **مصادقة CLI**: استخدم CLI الخاص بـ CrewAI لمصادقة بيئتك المحلية
|
|
|
|
```bash
|
|
crewai login
|
|
```
|
|
|
|
## تعليمات الإعداد
|
|
|
|
### الخطوة 1: إنشاء حساب CrewAI AMP
|
|
|
|
قم بزيارة [app.crewai.com](https://app.crewai.com) وأنشئ حسابك المجاني. سيمنحك هذا الوصول إلى منصة CrewAI AMP حيث يمكنك عرض التتبعات والمقاييس وإدارة طواقمك.
|
|
|
|
### الخطوة 2: تثبيت CLI الخاص بـ CrewAI والمصادقة
|
|
|
|
إذا لم تكن قد فعلت ذلك بالفعل، ثبّت CrewAI مع أدوات CLI:
|
|
|
|
```bash
|
|
uv add 'crewai[tools]'
|
|
```
|
|
|
|
ثم صادق على CLI مع حساب CrewAI AMP الخاص بك:
|
|
|
|
```bash
|
|
crewai login
|
|
```
|
|
|
|
سيقوم هذا الأمر بـ:
|
|
|
|
1. فتح متصفحك إلى صفحة المصادقة
|
|
2. طلب إدخال رمز الجهاز
|
|
3. مصادقة بيئتك المحلية مع حساب CrewAI AMP
|
|
4. تفعيل إمكانيات التتبع لتطويرك المحلي
|
|
|
|
### الخطوة 3: تفعيل التتبع في طاقمك
|
|
|
|
يمكنك تفعيل التتبع لطاقمك عبر تعيين معامل `tracing` إلى `True`:
|
|
|
|
```python
|
|
from crewai import Agent, Crew, Process, Task
|
|
from crewai_tools import SerperDevTool
|
|
|
|
# Define your agents
|
|
researcher = Agent(
|
|
role="Senior Research Analyst",
|
|
goal="Uncover cutting-edge developments in AI and data science",
|
|
backstory="""You work at a leading tech think tank.
|
|
Your expertise lies in identifying emerging trends.
|
|
You have a knack for dissecting complex data and presenting actionable insights.""",
|
|
verbose=True,
|
|
tools=[SerperDevTool()],
|
|
)
|
|
|
|
writer = Agent(
|
|
role="Tech Content Strategist",
|
|
goal="Craft compelling content on tech advancements",
|
|
backstory="""You are a renowned Content Strategist, known for your insightful and engaging articles.
|
|
You transform complex concepts into compelling narratives.""",
|
|
verbose=True,
|
|
)
|
|
|
|
# Create tasks for your agents
|
|
research_task = Task(
|
|
description="""Conduct a comprehensive analysis of the latest advancements in AI in 2024.
|
|
Identify key trends, breakthrough technologies, and potential industry impacts.""",
|
|
expected_output="Full analysis report in bullet points",
|
|
agent=researcher,
|
|
)
|
|
|
|
writing_task = Task(
|
|
description="""Using the insights provided, develop an engaging blog
|
|
post that highlights the most significant AI advancements.
|
|
Your post should be informative yet accessible, catering to a tech-savvy audience.""",
|
|
expected_output="Full blog post of at least 4 paragraphs",
|
|
agent=writer,
|
|
)
|
|
|
|
# Enable tracing in your crew
|
|
crew = Crew(
|
|
agents=[researcher, writer],
|
|
tasks=[research_task, writing_task],
|
|
process=Process.sequential,
|
|
tracing=True, # Enable built-in tracing
|
|
verbose=True
|
|
)
|
|
|
|
# Execute your crew
|
|
result = crew.kickoff()
|
|
```
|
|
|
|
### الخطوة 4: تفعيل التتبع في التدفق
|
|
|
|
بالمثل، يمكنك تفعيل التتبع لتدفقات CrewAI:
|
|
|
|
```python
|
|
from crewai.flow.flow import Flow, listen, start
|
|
from pydantic import BaseModel
|
|
|
|
class ExampleState(BaseModel):
|
|
counter: int = 0
|
|
message: str = ""
|
|
|
|
class ExampleFlow(Flow[ExampleState]):
|
|
def __init__(self):
|
|
super().__init__(tracing=True) # Enable tracing for the flow
|
|
|
|
@start()
|
|
def first_method(self):
|
|
print("Starting the flow")
|
|
self.state.counter = 1
|
|
self.state.message = "Flow started"
|
|
return "continue"
|
|
|
|
@listen("continue")
|
|
def second_method(self):
|
|
print("Continuing the flow")
|
|
self.state.counter += 1
|
|
self.state.message = "Flow continued"
|
|
return "finish"
|
|
|
|
@listen("finish")
|
|
def final_method(self):
|
|
print("Finishing the flow")
|
|
self.state.counter += 1
|
|
self.state.message = "Flow completed"
|
|
|
|
# Create and run the flow with tracing enabled
|
|
flow = ExampleFlow(tracing=True)
|
|
result = flow.kickoff()
|
|
```
|
|
|
|
### الخطوة 5: عرض التتبعات في لوحة تحكم CrewAI AMP
|
|
|
|
لا تُرفع التتبعات إلا بعد نجاح التصدير باستخدام المصادقة أو الرفع المجهول الذي وافقت عليه صراحةً. لا يوجد تتبع مرفوع لأي تشغيل حُذف مخزنه المؤقت المحلي.
|
|
للتتبعات المرتبطة بحسابك، افتح [علامة تبويب التتبعات في لوحة تحكم CrewAI AMP](https://app.crewai.com/crewai_plus/trace_batches) لعرض تفاعلات الوكلاء واستخدام الأدوات واستدعاءات LLM.
|
|

|
|
|
|
بعد تشغيلٍ وصلت نطاقاته (spans) إلى CrewAI AMP، يكتب crewAI الملف `.crewai/last_run.json` في مجلد المشروع: معرّف التنفيذ، وما إذا كان التتبع مجهولاً أو تحت حسابك، ووقت البدء والانتهاء، وعنوان AMP الذي أُرسل إليه. يقرأه الأمر `crewai eval` لتقييم آخر تشغيل دون نسخ أي معرّف. يتضمن `.gitignore` في القالب المجلد `.crewai/`؛ ولا يُسجَّل إلا التشغيل الذي صُدِّر كاملاً، ولا يُكتب شيء عند `CREWAI_TESTING=true`.
|
|
|
|
### البديل: إعداد متغير البيئة
|
|
|
|
يمكنك أيضاً تفعيل التتبع عالمياً عبر تعيين متغير بيئة:
|
|
|
|
```bash
|
|
export CREWAI_TRACING_ENABLED=true
|
|
```
|
|
|
|
أو إضافته إلى ملف `.env`:
|
|
|
|
```env
|
|
CREWAI_TRACING_ENABLED=true
|
|
```
|
|
|
|
عند تعيين متغير البيئة هذا، ستُفعّل جميع الطواقم والتدفقات التتبع تلقائياً، حتى بدون تعيين `tracing=True` صراحةً.
|
|
|
|
## عرض التتبعات بعد أول تشغيل
|
|
|
|
في المرة الأولى التي تشغّل فيها طاقماً أو تدفقاً، قد يسألك طرف تفاعلي:
|
|
|
|
```text
|
|
Share this execution trace with CrewAI? [y/N]
|
|
```
|
|
|
|
اختر **yes** لرفع التتبع المخزّن مؤقتاً إلى CrewAI. قد تحتوي التتبعات على
|
|
المطالبات والمدخلات والمخرجات. يُحذف المخزن المؤقت عند الرفض أو انتهاء المهلة
|
|
أو التشغيل دون مطالبة تفاعلية بالموافقة. يمكنك تغيير إعداد التتبع لاحقاً باستخدام
|
|
`crewai traces enable` أو `crewai traces disable`، أو بتعيين `tracing`
|
|
على الطاقم أو التدفق.
|
|
|
|
### التخزين المؤقت المحلي والتصدير بعد المصادقة
|
|
|
|
يبقى جمع التتبعات في أول تشغيل داخل ذاكرة العملية إلى أن توافق على المشاركة،
|
|
حتى إذا كانت لديك بيانات تسجيل دخول محفوظة. يستخدم التتبع دون مصادقة مسار
|
|
الموافقة نفسه. قبل الموافقة، لا يطلب CrewAI تصريح رفع ولا يرسل أي مقاطع تنفيذ.
|
|
|
|
يحتفظ المخزن المؤقت بحد أقصى **1,000 مقطع** و**8 MiB من بيانات OTLP المرمّزة**.
|
|
اضبط `CREWAI_EPHEMERAL_TRACE_MAX_SPANS` و
|
|
`CREWAI_EPHEMERAL_TRACE_MAX_BYTES` على أعداد صحيحة موجبة لتعديل هذين الحدّين.
|
|
عند تجاوز السعة، تُحذف أقدم المقاطع؛ ويُحذف أي مقطع يتجاوز وحده حد البايتات.
|
|
يُفرّغ المخزن المؤقت بعد مشاركته أو تجاهله.
|
|
|
|
عند تفعيل التتبع وتوفّر بيانات الاعتماد، يستبدل CrewAI بيانات تسجيل دخول CLI
|
|
أو `CREWAI_USER_PAT` أو بيانات اعتماد تكامل المنصة لدى AMP بتصريح خاص
|
|
بالتنفيذ. ثم يصدّر مقاطع OpenTelemetry مباشرةً إلى Wharf باستخدام ذلك التصريح.
|
|
لا تؤدي بيانات الاعتماد غير الصالحة إلى الرجوع إلى الرفع المجهول.
|
|
|
|
### جلسات التنفيذ المستضافة
|
|
|
|
يمكن للبيئات المضيفة إحاطة التنفيذ بـ `telemetry_session` من
|
|
`crewai.telemetry.tracing`. تستخدم الجلسة أحداث دورة حياة CrewAI لإنشاء
|
|
المقاطع وإنهائها، مع الحفاظ على طوابعها الزمنية وعلاقاتها بالمقاطع الأصل وروابط
|
|
الإيقاف والاستئناف في HITL. مرّر موفّراً موجوداً عبر `providers=` للاحتفاظ
|
|
بمتتبّع البيئة المضيفة وتكامل التسجيل لديها. مرّر معالجات المقاطع عبر
|
|
`processors=` ودالة تسجيل للمضيف عبر `log_emitter=`. يتولى المضيف أي تنقيح
|
|
للبيانات في هذه التكاملات.
|
|
تدير كل جلسة دورة حياة التتبع الخاصة بها وتترك موفّر OpenTelemetry العام
|
|
للتطبيق دون تغيير.
|
|
|
|
## عرض التتبعات
|
|
|
|
### الوصول إلى لوحة تحكم CrewAI AMP
|
|
|
|
1. قم بزيارة [app.crewai.com](https://app.crewai.com) وسجّل الدخول إلى حسابك
|
|
2. انتقل إلى لوحة تحكم مشروعك
|
|
3. انقر على علامة تبويب **التتبعات** لعرض تفاصيل التنفيذ
|
|
|
|
### ما ستراه في التتبعات
|
|
|
|
يوفر تتبع CrewAI رؤية شاملة لـ:
|
|
|
|
- **قرارات الوكلاء**: شاهد كيف يفكر الوكلاء في المهام ويتخذون القرارات
|
|
- **جدول تنفيذ المهام**: تمثيل مرئي لتسلسلات المهام والتبعيات
|
|
- **استخدام الأدوات**: مراقبة الأدوات المستدعاة ونتائجها
|
|
- **استدعاءات LLM**: تتبع جميع تفاعلات نماذج اللغة، بما في ذلك الموجهات والاستجابات
|
|
- **مقاييس الأداء**: أوقات التنفيذ واستخدام الرموز المميزة والتكاليف
|
|
- **تتبع الأخطاء**: معلومات تفصيلية عن الأخطاء وتتبعات المكدس
|
|
|
|
### ميزات التتبع
|
|
|
|
- **جدول التنفيذ**: انقر عبر مراحل التنفيذ المختلفة
|
|
- **سجلات تفصيلية**: الوصول إلى سجلات شاملة لتصحيح الأخطاء
|
|
- **تحليلات الأداء**: حلّل أنماط التنفيذ وحسّن الأداء
|
|
- **إمكانيات التصدير**: حمّل التتبعات لمزيد من التحليل
|
|
|
|
### مشكلات المصادقة
|
|
|
|
إذا واجهت مشاكل في المصادقة:
|
|
|
|
1. تأكد من تسجيل الدخول: `crewai login`
|
|
2. تحقق من اتصال الإنترنت
|
|
3. تحقق من حسابك على [app.crewai.com](https://app.crewai.com)
|
|
|
|
### التتبعات لا تظهر
|
|
|
|
إذا لم تظهر التتبعات في لوحة التحكم:
|
|
|
|
1. تأكد من تعيين `tracing=True` في الطاقم/التدفق
|
|
2. تحقق من `CREWAI_TRACING_ENABLED=true` إذا كنت تستخدم متغيرات البيئة
|
|
3. للتصدير باستخدام المصادقة، تحقّق من تسجيل دخول CLI أو `CREWAI_USER_PAT` أو بيانات اعتماد تكامل المنصة. للمشاركة المجهولة، وافق صراحةً على مطالبة الموافقة؛ لا يلزم تسجيل الدخول
|
|
4. تحقّق من تنفيذ الطاقم/التدفق ونجاح تصدير التتبع. يؤدي رفض الموافقة أو انتهاء المهلة أو التشغيل دون مطالبة تفاعلية بالموافقة إلى حذف المخزن المؤقت المحلي دون رفعه
|