انتقل إلى المحتوى
use-cases / agents-spawn-agents / hero
AGENT · EXEC · CONTAINERS

وكلاء ذكاء اصطناعي يُولِّدون وكلاء آخرين

وكيل أبحاث يستقبل مطالبة معقّدة. بدلاً من فعل كل شيء بنفسه، يُرسل POST إلى واجهة الحاويات ويستعيد ثلاثة روابط وكلاء فرعيّين. كل وكيل فرعي يستطيع توليد فروعه. لا أحد منهم يعرف بـ orchestrator. يستدعون بعضهم عبر HTTP فحسب.

اقرأ توثيق الوكيل
research-agentscrapesummarizefact-checkfetch-arxivfetch-newssummary-1summary-2verify-claim-1verify-claim-2verify-claim-3
use-cases / agents-spawn-agents / layers

ثلاث طبقات، بروتوكول واحد

كل عقدة في الشجرة حاوية Hoody بخدمة hoody-agent. الآباء والأبناء يعرفون بعضهم بالرابط فقط. لا مُخطِّط مركزي يراقب من فوق.

الأب

وكيل الأبحاث

يستقبل المطالبة. يقرّر أيّ مهام فرعيّة يتفرّع إليها. يُرسل POST إلى واجهة الحاويات لتوليد حاوية جديدة لكل وكيل فرعي، ثم يستدعي نقطة /api/v1/agent/tasks في كلٍّ منها بشريحة العمل التي يملكها.

الوكيل الفرعي

Scrape، Summarize، Fact-check

كلٌّ يعمل في حاويته بنظام ملفّات وطرفيّة وSQLite خاصّة. لا يستطيع أحدهم إفساد الآخرين. أيّ منهم يستطيع أن يقرّر أنّه يحتاج مساعدة ويُولّد فروعه بنفس الطريقة التي فعلها الأب. البروتوكول متناظر.

الحفيد

مُتحقِّقون لكل ادّعاء

المُدقِّق الواقعي يرى خمسة ادّعاءات، يُولّد خمس حاويات بالتوازي، يُطلق خمسة طلبات HTTP، ينتظر خمس استجابات. النمط نفسه، طبقة أعمق. الحاويات الخاملة لا تكلّف شيئاً، فالأشجار العميقة مجّانيّة اقتصادياً.

use-cases / agents-spawn-agents / mechanism

توليد وكيل فرعي هو استدعاء HTTP واحد

لا runtime وكيل لتثبيته، لا حافلة رسائل لإعدادها، لا حالة مشتركة لمزامنتها. الوكيل الأب يستخدم نفس واجهة الحاويات التي يستخدمها إنسان: POST لإنشاء، ثم استدعاء رابط الابن.

research-agent / spawn-children.ts
// وكيل الأب (يعمل في حاويته الخاصة بـ Hoody).
// انبثق ثلاثة وكلاء فرعيين، أعطِ كل واحد منهم شريحة من العمل،
// انتظر نتائجهم بالتوازي.

const HOODY = 'https://api.hoody.com';

async function spawnChild(name) [
  // 1. أنشئ حاوية طازجة جديدة مع خدمة الوكيل تعمل.
  const res = await fetch(HOODY + '/api/v1/projects/' + PROJECT + '/containers', [
    method: 'POST',
    headers: [ authorization: 'Bearer ' + TOKEN ],
    body: JSON.stringify([
      name,
      server_id: SERVER,
      container_image: 'debian-12',
      hoody_kit: true,
      ai: true,
    ]),
  ]);
  const child = (await res.json()).data;
  // 2. اضرب عنوان الوكيل الفرعي مثل أي خدمة HTTP أخرى.
  const agentUrl = 'https://' + PROJECT + '-' + child.id + '-agent-1.' + SERVER + '.containers.hoody.com';
  return [ id: child.id, agentUrl ];
]

const [scrape, summarize, factCheck] = await Promise.all([
  spawnChild('scrape'),
  spawnChild('summarize'),
  spawnChild('fact-check'),
]);

