شخصيات الوكلاء
أنشئ ملفات شخصيات قابلة لإعادة الاستخدام لتحديد دور الوكيل الفرعي وتركيزه وصلاحية أدواته. حدّد ما الذي يبحث عنه، وكيف ينسّق مخرجاته، وما الذي لا يُسمح له به.
ملفات شخصيات الوكلاء هي ملفات Markdown تضبط دور الوكيل الفرعي الذي ينشئه Bob وسلوكه. بينما يضبط الوضع المخصص أسلوب عمل المهمة الرئيسية، تضبط الشخصية أسلوب عمل وكيل فرعي مساعد. وهي تحدد هويته وقائمة تحققه وتنسيق مخرجاته وقيوده.
كيفية عمل الشخصيات
عندما ينشئ Bob وكيلاً فرعياً، يتحقق من .bob/agents/ بحثاً عن ملف شخصية يطابق وصفه المهمة. عند العثور عليه، تُحمّل الشخصية بوصفها وضع الوكيل الفرعي: يُضاف نص الدور إلى مطالبة النظام الخاصة به فوق تعليماته الأساسية.
لا تُحمّل الشخصيات تلقائياً في المحادثة الرئيسية. ولا تسري إلا عند إنشاء وكيل فرعي، سواء بادر Bob بذلك أو طلبت منه تفويض مهمة محددة.
تنسيق ملف الشخصية
تستخدم ملفات الشخصية واجهة YAML أمامية يتبعها نص دور حر:
---
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.حقول الواجهة الأمامية
| الحقل | مطلوب | النوع | الغرض |
|---|---|---|---|
name | نعم | string | المعرّف المستخدم في السجلات. ينبغي أن يطابق اسم الملف دون .md. |
description | نعم | string | يستخدمه Bob لمطابقة الشخصية مع المهمة. اكتبه كمهمة من سطر واحد. |
tools | لا | list | يقيّد مجموعات الأدوات التي يمكن للوكيل الفرعي استخدامها. احذفه لوراثة الإعدادات الافتراضية. |
مجموعات الأدوات
يقبل الحقل tools المجموعات نفسها التي تقبلها الأوضاع المخصصة: read وedit وcommand وbrowser وmcp.
بالنسبة إلى الشخصيات للقراءة فقط، مثل المراجعين والمخططين والمُلخّصين، اضبط tools: [read] لمنع التعديلات غير المقصودة.
حقل tools حدّ أقصى وليس منحة صلاحيات. فتعيين tools: [edit] لا يؤثر إن لم تكن المهمة النشطة تملك صلاحية Edit. يمكن للشخصية تقييد الوصول إلى الأدوات فقط، ولا يمكنها توسيعه إلى ما يتجاوز ما تسمح به المهمة.
موضع الملفات
| الموقع | النطاق | حالة الاستخدام |
|---|---|---|
<project>/.bob/agents/ | هذا المشروع فقط | شخصيات مشتركة مع الفريق ومُلتزم بها في المستودع |
~/.bob/agents/ | كل المشاريع على هذا الجهاز | شخصيات شخصية تنطبق على جميع المشاريع |
إذا احتوى الموقعان على شخصية بالاسم نفسه، تكون الأولوية للشخصية الموجودة على مستوى المشروع.
يمكن أن يحتوي مجلد .bob/ على شخصيات إلى جانب إعداداتك الأخرى:
إنشاء شخصيتك الأولى
أنشئ مجلد الوكلاء في جذر مشروعك:
mkdir -p .bob/agentsأنشئ ملف شخصية. ينبغي أن يطابق اسم الملف، من دون .md، حقل name في الواجهة الأمامية.
touch .bob/agents/code-reviewer.mdأضف الواجهة الأمامية ونص الدور. راجع تنسيق ملف الشخصية أعلاه لمعرفة البنية.
نفّذ الملف في مستودعك كي يشارك فريقك الشخصيات نفسها.
أمثلة على الشخصيات
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
يقرأ مجموعة من الملفات المتغيرة وينتج وصفاً منظماً لطلب السحب يشمل ما تغير، والنية المحتملة، والجوانب التي ينبغي أن يركز عليها المراجع.
---
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 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”، ويمرر سجل المحادثة إلى الوكيل الفرعي.
يؤدي تمرير سجل المحادثة إلى نسخ محادثتك كاملةً إلى نافذة سياق الوكيل الفرعي. وقد يضيف ذلك تكلفة رموز ملحوظة إلى المحادثات الطويلة. فضّل الإعداد الافتراضي، أي عدم تمرير السياق، ما لم يحتج الوكيل الفرعي فعلاً إلى السياق السابق لإنجاز مهمته.
الشخصيات والأوضاع والقواعد
| الآلية | النطاق | ما الذي تضبطه | متى تستخدمها |
|---|---|---|---|
| الوضع | المهمة كاملة | الحد الأقصى للأدوات وتعريف دور المهمة الرئيسية | عندما تحتاج المهمة الرئيسية إلى أسلوب مختلف، مثل القراءة فقط أو كتابة الوثائق أو مراجعة الأمان |
| القاعدة | المهمة أو الوضع | تعليمات دائمة تُحمّل في مطالبة النظام | اتفاقيات الفريق ومعايير التنسيق والضوابط التي تنطبق دائماً |
| الشخصية | وكيل فرعي واحد | الدور والتركيز وتنسيق المخرجات وقيود الأدوات لوكيل فرعي منشأ | عندما يحتاج مساعد إلى تركيز في مجال محدد، مثل مراجعة الكود أو تلخيص التغييرات أو تخطيط الاختبارات |