06/09/2026
# LangSmith: ما هو، ما دوره، ولماذا نحتاجه في تطبيقات الذكاء الاصطناعي؟
مع انتشار تطبيقات الذكاء الاصطناعي المعتمدة على نماذج اللغة الكبيرة (LLMs) وظهور الـ **AI Agents** وخصوصًا الأنظمة التي تنفذ عدة خطوات وتستخدم أدوات وقواعد بيانات وواجهات API، ظهرت مشكلة مهمة جدًا:
**كيف نعرف ماذا حدث داخل التطبيق عندما أعطى الـ Agent إجابة خاطئة أو بطيئة أو مكلفة؟**
في تطبيق تقليدي يمكن للمطور الاعتماد على الـ logs لمعرفة ما حدث. أما في تطبيقات الذكاء الاصطناعي، فالصورة أكثر تعقيدًا؛ فقد يبدأ المستخدم بسؤال، ثم يستدعي الـ Agent نموذجًا لغويًا، ثم يستخدم أداة للبحث، ثم يستعلم من قاعدة بيانات، ثم يعيد إرسال النتائج إلى النموذج، وبعد عدة خطوات ينتج الإجابة النهائية.
هنا يأتي دور **LangSmith**.
LangSmith هي منصة من شركة LangChain تهدف إلى **مراقبة (Observability)، وتصحيح (Debugging)، واختبار (Evaluation)، وتحسين تطبيقات LLM والـ AI Agents**. وتوضح الشركة أن LangSmith مصممة للعمل مع تطبيقات LLM بشكل عام، وليس فقط التطبيقات المبنية باستخدام LangChain.
# # ما هي LangSmith؟
يمكن النظر إلى LangSmith على أنها طبقة مراقبة وتقييم توضع بجانب تطبيق الذكاء الاصطناعي.
فعلى سبيل المثال، قد يكون لدينا النظام التالي:
```text
المستخدم
↓
AI Agent
↓
LLM
↓
Tool / API
↓
Database
↓
LLM
↓
الإجابة النهائية
```
بدون منصة مراقبة، قد يرى المطور فقط السؤال والجواب النهائي.
أما باستخدام LangSmith، فيمكنه رؤية سلسلة التنفيذ خطوة بخطوة:
```text
User Request
↓
Agent Started
↓
LLM Call
↓
Tool Call
↓
Database Query
↓
Tool Result
↓
LLM Call
↓
Final Answer
```
وهذا هو مفهوم **Tracing**: تسجيل مسار التنفيذ الكامل للتطبيق حتى يستطيع المطور فهم ما حدث فعليًا.
وتدعم LangSmith هذا النوع من التتبع عبر SDKs، كما يمكن استخدامها مع تطبيقات مخصصة لا تعتمد على LangChain. ويعرض الـ SDK الرسمي أمثلة باستخدام OpenAI مباشرة مع `wrapOpenAI` و`traceable`.
---
# ما الدور الأساسي لـ LangSmith؟
يمكن تلخيص دور LangSmith في أربع وظائف رئيسية:
# # 1. Observability — مراقبة التطبيق
عندما يكون لديك Agent معقد، فإن المشكلة ليست فقط معرفة هل نجح أم فشل، بل معرفة **كيف وصل إلى النتيجة**.
يمكن لـ LangSmith أن تساعد في متابعة التنفيذ، مثل:
* مدخلات ومخرجات الخطوات
* استدعاءات النماذج
* استدعاءات الأدوات
* الأخطاء
* زمن التنفيذ
* استخدام الـ tokens
* معلومات مرتبطة بالـ runs والـ traces
وهذا يسمح للمطور بفهم أداء النظام بدل الاعتماد على الإجابة النهائية فقط.
---
# # 2. Tracing — تتبع كل خطوة
الـ Trace هو أحد أهم المفاهيم في LangSmith.
لنفترض أن لديك Customer Service Agent:
```text
سؤال العميل
↓
Agent
↓
LLM
↓
البحث عن العميل
↓
البحث عن الطلب
↓
فحص حالة الشحن
↓
LLM
↓
الإجابة
```
إذا أخبرك العميل:
> "النظام أخبرني أن طلبي تم شحنه ولكنه لم يصل."
فأنت تريد معرفة:
هل الـ Agent فهم السؤال بشكل صحيح؟
هل استدعى أداة الطلب؟
هل حصل على بيانات صحيحة؟
هل أرسل هذه البيانات إلى النموذج؟
هل النموذج أخطأ في تفسير النتيجة؟
بدون tracing قد يستغرق اكتشاف المشكلة وقتًا طويلًا.
مع tracing تستطيع رؤية سلسلة التنفيذ كاملة.
---
# 3. Evaluation — تقييم جودة الذكاء الاصطناعي
المراقبة وحدها لا تكفي.
قد يعمل النظام تقنيًا بدون أخطاء، لكنه يعطي إجابات سيئة.
لذلك نحتاج إلى **Evaluation**.
مثلًا لديك 1,000 سؤال اختباري:
```text
Question 1 → Expected Answer
Question 2 → Expected Answer
Question 3 → Expected Answer..
Question 1000
```
يمكن استخدام هذه البيانات لتقييم أداء Agent أو Prompt أو نموذج معين.
وهذا مهم جدًا عند إجراء تغييرات مثل:
```text
GPT Model A
VS
GPT Model B
```
أو:
```text
Prompt Version 1
VS
Prompt Version 2
```
بدل الاعتماد على الانطباع الشخصي، تستطيع إجراء مقارنة منهجية.
---
# 4. Debugging — اكتشاف الأخطاء وتحسين النظام
قد تكون المشكلة في:
* الـ Prompt
* النموذج
* Tool
* API
* قاعدة البيانات
* Retrieval
* Logic الخاص بالـ Agent
* أو في ترتيب الخطوات
LangSmith تساعدك في تحديد مكان المشكلة بدل البحث عشوائيًا في الكود.
وهذا يصبح أكثر أهمية كلما تحول التطبيق من:
```text
LLM → Response
```
إلى:
```text
Agent
├── LLM
├── Search
├── Database
├── API
├── Another Tool
└── LLM
```
---
# هل LangSmith مخصصة لـ LangChain فقط؟
**لا. وهذه من أهم النقاط التي يجب فهمها.**
LangSmith نشأت ضمن منظومة LangChain، ولذلك لديها تكامل قوي جدًا مع LangChain وLangGraph.
لكن الـ LangSmith SDK الرسمي يوضح أن المنصة تعمل مع **أي LLM Application**، وليس فقط تطبيقات LangChain. كما أن الأمثلة الرسمية تتضمن استخدام LangSmith مع OpenAI مباشرة دون الحاجة إلى بناء التطبيق باستخدام LangChain.
إذًا يمكن أن يكون لديك:
```text
Custom Python Agent
↓
OpenAI
↓
PostgreSQL
↓
REST APIs
```
ولا يوجد LangChain إطلاقًا، ومع ذلك يمكن إضافة LangSmith لمراقبة التطبيق.
وهذه ميزة مهمة جدًا للفرق التي بنت Agent داخليًا أو تستخدم Framework مختلفًا.
---
# مع ماذا يمكن استخدام LangSmith؟
يمكن استخدامها مع مجموعة واسعة من البنى، مثل:
# # # تطبيقات LangChain
وهي من أقوى حالات الاستخدام بسبب التكامل الطبيعي.
# # # LangGraph
خصوصًا عند بناء Agents وworkflows متعددة الخطوات.
# # # OpenAI أو نماذج LLM أخرى
يمكن استخدام الـ SDK لتتبع استدعاءات النماذج، كما يوضح المستودع الرسمي أمثلة مباشرة مع OpenAI.
# # # Agents مخصصة
يمكن أن يكون الـ Agent مكتوبًا بالكامل من الصفر.
# # # RAG
مثل:
```text
User
↓
Retriever
↓
Vector DB
↓
LLM
↓
Answer
```
يمكن مراقبة هذه الرحلة وتحليلها.
# # # تطبيقات الإنتاج
مثل:
* Chatbots
* Customer Support
* Internal Copilots
* AI Search
* Document Q&A
* AI Agents
الفكرة الأساسية ليست نوع التطبيق، بل أنك تريد **فهم ومراقبة سلوك النظام الذكي**.
---
# متى نحتاج إلى LangSmith؟
ليست كل المشاريع تحتاج LangSmith من اليوم الأول.
إذا كان لديك مجرد:
```python
response = llm.invoke("Hello")
```
فقد تكون أدوات بسيطة مثل logs كافية في البداية.
لكن الحاجة إلى LangSmith تصبح أكبر عندما يبدأ النظام في التعقيد.
مثلًا عندما يصبح لديك:
```text
Agent
├── Multiple prompts
├── Multiple tools
├── RAG
├── Database
├── APIs
├── Memory
└── Multiple LLM calls
```
في هذه المرحلة يصبح فهم سلوك النظام أصعب بكثير.
وهنا تظهر قيمة LangSmith.
---
# مثال عملي
لنفترض أننا نبني Agent لخدمة العملاء.
المستخدم يسأل:
> أين طلبي؟
يقوم الـ Agent بالتالي:
```text
1. تحليل السؤال
2. تحديد رقم العميل
3. استدعاء API للطلبات
4. قراءة حالة الطلب
5. تحديد موقع الشحنة
6. صياغة الإجابة
```
إذا كانت الإجابة:
> "طلبك تم تسليمه"
بينما الطلب في الحقيقة ما زال في الطريق، فالمشكلة قد تكون في أي خطوة من الخطوات السابقة.
بدون tracing:
```text
❌ Agent أعطى إجابة خاطئة
```
مع tracing:
```text
✓ Question
✓ Agent reasoning/output
✓ Order API
✓ API response
✓ Data passed to LLM
✓ Final answer
```
وهنا يمكن للمطور معرفة مكان الخلل بسرعة أكبر.
---
# ما الفرق بين LangSmith وLangChain؟
قد يحدث خلط بين الاثنين.
**LangChain** هي مجموعة مكتبات وأدوات تساعد المطور على بناء تطبيقات LLM والـ Agents.
أما **LangSmith** فهي منصة تساعد على **تطوير واختبار ومراقبة وتقييم هذه التطبيقات**.
يمكن تبسيط الصورة هكذا:
```text
LangChain / LangGraph
↓
Build
LangSmith
↓
Observe + Evaluate + Debug
```
لكن LangSmith ليست محصورة في LangChain؛ يمكن استخدامها مع تطبيقات LLM أخرى أيضًا.
---
# هل LangSmith Open Source؟
هنا يجب التفريق بين **LangSmith نفسها** وبين **LangSmith SDK**.
مستودع **LangSmith SDK** الرسمي مفتوح المصدر، ومذكور في GitHub أنه مرخص تحت **MIT License**، ويوفر SDKs مثل Python وJavaScript/TypeScript للتفاعل مع منصة LangSmith. كما توجد مستودعات SDK رسمية أخرى ضمن منظومة LangChain.
لكن هذا **لا يعني أن منصة LangSmith SaaS نفسها مفتوحة المصدر بالكامل**.
بمعنى آخر:
```text
LangSmith SDK
→ Open Source ✅
LangSmith Platform / SaaS
→ خدمة تجارية وليست مجرد مشروع Open Source مجاني بالكامل
```
وهذا فرق مهم عند تقييمها للاستخدام المؤسسي.
---
# هل LangSmith مجانية؟
توجد إمكانية للبدء بحساب LangSmith واستخدام الخدمة وفق خطة التسعير المتاحة، لكن **LangSmith ليست منتجًا مفتوح المصدر بالكامل بحيث تقوم بتنزيل المنصة كاملة وتشغيلها مجانًا كما تفعل مع مشروع OSS تقليدي**.
لذلك عند السؤال:
> هل LangSmith مجانية؟
الإجابة الأدق هي:
**لديها خيارات استخدام مجانية/محدودة بحسب الخطة الحالية، لكن المنصة ككل خدمة تجارية وليست مشروعًا Open Source بالكامل.**
وبما أن الأسعار والحدود التجارية قابلة للتغيير، فمن الأفضل الرجوع إلى صفحة التسعير الرسمية عند اتخاذ قرار شراء أو بناء نظام إنتاجي. الموقع الرسمي يوضح أن LangSmith هي منصة لبناء ومراقبة الـ agents، مع تسجيل الدخول واختيار منطقة البيانات عند إنشاء الحساب.
---
# هل يجب أن أستخدم LangSmith في كل مشروع؟
لا.
يمكن التفكير بهذه الطريقة:
# # # مشروع بسيط
```text
User
↓
LLM
↓
Answer
```
قد لا تحتاجها.
# # # مشروع متوسط
```text
User
↓
RAG
↓
Vector DB
↓
LLM
```
قد تصبح مفيدة جدًا.
# # # Agent معقد
```text
User
↓
Agent
├── LLM
├── Search
├── Database
├── API
├── Tool
├── Memory
└── LLM
```
هنا تصبح observability والتقييم أكثر أهمية، وبالتالي تصبح LangSmith أداة ذات قيمة كبيرة.
---
# الخلاصة
LangSmith ليست مجرد أداة لعرض logs.
هي منصة مخصصة لمساعدة الفرق على **فهم وتقييم وتحسين تطبيقات الذكاء الاصطناعي**، وخصوصًا التطبيقات التي تحتوي على LLMs وAgents وRAG وTools متعددة.
أهم ما تقدمه يمكن تلخيصه في:
```text
LangSmith
│
┌───────────┼───────────┐
│ │ │
Trace Evaluate Debug
│ │ │
└───────────┼───────────┘
│
Improve the AI App
```
والميزة المهمة هي أنك **لا تحتاج بالضرورة إلى LangChain حتى تستخدم LangSmith**. يمكن حتى لـ Agent مخصص مكتوب من الصفر الاستفادة من LangSmith عبر الـ SDK.
لذلك يمكن اعتبار LangSmith طبقة **Observability وEvaluation للأنظمة الذكية**، شبيهة من حيث الفكرة بطبقات المراقبة الموجودة في الأنظمة البرمجية التقليدية، ولكنها مصممة لتناسب طبيعة تطبيقات الـ LLM والـ Agents.