> ## Documentation Index
> Fetch the complete documentation index at: https://lousho.com/llms.txt
> Use this file to discover all available pages before exploring further.

# مسارات العمل

مسار العمل هو سير عمل ثابت متعدد الخطوات ينفّذه وكيل واحد: تُكتب الخطوات
وترتيبها مسبقًا بدل تركها لتقدير النموذج.
صِف الرسم البياني (graph) بـ `FlowBuilder` ونفّذه بالدالة الساكنة
`FlowExecutor.execute(flow, context, onEvent?)`.

```ts theme={null}
import { FlowBuilder, FlowExecutor, type EditorStep } from '@lousho/build-ai-agent';

// FlowBuilder is a metadata builder: setCode/setName/setInputs/setFlow(...).build().
// EditorStep covers every node type FlowExecutor runs ('sequence', 'llmCall',
// 'oneOf', 'setVariable', ...).
const steps: EditorStep = {
  type: 'sequence',
  steps: [
    { type: 'llmCall', prompt: 'Classify this message as billing, technical or sales: {{message}}', outputVariable: 'category' },
    { type: 'llmCall', prompt: 'Write a one-line reply for a {{category}} request: {{message}}' },
  ],
};

const flow = new FlowBuilder()
  .setCode('triage')
  .setName('Triage')
  .addInput({ name: 'message', type: 'shortText', required: true })
  .setFlow(steps)
  .build();

// FlowExecutor is a static API too: execute(flow, context, onEvent?)
const result = await FlowExecutor.execute(flow, { agent, provider, variables: { message: input } });
```

## أنواع العُقد

`FlowExecutor` ينفّذ أنواع العُقد التالية:

| `type` | ما يفعله |
| - | - |
| `sequence` | ينفّذ خطواته `steps` واحدة تلو الأخرى. |
| `parallel` | ينفّذ خطواته في الوقت نفسه. |
| `llmCall` | يستدعي النموذج بموجّه `prompt` (فيه عناصر نائبة بصيغة `{{variable}}`)؛ ويخزّن `outputVariable` الرد. |
| `toolCall` | يستدعي أداة بالمعاملات `arguments` (مع تعويض العناصر النائبة). |
| `setVariable` | يضبط `variable` على القيمة `value`. |
| `oneOf` | يسلك أول فرع يتحقق شرطه. |
| `forEach` | ينفّذ خطوة لكل عنصر من `items`، واحدًا تلو الآخر. |
| `evaluator` | يقيّم تعبيرًا على متغيرات مسار العمل. |
| `return`، `end` | يُنتجان `value` الخاصة بالعقدة نتيجةً. |

شروط `oneOf` وتعبيرات `evaluator` تستخدم لغة تعبيرات صغيرة وآمنة
(لا `eval`، ولا شيفرة من المستضيف؛ والعناصر النائبة `{{name}}` تُربط
قيمًا، ولا تُلصق في التعبير أبدًا). قواعدها النحوية وقواعد فشلها
في [تعبيرات مسارات العمل](/ar/api-overview#تعبيرات-مسارات-العمل).

## مسارات عمل أم وكلاء فرعيون أم مهارات؟

استخدم مسار عمل حين يكون خط المعالجة معروفًا مسبقًا؛ واستخدم
[الوكلاء الفرعيين](/ar/sub-agents) حين ينبغي أن يقرر النموذج ما يفوّضه،
و[المهارات](/ar/skills) حين يحتاج الوكيل نفسه إلى تعليمات إضافية لبعض
المهام فحسب. راجع [وكلاء فرعيون أم مهارات أم مسارات عمل؟](/ar/sub-agents#وكلاء-فرعيون-أم-مهارات-أم-مسارات-عمل؟).

تُتتبَّع مسارات العمل مثل تشغيلات الوكيل (راجع
[التتبّع والمراقبة](/ar/observability#مسارات-العمل)).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.