لقد أدى صعود نماذج اللغة الكبيرة وأدوات الذكاء الاصطناعي المرنة إلى جعل بناء وكلاء الذكاء الاصطناعي المخصصين أكثر سهولة من أي وقت مضى. سواء كنت ترغب في وكيل للمساعدة في أتمتة المهام، أو المساعدة في البحث، أو دعم تفاعلات المستخدم، أو تشغيل خدمات جديدة — فإن البدء من الصفر والتصميم لاحتياجاتك غالبًا ما يحقق النتائج الأكثر مرونة وقوة. في هذا الدليل، سنستعرض عملية من تسع خطوات لبناء وكيل ذكاء اصطناعي من الصفر — بدءًا من تحديد الغرض وصولاً إلى بناء واجهة مستخدم أو واجهة برمجة تطبيقات حوله.
هل ترغب في منصة متكاملة وشاملة لفريق المطورين لديك للعمل معًا بأقصى إنتاجية؟
يلبي Apidog جميع متطلباتك، ويحل محل Postman بسعر أكثر معقولية بكثير!
زر
الخطوة 1: حدد الغرض والنطاق لوكيلك
قبل كتابة سطر واحد من التعليمات البرمجية أو المطالبة، يجب عليك توضيح ما يفترض أن يفعله وكيلك. وهذا يعني:
- تحديد المهمة بالضبط التي سيتعامل معها الوكيل (مثل "تأهيل عملاء المبيعات المحتملين"، "صياغة رسائل البريد الإلكتروني للتواصل"، "تلخيص تذاكر الدعم"، "التوصية بكتب بناءً على تفضيلات المستخدم").
- تحديد المستخدمين المستهدفين — هل هم أعضاء فريق داخليون، عملاء نهائيون، أم وكلاء آخرون؟
- توضيح المخرجات — ما الذي يجب أن ينتجه الوكيل (مثل كائن JSON، تقرير منسق، مسودة رسالة، قرار، إلخ).
مثال: لنفترض أنك تريد وكيل "مساعد مبيعات". قد تحدد أنه سيقوم بـ: أخذ بيانات ملف تعريف العميل المحتمل كمدخل، والبحث في المعلومات العامة للعميل المحتمل، وتقييم مدى ملاءمة العميل المحتمل، وإخراج مسودة رسالة بريد إلكتروني للتواصل. مع تحديد هذا النطاق بوضوح، يصبح كل شيء آخر — من المطالبات إلى تدفق البيانات — أسهل في التخطيط.
الخطوة 2: إنشاء مخططات واضحة للمدخلات والمخرجات
بمجرد وضوح الغرض، صمم مخططات مدخلات ومخرجات منظمة بدلاً من ترك كل شيء بصيغة حرة. وهذا يمنح وكيلك "عقدًا" مستقرًا، على غرار كيفية تعريف واجهات برمجة التطبيقات لهياكل الطلبات والاستجابات.
- استخدم أدوات مثل Pydantic (في بايثون)، JSON Schema، أو TypeScript interfaces لتعريف المدخلات والمخرجات رسميًا (هذه النقطة تم التأكيد عليها أيضًا بواسطة RDD).
- حدد بدقة الحقول التي يتوقعها الوكيل (مع الأنواع، إلزامي مقابل اختياري، قيود القيمة، إلخ).
- بالنسبة للمخرجات، حدد ليس فقط البيانات (مثل "email_subject"، "email_body"، "lead_score") ولكن أيضًا البيانات الوصفية (مثل الطابع الزمني، إصدار النموذج، وقت المعالجة) إذا كان ذلك مفيدًا — وهو مفيد بشكل خاص للتسجيل، تصحيح الأخطاء، أو ربط الوكلاء.
from pydantic import BaseModel, Field
from typing import Optional, List
class LeadProfile(BaseModel):
name: str
email: Optional[str]
company: Optional[str]
description: Optional[str]
class OutreachEmail(BaseModel):
subject: str
body: str
lead_score: float = Field(..., ge=0, le=1)
# Example usage:
lead = LeadProfile(name="Alice Johnson", email="alice@example.com", company="Acme Corp")
print(lead.json())يضمن هذا النهج الذي يعتمد على المخططات أولاً الاتساق، ويسهل التحقق من صحة المخرجات، ويبسط التكامل مع الأنظمة أو واجهات المستخدم الأخرى.
الخطوة 3: اكتب تعليمات النظام
بعد وضع المخطط، اكتب تعريفات مفصلة للأدوار وتعليمات النظام لوكيلك. بشكل أساسي، أنت تخبر الذكاء الاصطناعي: "أنت X. هذه هي مسؤولياتك، قيودك، أسلوبك، نبرتك، وتنسيق مخرجاتك."
- حدد قواعد السلوك (مثل "دائمًا أرجع JSON مطابقًا للمخطط"، "إذا كانت البيانات مفقودة، أجب بكائن خطأ"، "كن مهذبًا، وموجزًا، واحترافيًا").
- استخدم قوالب مطالبة / تعليمات متسقة لتقليل التباين في الاستجابات. يستفيد العديد من الوكلاء من بنية مستقرة "مطالبة نظام + مطالبة مستخدم + فرض مخطط".
- جرب أنماط تعليمات مختلفة — بعض الوكلاء يستجيبون بشكل أفضل للتعليمات الصريحة للغاية، والبعض الآخر للتعليمات الأكثر مرونة أو حوارية.
يمكنك استخدام أي نموذج لغوي كبير (LLM) يدعم هذا النمط — مثل GPT-4 أو Claude أو نماذج أخرى. يقوم العديد من المطورين بتضمين تعليمات النظام مباشرة في تهيئة وكيلهم.
الخطوة 4: تمكين الاستدلال والإجراءات الخارجية
يصبح الوكيل أقوى بكثير عندما يتمكن من التفكير المنطقي والتفاعل مع الأنظمة الخارجية — قواعد البيانات، واجهات برمجة التطبيقات (APIs)، الأدوات، البحث عبر الويب، تنفيذ التعليمات البرمجية، إلخ.
- استخدم أطر عمل مثل ReAct (الاستدلال + العمل) أو أنماط مشابهة: يفكر الوكيل، ثم يختار إجراءً (مثل استدعاء واجهة برمجة تطبيقات)، ثم يلاحظ النتيجة، ثم يفكر مرة أخرى، وهكذا.
- زوّد الوكيل بوظائف / واجهات أدوات يمكنه استدعاؤها، مع مدخلات ومخرجات محددة بوضوح (مخطط مطابق)، مثل "search_web(query)" ← يعيد النتائج؛ "send_email(payload)"؛ "query_database(params)"؛ إلخ.
- للمهام مثل استرجاع البيانات، الحسابات، عمليات قاعدة البيانات، استخراج البيانات من الويب، معالجة المستندات — ربط هذه الإجراءات الخارجية يجعل الوكيل قادرًا على أكثر من مجرد توليد النص.
تحول هذه الخطوة وكيلك من "مولّد نصوص ذكي" إلى "وكيل" حقيقي يمكنه التصرف، وليس مجرد "الرد".
import openai, os, json
openai.api_key = os.getenv("OPENAI_API_KEY")
SYSTEM_PROMPT = """
You are a helpful assistant. Use the available tools when needed.
Return output in JSON with keys: {action, action_input} or {final_answer}.
"""
TOOLS = {
"search": lambda query: f"[search results for: {query}]",
# add more tools as needed
}
def call_llm(messages):
resp = openai.chat.completions.create(
model="gpt-4o",
messages=messages
)
return resp.choices[0].message["content"]
def agent_loop(user_input):
messages = [{"role":"system","content":SYSTEM_PROMPT},
{"role":"user","content":user_input}]
while True:
reply = call_llm(messages)
data = json.loads(reply)
if "action" in data:
result = TOOLS[data["action"]](data["action_input"])
messages.append({"role":"assistant","content":reply})
messages.append({"role":"tool","content":result})
elif "final_answer" in data:
return data["final_answer"]
if __name__ == "__main__":
answer = agent_loop("Find the population of France and compute 10% of it.")
print(answer)
الخطوة 5: تنسيق وكلاء متعددين (إذا لزم الأمر)
لعمليات سير العمل المعقدة — على سبيل المثال، مسار مبيعات متعدد الخطوات، تحليل بيانات + خط أنابيب للتقارير، أو عمليات سير عمل متعددة الأقسام — قد ترغب في وكلاء متعددين يعملون معًا، لكل منهم دور محدد.
- على سبيل المثال: يقوم وكيل المخطط بتحديد الخطوات، ويقوم وكيل العامل بتنفيذ المهام (مثل جلب البيانات، الحسابات)، ويقوم وكيل المدقق بمراجعة النتائج للتأكد من الجودة.
- قم ببناء منطق التنسيق (المنسق) الذي يخصص المهام للوكلاء، وينظم الإجراءات، ويتعامل مع التبعيات، ويجمع النتائج.
- استخدم أطر عمل أو مكتبات تنسيق، أو اكتب منطقًا مخصصًا. غالبًا ما يكون من المفيد التعامل مع هذا التنسيق كطبقة "المتحكم" في التطبيق — تمرير المهام، النتائج، الحالة، وتنسيق الوكلاء.
هذا يجعل نظامك معياريًا، وسهل الصيانة، وقادرًا على التعامل مع المهام المعقدة أو واسعة النطاق.
الخطوة 6: إضافة الذاكرة والسياق
يحتاج العديد من الوكلاء المفيدين — مساعدو الدردشة، روبوتات الدعم، وكلاء البحث، المساعدون الشخصيون — إلى تذكر التفاعلات السابقة أو المعرفة المستمرة بمرور الوقت. بدون ذاكرة، يكون كل تفاعل عديم الحالة وبلا سياق.
- نفّذ ذاكرة قصيرة المدى (سجل المحادثات، سياق الجلسة)، للمهام التي تتضمن تفاعلًا متعدد الأدوار.
- نفّذ ذاكرة طويلة المدى/قاعدة معرفة — تخزين الحقائق، تفضيلات المستخدم، القرارات السابقة، البيانات الخارجية — غالبًا باستخدام قواعد بيانات متجهية أو حلول تخزين أخرى.
- لاسترجاع الذاكرة وتأسيسها، فكر في استخدام التوليد المعزز بالاسترجاع (RAG): عندما يحتاج الوكيل إلى سياق، يقوم بجلب البيانات أو المستندات السابقة ذات الصلة، ويدمجها مع المطالبة الحالية، ثم يولد الاستجابة.
بإضافة الذاكرة، يمكن لوكيلك توفير الاستمرارية، والتخصيص، والسلوك المفيد بشكل متزايد.
class ConversationMemory:
def __init__(self):
self.history = []
def add(self, message: str):
self.history.append(message)
# Optional: trim if too long
def get_context(self) -> str:
return "\n".join(self.history)
mem = ConversationMemory()
def run_conversation(input_text):
mem.add(f"User: {input_text}")
# pass context to agent
# agent generates response...
response = "..." # from LLM
mem.add(f"Agent: {response}")
return response
# Example usage
run_conversation("Hello, who are you?")
run_conversation("Remember my name is Alice.")
الخطوة 7: دمج قدرات الوسائط المتعددة
اعتمادًا على الغرض من الوكيل، قد ترغب أو لا ترغب في إضافة دعم للصور أو الصوت أو الفيديو أو معالجة الملفات/المستندات (اعتمادًا على وكيل الذكاء الاصطناعي الذي تحاول إنشاءه، قد تكون هذه الخطوة اختيارية للبعض، ولكنها ضرورية جدًا لمعظمهم).
- للصوت أو السمعيات: دمج أدوات تحويل الكلام إلى نص / النص إلى كلام (مثل Whisper، أو أنظمة ASR/TTS الأخرى).
- للصور / المرئيات: تمكين توليد الصور أو النماذج القادرة على الرؤية (إذا لزم الأمر)، حتى يتمكن الوكيل من تحليل الصور أو إنتاج مرئيات.
- لمعالجة المستندات: تحليل ملفات PDF أو مستندات Word أو تنسيقات البيانات الأخرى، والسماح للوكيل بقراءة أو إنتاج مخرجات منظمة.
يدعم دعم الوسائط المتعددة توسيع نطاق المهام التي يمكن لوكيلك التعامل معها — من تلخيص المستندات إلى التحليل المستند إلى الصور أو مهام واجهة المستخدم التفاعلية.
الخطوة 8: تنسيق وتسليم المخرجات
يجب أن تكون مخرجات وكيلك جيدة التنظيم، ونظيفة، وقابلة للاستخدام — لكل من البشر وللبرامج أو الأنظمة الأخرى.
- استخدم تنسيقات المخرجات المنظمة (JSON, XML, مخطط مُحدد النوع) عندما تُستهلك المخرجات برمجيًا.
- إذا كان الوكيل ينتج تقارير أو سجلات أو ملخصات قابلة للقراءة البشرية — قم بتنسيقها بوضوح (Markdown, HTML, PDF, إلخ).
- لتصحيح الأخطاء أو الاستبطان — قم بتضمين البيانات الوصفية (الطوابع الزمنية، سجلات استدعاء الأدوات، استخدام التوكينات) كجزء من المخرجات.
يضمن ذلك أن تكون المخرجات موثوقة، قابلة للتحليل، وأسهل في الدمج في واجهات المستخدم، أو خطوط الأنابيب، أو الأنظمة اللاحقة.
الخطوة 9: بناء واجهة مستخدم أو طبقة API
أخيرًا، قم بتغليف وكيل الذكاء الاصطناعي الخاص بك في واجهة مواجهة للمستخدم أو واجهة برمجة تطبيقات (API) حتى يتمكن الآخرون من استخدامه — سواء كانوا مستخدمين داخليين أو عملاء أو أنظمة أخرى.
تشمل الخيارات:
- واجهة برمجة تطبيقات REST (اختبر جميع نقاط نهاية واجهة برمجة التطبيقات الخاصة بك باستخدام Apidog) أو نقطة نهاية HTTP (على سبيل المثال باستخدام أطر عمل مثل FastAPI) حتى تتمكن التطبيقات الخارجية من استدعاء الوكيل برمجيًا. (المزيد من الأمثلة البرمجية على Real Python)

