شخصيات الوكلاء
أنشئ ملفات شخصية قابلة لإعادة الاستخدام تحدد دور الوكيل الفرعي وتركيزه ووصوله إلى الأدوات، وتحدد ما الذي يبحث عنه وكيف ينسق مخرجاته وما لا يُسمح له بفعله.
شخصيات الوكلاء هي ملفات Markdown تضبط دور الوكيل الفرعي الذي يتم إنشاؤه وسلوكه. بينما يحدد الوضع المخصص طريقة عمل المهمة الرئيسية، تحدد الشخصية طريقة عمل الوكيل الفرعي المساعد، وهويته وقائمة التحقق وتنسيق المخرجات والقيود.
آلية عمل الشخصيات
عندما ينشئ Bob وكيلًا فرعيًا، يبحث في .bob/agents/ عن ملف شخصية يطابق وصفه المهمة. وإذا عثر على ملف، تُحمّل الشخصية بوصفها وضع الوكيل الفرعي: يُضاف نص الدور إلى موجّه النظام الخاص بالوكيل الفرعي فوق تعليماته الأساسية.
لا تُحمّل الشخصيات تلقائيًا في المحادثة الرئيسية. ولا تسري إلا عند إنشاء وكيل فرعي، سواء أنشأه Bob بمبادرة منه أو طلبت من Bob تفويض مهمة محددة.
تنسيق ملف الشخصية
تستخدم ملفات الشخصية YAML front matter يتبعه نص دور حر:
---
name: code-reviewer
description: Reviews code for correctness, readability, and maintainability. Read-only.
tools:
- read
---
You are a senior software engineer conducting a structured code review.
Review each file against this checklist:
1. Correctness: logic errors, missing null checks, unhandled edge cases
2. Readability: long methods, deep nesting, unclear naming
3. Maintainability: tight coupling, missing abstraction, duplicated logic
Report findings in a table with columns: Severity, File, Lines, Description.
Use severity levels: HIGH, MEDIUM, LOW.
Do not suggest fixes. Describe issues only.حقول Front matter
| الحقل | مطلوب | النوع | الغرض |
|---|---|---|---|
name | نعم | string | معرّف يُستخدم في السجلات. ينبغي أن يطابق اسم الملف من دون .md. |
description | نعم | string | يستخدم Bob هذا الحقل لمطابقة الشخصية مع مهمة. اكتبه بوصفه بيان مهمة من سطر واحد. |
tools | لا | list | يقيّد مجموعات الأدوات التي يمكن للوكيل الفرعي استخدامها. احذفه لوراثة الإعدادات الافتراضية. |
مجموعات الأدوات
يقبل الحقل tools المجموعات نفسها التي تقبلها الأوضاع المخصصة: read وedit وcommand وbrowser وmcp.
للشخصيات المخصصة للقراءة فقط، مثل المراجعين والمخططين والملخّصين، اضبط tools: [read] لمنع التعديلات غير المقصودة.
الحقل tools سقف وليس منحًا للصلاحيات. فضبط tools: [edit] لشخصية لا يؤثر إذا لم تكن أذونات التحرير مفعّلة في المهمة الحالية. يمكن للشخصية تقييد الوصول إلى الأدوات فقط، ولا يمكنها توسيعه إلى ما يتجاوز ما تسمح به المهمة.
موضع الملفات
| الموقع | النطاق | حالة الاستخدام |
|---|---|---|
<project>/.bob/agents/ | هذا المشروع فقط | شخصيات مشتركة مع الفريق ومُلتزم بها في repository |
~/.bob/agents/ | كل المشاريع على هذا الجهاز | شخصيات شخصية تنطبق على كل repositories |
إذا احتوى الموقعان على شخصية بالاسم نفسه، تكون الأولوية للملف الموجود على مستوى المشروع.
يمكن أن يحتوي دليل .bob/ على شخصيات إلى جانب إعداداتك الأخرى:
إنشاء أول شخصية
أنشئ دليل الوكلاء في جذر مشروعك:
mkdir -p .bob/agentsأنشئ ملف شخصية. ينبغي أن يطابق اسم الملف، من دون .md، الحقل name في YAML front matter.
touch .bob/agents/code-reviewer.mdأضف YAML front matter ونص دور. راجع تنسيق ملف الشخصية أعلاه للاطلاع على البنية.
نفّذ commit للملف في repository حتى يشارك فريقك الشخصيات نفسها.
أمثلة على الشخصيات
code-reviewer.md
يراجع ملفات المصدر بحثًا عن الصحة وسهولة القراءة وقابلية الصيانة. ويُنتج جدول نتائج مرتبًا بحسب الشدة ولا يقترح إصلاحات.
---
name: code-reviewer
description: Reviews code for correctness, readability, and maintainability. Read-only.
tools:
- read
---
You are a senior software engineer conducting a structured code review.
Review each file against this checklist:
1. Correctness: logic errors, missing null checks, unhandled edge cases
2. Readability: long methods, deep nesting, unclear naming
3. Maintainability: tight coupling, missing abstraction, duplicated logic
Report findings in a table with columns: Severity, File, Lines, Description.
Use severity levels: HIGH, MEDIUM, LOW.
Do not suggest fixes. Describe issues only.
If a file has no findings, list it explicitly as clean.pr-summarizer.md
يقرأ مجموعة من الملفات المعدلة وينتج وصف pull request منظمًا يغطي ما تغير والهدف المرجح وأي مناطق ينبغي أن ينتبه إليها المراجع.
---
name: pr-summarizer
description: Reads changed files and produces a structured pull request description. Read-only.
tools:
- read
---
You are a developer writing a pull request description for a teammate.
Read the provided files and produce a PR description with these sections:
**Summary**: One or two sentences describing what this change does.
**Why**: The likely motivation, inferred from the code changes.
**What changed**: A bullet list of the key changes, grouped by area if there are several.
**Reviewer notes**: Anything the reviewer should pay particular attention to, including edge cases, intentional trade-offs, or areas of uncertainty.
Write in plain, direct language. Do not pad the description.
Do not list every file changed. Focus on what matters to the reviewer.استخدام شخصية
أشر إلى شخصية بالاسم عند طلب تفويض مهمة إلى Bob:
Use the code-reviewer persona to review the files in src/auth/.Spawn a subagent using the pr-summarizer persona.
Read the changed files in this branch and produce a PR description.يحمّل Bob الشخصية المطابقة من .bob/agents/ ويطبقها على الوكيل الفرعي الذي تم إنشاؤه.
الشخصيات المضمنة
لمهمة لمرة واحدة، يمكنك وصف الدور مباشرة في موجّهك من دون إنشاء ملف:
Spawn an Explore subagent with this role:
You are a naming auditor. Read all files under src/ and flag variable and
function names that use abbreviations or are misleading. Return a table:
File, Line, Current Name, Issue.تعمل الأدوار المضمنة بالمستوى نفسه لشخصيات الملفات في مهمة واحدة. وتستحق ملفات الشخصية الإنشاء عندما تريد إعادة استخدام الدور نفسه أو مشاركته مع فريقك.
تمرير سجل المحادثة
يتلقى الوكيل الفرعي، افتراضيًا، وصف المهمة فقط. ولا يرى أدوار محادثتك السابقة. وهذا يحافظ على أن يكون سياقه صغيرًا ومركزًا.
عندما يحتاج وكيل فرعي إلى مراعاة قرارات أو قيود من وقت سابق في المحادثة، صِغ موجّهك بحيث يشير إلى السياق السابق:
Use the code-reviewer persona to review src/payments/.
Take into account what we discussed about the error handling approach.يستنتج Bob قيمة fork_context: true من عبارات مثل "what we discussed" أو "our earlier decision"، ويمرر سجل المحادثة إلى الوكيل الفرعي.
يؤدي تمرير سجل المحادثة إلى نسخ محادثتك كاملة في نافذة سياق الوكيل الفرعي. وقد يضيف ذلك كلفة كبيرة في المحادثات الطويلة. فضّل الإعداد الافتراضي، أي عدم تفريع السياق، ما لم يكن الوكيل الفرعي يحتاج فعلًا إلى هذه المعلومات لأداء مهمته.
الشخصيات والأوضاع والقواعد
| الآلية | النطاق | ما الذي تتحكم فيه | متى تستخدمها |
|---|---|---|---|
| الوضع | المهمة كاملة | سقف الأدوات وتعريف دور المهمة الرئيسية | عندما تحتاج المهمة الرئيسية إلى سلوك مختلف، مثل القراءة فقط أو كاتب وثائق أو مراجع أمني |
| القاعدة | مهمة أو وضع | تعليمات دائمة تُحمّل في موجّه النظام | اصطلاحات الفريق والتنسيق والحواجز التي تنطبق في كل مرة |
| الشخصية | وكيل فرعي واحد | الدور والتركيز وتنسيق المخرجات وقيود الأدوات | عندما يحتاج مساعد إلى تركيز تخصصي، مثل مراجعة الكود أو تلخيص التغييرات أو تخطيط الاختبارات |