البرنامج التعليمي للوكلاء العميقين: LangGraph للذكاء الاصطناعي الأكثر ذكاءً

تخيل أن الذكاء الاصطناعي لا يجيب على أسئلتك فحسب، بل يفكر مسبقًا، ويقسم المهام، وينشئ مهامه الخاصة، بل ويفرز وكلاء فرعيين لإنجاز العمل. هذا هو وعد الوكلاء العميقين. لقد أخذ وكلاء الذكاء الاصطناعي بالفعل قدرات حاملي شهادة الماجستير في القانون إلى مستوى أعلى، واليوم سنلقي نظرة على Deep Agents لنرى كيف يمكنهم دفع هذه الدرجة إلى أبعد من ذلك. تم بناء Deep Agents على مكتبة LangGraph، وهي مكتبة مصممة خصيصًا لإنشاء وكلاء قادرين على التعامل مع المهام المعقدة. دعونا نلقي نظرة أعمق على Deep Agents، ونفهم قدراتهم الأساسية، ثم نستخدم المكتبة لبناء وكلاء الذكاء الاصطناعي الخاصين بنا.
وكلاء العميق
يمنحك LangGraph وقت تشغيل قائم على الرسم البياني لسير العمل ذي الحالة، ولكنك لا تزال بحاجة إلى إنشاء التخطيط الخاص بك، أو إدارة السياق، أو منطق تحليل المهام من البداية. تجمع DeepAgents (المبنية على LangGraph) أدوات التخطيط والذاكرة المستندة إلى نظام الملفات الظاهري وتنسيق الوكيل الفرعي خارج الصندوق.
يمكنك استخدام DeepAgents عبر البرنامج المستقل deepagents مكتبة. يتضمن إمكانات التخطيط، ويمكنه إنتاج وكلاء فرعيين، ويستخدم نظام ملفات لإدارة السياق. ويمكن أيضًا إقرانه مع LangSmith للنشر والمراقبة. تستخدم العوامل المبنية هنا نموذج “كلود-سونيت-4-5-20250929” بشكل افتراضي، ولكن يمكن تخصيص ذلك. قبل أن نبدأ في إنشاء الوكلاء، دعونا نفهم المكونات الأساسية.
المكونات الأساسية
- مطالبات النظام التفصيلية – يستخدم وكيل Deep موجه النظام مع تعليمات وأمثلة مفصلة.
- أدوات التخطيط – يمتلك الوكلاء العميقون أداة مدمجة للتخطيط، ويتم استخدام أداة إدارة قائمة المهام من قبل الوكلاء لنفس الغرض. وهذا يساعدهم على الاستمرار في التركيز حتى أثناء أداء مهمة معقدة.
- الوكلاء الفرعيون – يولد الوكيل الفرعي للمهام المفوضة ويتم تنفيذها في سياق معزول.
- نظام الملفات – نظام ملفات افتراضي لإدارة السياق وإدارة الذاكرة، يستخدم وكلاء الذكاء الاصطناعي هنا الملفات كأداة لإلغاء تحميل السياق إلى الذاكرة عندما تكون نافذة السياق ممتلئة.
بناء وكيل عميق
لنقم الآن ببناء وكيل بحث باستخدام مكتبة “deepagents” التي ستستخدم tavily لبحث الويب وستحتوي على جميع مكونات الوكيل العميق.
ملحوظة: سنقوم بالبرنامج التعليمي في Google Colab.
المتطلبات المسبقة
ستحتاج إلى مفتاح OpenAI لهذا الوكيل الذي سنقوم بإنشائه، ويمكنك اختيار استخدام موفر نموذج مختلف مثل Gemini/Claude أيضًا. احصل على مفتاح OpenAI الخاص بك من النظام الأساسي: https://platform.openai.com/api-keys
احصل أيضًا على مفتاح Tavily API لبحث الويب من هنا: https://app.tavily.com/home
افتح دفتر ملاحظات جديد في Google Colab وأضف المفاتيح السرية:

احفظ المفاتيح كـ OPENAI_API_KEY وTAVILY_API_KEY للعرض التجريبي ولا تنس تشغيل الوصول إلى دفتر الملاحظات.
اقرأ أيضًا: البحث عن ملف Gemini API: الطريقة السهلة لبناء RAG
متطلبات
!pip install deepagents tavily-python langchain-openai
سنقوم بتثبيت هذه المكتبات اللازمة لتشغيل الكود.
الواردات وإعداد API
import os
from deepagents import create_deep_agent
from tavily import TavilyClient
from langchain.chat_models import init_chat_model
from google.colab import userdata
# Set API keys
TAVILY_API_KEY=userdata.get("TAVILY_API_KEY")
os.environ("OPENAI_API_KEY")=userdata.get("OPENAI_API_KEY")
نقوم بتخزين واجهة برمجة تطبيقات Tavily في متغير وواجهة برمجة تطبيقات OpenAI في البيئة.
تحديد الأدوات والوكيل الفرعي والوكيل
# Initialize Tavily client
tavily_client = TavilyClient(api_key=TAVILY_API_KEY)
# Define web search tool
def internet_search(query: str, max_results: int = 5) -> str:
"""Run a web search to find current information"""
results = tavily_client.search(query, max_results=max_results)
return results
# Define a specialized research sub-agent
research_subagent = {
"name": "data-analyzer",
"description": "Specialized agent for analyzing data and creating detailed reports",
"system_prompt": """You are an expert data analyst and report writer.
Analyze information thoroughly and create well-structured, detailed reports.""",
"tools": (internet_search),
"model": "openai:gpt-4o",
}
# Initialize GPT-4o-mini model
model = init_chat_model("openai:gpt-4o-mini")
# Create the deep agent
# The agent automatically has access to: write_todos, read_todos, ls, read_file,
# write_file, edit_file, glob, grep, and task (for subagents)
agent = create_deep_agent(
model=model,
tools=(internet_search), # Passing the tool
system_prompt="""You are a thorough research assistant. For this task:
1. Use write_todos to create a task list breaking down the research
2. Use internet_search to gather current information
3. Use write_file to save your findings to /research_findings.md
4. You can delegate detailed analysis to the data-analyzer subagent using the task tool
5. Create a final comprehensive report and save it to /final_report.md
6. Use read_todos to check your progress
Be systematic and thorough in your research.""",
subagents=(research_subagent),
)
لقد حددنا أداة للبحث على الويب وقمنا بتمريرها إلى وكيلنا. نحن نستخدم “gpt-4o-mini” الخاص بـ OpenAI في هذا العرض التوضيحي. يمكنك تغيير هذا إلى أي نموذج.
لاحظ أيضًا أننا لم ننشئ أي ملفات أو نحدد أي شيء لنظام الملفات المطلوب لتفريغ السياق وقائمة المهام. تم بالفعل إنشاء هذه العناصر مسبقًا في ‘create_deep_agent()’ ويمكنها الوصول إليها.
تشغيل الاستدلال
# Research query
research_topic = "What are the latest developments in AI agents and LangGraph in 2025?"
print(f"Starting research on: {research_topic}\n")
print("=" * 70)
# Execute the agent
result = agent.invoke({
"messages": ({"role": "user", "content": research_topic})
})
print("\n" + "=" * 70)
print("Research completed.\n")

ملحوظة: قد يستغرق تنفيذ الوكيل بعض الوقت.
عرض الإخراج
# Agent execution trace
print("AGENT EXECUTION TRACE:")
print("-" * 70)
for i, msg in enumerate(result("messages")):
if hasattr(msg, 'type'):
print(f"\n({i}) Type: {msg.type}")
if msg.type == "human":
print(f"Human: {msg.content}")
elif msg.type == "ai":
if hasattr(msg, 'tool_calls') and msg.tool_calls:
print(f"AI tool calls: {(tc('name') for tc in msg.tool_calls)}")
if msg.content:
print(f"AI: {msg.content(:200)}...")
elif msg.type == "tool":
print(f"Tool '{msg.name}' result: {str(msg.content)(:200)}...")

# Final AI response
print("\n" + "=" * 70)
final_message = result("messages")(-1)
print("FINAL RESPONSE:")
print("-" * 70)
print(final_message.content)