// 3. وجّه المهام. كل وكيل فرعي يعمل بشكل مستقل،
//    يستطيع توليد وكلاءه الفرعيين بنفس الطريقة.
const results = await Promise.all([
  fetch(scrape.agentUrl + '/api/v1/agent/tasks', [ method: 'POST', body: JSON.stringify([ description: scrapeBrief ]) ]),
  fetch(summarize.agentUrl + '/api/v1/agent/tasks', [ method: 'POST', body: JSON.stringify([ description: summarizeBrief ]) ]),
  fetch(factCheck.agentUrl + '/api/v1/agent/tasks', [ method: 'POST', body: JSON.stringify([ description: factCheckBrief ]) ]),
]);

كلتا نقطتَي النهاية واجهات Hoody موثّقة: POST /api/v1/projects/$PID/containers يُولّد حاوية جديدة بخدمة الوكيل مثبّتة مسبقاً؛ POST $CHILD_URL/api/v1/agent/tasks يُرسل مهمّة إليها. المُدقِّق الواقعي يستطيع تشغيل نفس الكود لتوليد مُتحقِّقي ادّعاءاته — التكرار العَودي ليس سوى HTTP.

use-cases / agents-spawn-agents / compare

لا حاجة لإطار تنسيق

كل إطار وكلاء طبقة رقيقة فوق استدعاءات دالة في العمليّة. كلّها تفترض أنّ الوكلاء يتشاركون الذاكرة وPython وruntime واحداً. Hoody يفترض العكس: الوكلاء حواسيب منفصلة، وHTTP هو البروتوكول الذي يتحدّثونه أصلاً.

ما تُثبِّته اليومما يستبدله
  • LangGraphDAG توصلها بـ Python
  • CrewAIكائنات «طاقم» داخل العمليّة
  • AutoGenحافلة رسائل + إعداد دور
  • وكلاء LangChainأغلفة أدوات + مُنفِّذون
  • خطوط Haystackمواصفات رسم لكل سير عمل
  • Orchestrator مُخصّصطابور، إعادة محاولة، لصاقة تصونها
أوّليّة واحدة

POST /api/v1/projects/$PID/containers

fetch(child.url + '/api/v1/agent/tasks')

استدعاءا HTTP لكل ابن. الأب لا يستورد إطاراً، لا يُسجِّل أداة، لا يتشارك حالة. كل وكيل فرعي نظير برابط — نفس الشكل كالأب، نفس الشكل كاستدعائك أيّ خدمة HTTP أخرى.

use-cases / agents-spawn-agents / punchline

كل وكيل نظير برابط. يستدعون بعضهم بنفس الطريقة التي تستدعي بها أيّ خدمة HTTP أيّ خدمة HTTP أخرى.

لا orchestrator. لا حافلة رسائل. لا حالة مشتركة لمزامنتها. الشيء الوحيد الذي يحدّ كم وكيلاً تُشغّل بالتوازي هو كم تريد أن تنفق — والحاويات الخاملة لا تُكلّف شيئاً.

لا إطارفقط HTTP
use-cases / agents-spawn-agents / replaces

ما يستبدله هذا

أُطر التنسيق وخدمات runtime الزائلة التي يلجأ إليها الناس حين لا يكفي وكيل واحد. كلٌّ منها يحلّ شريحة من المشكلة. الأوّليّة الأصليّة لـ HTTP تستبدل الشريحة والإطار الملفوف حولها.

  • LangChainأغلفة أدوات، مُنفِّذون، لصاقة لكل مزوّد
  • LangGraphDAG من الوكلاء تجمّعه في Python
  • CrewAIكائنات طاقم داخل العمليّة، runtime واحد
  • AutoGenحافلة رسائل + إعداد دور
  • صناديق رمل E2Bتنفيذ زائل بلا منزل دائم
  • مُشغِّلات Modal / Replicateبدء بارد لكل استدعاء، لا رابط طويل العمر
  • Orchestrators مُخصّصونطوابير، إعادات محاولة، رصد تصونها
use-cases / agents-spawn-agents / cta

توقّف عن وصل رسوم الوكلاء البيانيّة. أطلق واحداً. دعه يُطلق البقيّة.

اقرأ توثيق الوكيل
use-cases / agents-spawn-agents / related

اقرأ الآخرين