- واجهة مستخدم دردشة بسيطة (ويب أو سطح مكتب)، أو واجهة سطر أوامر للمستخدمين للتفاعل معها.
- التضمين في التطبيقات الحالية، روبوتات Slack، لوحات المعلومات، أو الواجهات الأمامية المخصصة.
تحوّل هذه الخطوة الأخيرة وكيلك من "مشروع" إلى أداة قابلة للاستخدام — بفعالية، منتج يقدم قيمة.
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class AgentRequest(BaseModel):
prompt: str
class AgentResponse(BaseModel):
result: str
@app.post("/api/agent", response_model=AgentResponse)
def call_agent(req: AgentRequest):
response = agent_loop(req.prompt) # assume agent_loop is defined
return {"result": response}
الأسئلة الشائعة
س1. لماذا نحدد مخططات إدخال/إخراج منظمة بدلاً من استخدام نص حر الشكل؟
توفر المخططات المنظمة (عبر Pydantic، JSON Schema، إلخ) ضمانات — لضمان أن الوكيل يتلقى الحقول المتوقعة ويعيد مخرجات قابلة للتنبؤ وقابلة للقراءة آليًا. وهذا يقلل من فرصة البيانات المشوهة، ويبسط التحقق من الصحة، ويجعل التكامل مع الأنظمة الأخرى أكثر قوة بكثير.
س2. ما هو ReAct ولماذا هو مفيد؟
ReAct يرمز إلى "الاستدلال + العمل" (Reasoning + Action). إنه نمط تصميم حيث يتناوب الوكيل بين التفكير (الاستدلال) والقيام (استدعاء أداة أو تنفيذ إجراء)، ثم يلاحظ النتيجة ويواصل الاستدلال حسب الحاجة. وهذا يسمح للوكلاء بأداء منطق متعدد الخطوات، واستدعاء أدوات أو واجهات برمجة تطبيقات خارجية، وبناء الخطوات اللاحقة على النتائج — مما يجعلهم أقوى بكثير من روبوتات المطالبة والاستجابة البسيطة ذات الطلقة الواحدة.
س3. متى يجب أن أستخدم وكلاء متعددين بدلاً من وكيل واحد؟
استخدم وكلاء متعددين عندما تكون المهمة معقدة وتتضمن مهامًا فرعية مميزة تستفيد من التخصص — على سبيل المثال التخطيط، التنفيذ، التحقق من الصحة، أو مجالات مختلفة مثل جلب البيانات، الاستدلال، وإعداد التقارير. تعمل إعدادات الوكلاء المتعددين على تحسين قابلية التجزئة والوضوح والمتانة. (دليل عملي على Empathy First Media)
س4. كيف تحسن الذاكرة من أداء الوكيل — وما هو أفضل نوع للذاكرة؟
الذاكرة تتيح الاستمرارية — مما يسمح للوكلاء بتذكر التفاعلات السابقة، تفضيلات المستخدم، القرارات الماضية، أو المعرفة المتراكمة. تساعد الذاكرة قصيرة المدى (سياق الجلسة) في المحادثات متعددة الأدوار؛ وتدعم الذاكرة طويلة المدى (قواعد البيانات المتجهية، مخازن المستندات) استرجاع المعرفة، والتخصيص، والاستدلال عبر الزمن. للعديد من التطبيقات، يعتبر الجمع بينهما مثاليًا.
س5. كيف أقوم بنشر وكيل ذكاء اصطناعي بأمان — وأتجنب الحلقات الجامحة أو السلوك غير الآمن؟
قبل النشر، أضف إجراءات الأمان والمراقبة: حدد عدد حلقات الاستدلال أو استدعاء الأدوات لكل طلب؛ نفّذ التسجيل، معالجة الأخطاء، ونقاط فحص يتدخل فيها البشر للإجراءات الحساسة؛ راقب الاستخدام، التكلفة، والأداء؛ واختبر الحالات القصوى بدقة.
الخلاصة
يعد بناء وكيل ذكاء اصطناعي من الصفر مسعى مجزيًا — ويزداد سهولة الوصول إليه. من خلال اتباع عملية منظمة — تحديد الغرض، تصميم مخططات واضحة، كتابة تعليمات قوية، تمكين الاستدلال واستخدام الأدوات، تنسيق وكلاء متعددين اختياريًا، إضافة الذاكرة والسياق، تنسيق المخرجات بشكل صحيح، وتوفير واجهة قابلة للاستخدام — يمكنك إنشاء وكلاء أقوياء وموثوقين مصممين خصيصًا لتلبية احتياجاتك الخاصة.
بغض النظر عما تقوم ببنائه (مساعد مبيعات، أداة بحث، روبوت دردشة، أو محرك أتمتة)، يوفر لك هذا الدليل خطوة بخطوة المخطط الأساسي. بفضل التصميم المدروس والهندسة المعمارية الجيدة، يمكن لوكيل الذكاء الاصطناعي الخاص بك أن يتطور من نموذج أولي إلى أداة مفيدة، قابلة للصيانة، وقابلة للتطوير.
إذا كنت مستعدًا لبناء وكيلك الأول — اختر غرضًا بسيطًا، واكتب مخططه، وجربه. بمجرد أن تعمل الأساسيات، يمكنك إضافة الذاكرة والأدوات والواجهة، ومشاهدة إبداعك ينمو ليصبح شيئًا قويًا حقًا.
هل ترغب في منصة متكاملة وشاملة لفريق المطورين لديك للعمل معًا بأقصى إنتاجية؟
يلبي Apidog جميع متطلباتك، ويحل محل Postman بسعر أكثر معقولية بكثير!
زر