# Files created
print("\n" + "=" * 70)
print("FILES CREATED:")
print("-" * 70)
if "files" in result and result("files"):
for filepath in sorted(result("files").keys()):
content = result("files")(filepath)
print(f"\n{'=' * 70}")
print(f"{filepath}")
print(f"{'=' * 70}")
print(content)
else:
print("No files found.")
print("\n" + "=" * 70)
print("Analysis complete.")

كما نرى، قام الوكيل بعمل جيد، حيث حافظ على نظام ملفات افتراضي، وقدم استجابة بعد تكرارات متعددة واعتقد أنه يجب أن يكون “وكيلًا عميقًا”. ولكن هناك مجال للتحسين في نظامنا، دعونا ننظر إليها في النظام التالي.
التحسينات المحتملة في وكيلنا
لقد قمنا ببناء عميل عميق بسيط، ولكن يمكنك تحدي نفسك وبناء شيء أفضل بكثير. فيما يلي بعض الأشياء التي يمكنك القيام بها لتحسين هذا الوكيل:
- استخدم الذاكرة طويلة المدى – يمكن للوكيل العميق الحفاظ على تفضيلات المستخدم وملاحظاته في الملفات (/الذكريات/). سيساعد هذا الوكيل على تقديم إجابات أفضل وبناء قاعدة معرفية من المحادثات.
- التحكم في نظام الملفات – بشكل افتراضي، يتم تخزين الملفات في حالة افتراضية، ويمكنك ذلك على واجهة خلفية مختلفة أو قرص محلي باستخدام “FilesystemBackend” من Deepagents.backends
- من خلال تحسين مطالبات النظام – يمكنك اختبار عدة مطالبات لمعرفة ما هو الأفضل بالنسبة لك.
خاتمة
لقد نجحنا في بناء عملاءنا العميقين ويمكننا الآن أن نرى كيف يمكن لوكلاء الذكاء الاصطناعي الارتقاء بقدرات LLM إلى مستوى أعلى، باستخدام LangGraph للتعامل مع المهام. ومن خلال التخطيط المدمج والوكلاء الفرعيين ونظام الملفات الافتراضي، يمكنهم إدارة مهام المهام والسياق وسير عمل البحث بسلاسة. الوكلاء العميقون رائعون ولكن تذكر أيضًا أنه إذا كانت المهمة أبسط ويمكن تحقيقها بواسطة وكيل بسيط أو LLM، فلا يُنصح باستخدامها.
الأسئلة المتداولة
أ. نعم. بدلاً من Tavily، يمكنك دمج SerpAPI أو Firecrawl أو Bing Search أو أي واجهة برمجة تطبيقات أخرى لبحث الويب. ما عليك سوى استبدال وظيفة البحث وتعريف الأداة لمطابقة تنسيق استجابة الموفر الجديد وطريقة المصادقة.
أ. بالتأكيد. إن الوكلاء العميقون لا يعرفون أي نموذج، لذا يمكنك التبديل إلى نماذج Claude أو Gemini أو نماذج OpenAI الأخرى عن طريق تعديل معلمة النموذج. تضمن هذه المرونة إمكانية تحسين الأداء أو التكلفة أو زمن الوصول وفقًا لحالة الاستخدام الخاصة بك.
ج: لا، توفر Deep Agents تلقائيًا نظام ملفات افتراضيًا لإدارة الذاكرة والملفات والسياقات الطويلة. وهذا يلغي الحاجة إلى الإعداد اليدوي، على الرغم من أنه يمكنك تكوين واجهات تخزين خلفية مخصصة إذا لزم الأمر.
أ. نعم. يمكنك إنشاء عدة وكلاء فرعيين، لكل منهم أدواته ومطالبات النظام وإمكانياته الخاصة. يتيح ذلك للوكيل الرئيسي تفويض العمل بشكل أكثر فعالية والتعامل مع سير العمل المعقد من خلال التفكير المعياري الموزع.
قم بتسجيل الدخول لمواصلة القراءة والاستمتاع بالمحتوى الذي ينظمه الخبراء.
Source link



