الوكالة (The Agency) عبارة عن مجموعة مفتوحة المصدر تضم 147 وكيل ذكاء اصطناعي متخصص لكل من Claude Code، Cursor، Aider، Windsurf، GitHub Copilot، وغيرهم. كل وكيل يمتلك شخصية واضحة، مخرجات تقنية، ومقاييس نجاح قابلة للقياس. في هذا الدليل العملي ستتعلم كيفية استكشاف بنية الوكيل، تكامل الأدوات المتعددة، استخدام ذاكرة MCP، وتشغيل السكربتات التي تجعل كل شيء يعمل — خطوة بخطوة وبأمثلة تطبيقية.
💡إذا كنت تفكر بالفعل في كيفية ربط هؤلاء الوكلاء بسير عمل واجهات برمجة التطبيقات (API) الواقعية، فستحقق أقصى استفادة منهم باستخدام منصة API قوية. هذا هو بالضبط المكان الذي تتناسب فيه Apidog: يمكنك تصميم، ومحاكاة، واختبار، وتوثيق واجهات برمجة التطبيقات التي يستهلكها وكلاؤك، ثم الضغط على "تشغيل" ومشاهدة وكلاءك المتخصصين ونقاط النهاية الخاصة بك تتطور معًا. جرّب Apidog مجانًا بينما تقرأ هذا وقم بإنشاء مساحة عمل تجريبية (sandbox) لجهتك الخلفية (backend) التي تعمل بواسطة "الوكالة".
ما هي الوكالة؟
| الميزة | التفاصيل |
|---|---|
| إجمالي الوكلاء | 147 وكيل متخصص عبر 12 قسمًا |
| التنسيق | ملفات Markdown مع معلومات YAML الأولية (الاسم، الوصف، اللون، الرمز التعبيري) |
| التكامل | يعمل مع Claude Code، Cursor، Aider، Windsurf، GitHub Copilot، Gemini CLI، OpenCode، OpenClaw، Qwen Code |
| الترخيص | MIT — مجاني للاستخدام الشخصي والتجاري |
| الأصل | بدأ من موضوع على Reddit، ويتم صيانته الآن من قبل المجتمع |
| الابتكار الرئيسي | وكلاء مدفوعون بالشخصية مع مخرجات ومقاييس نجاح، وليس مطالبات عامة |
باختصار: الوكالة تستبدل جملة "تصرّف كمطور" بنظام "تنشيط وضع مطور الواجهة الأمامية" — حيث يعرف الوكيل بالضبط التقنيات والمقاييس المطلوبة.
هيكل المستودع: 12 قسمًا، 147 وكيلًا
المصدر الرئيسي على github.com/msitarzewski/agency-agents. يتم تنظيم الوكلاء في 12 قسمًا تعكس فرق العمل الواقعية:
agency-agents/
├── engineering/
├── design/
├── marketing/
├── sales/
├── product/
├── project-management/
├── testing/
├── support/
├── spatial-computing/
├── specialized/
├── game-development/
└── academic/
كل قسم يحتوي على وكلاء متخصصين بعمق في مجالاتهم - مثلاً قسم الهندسة فيه مطوري واجهة أمامية وخلفية، DevOps، أمن، إلخ.
تشريح الوكيل: مثال عملي على بناء وكيل
كل وكيل يُكتب كملف Markdown منسق ببيانات YAML أولية، ثم أقسام منظمة تحدد الهوية، المهام، القواعد، المخرجات، والمقاييس. مثال عملي لوكيل مهندس الواجهة الخلفية:
المعلومات الأولية (YAML)
---
name: مهندس الواجهة الخلفية
description: "مهندس واجهة خلفية أول متخصص في تصميم الأنظمة القابلة للتطوير، وهندسة قواعد البيانات، وتطوير API، والبنية التحتية السحابية"
color: blue
emoji: 🏗️
vibe: يصمم الأنظمة التي تدعم كل شيء — قواعد البيانات، واجهات برمجة التطبيقات، السحابة، قابلية التوسع.
---
أدوات مثل Cursor وClaude Code تستخدم هذه البيانات لاكتشاف الوكلاء.
الهوية والذاكرة
## 🧠 هويتك وذاكرتك
- **الدور**: متخصص في هندسة الأنظمة وتطوير جانب الخادم
- **الشخصية**: استراتيجي، يركز على الأمن، يهتم بقابلية التوسع، مهووس بالموثوقية
- **الذاكرة**: تتذكر أنماط البنية الناجحة، وتحسينات الأداء، وأطر عمل الأمان
- **الخبرة**: لقد رأيت أنظمة تنجح من خلال البنية الصحيحة وتفشل من خلال الاختصارات التقنية
المهمة الأساسية
## 🎯 مهمتك الأساسية
### التميز في هندسة البيانات/المخطط
- تعريف وصيانة مخططات البيانات ومواصفات الفهارس
- تصميم هياكل بيانات فعالة لمجموعات البيانات الكبيرة (أكثر من 100 ألف كيان)
- تنفيذ مسارات ETL لتحويل البيانات وتوحيدها
- إنشاء طبقات استمرارية عالية الأداء مع أوقات استعلام أقل من 20 مللي ثانية
القواعد الحرجة
## 🚨 قواعد حرجة يجب عليك اتباعها
### بنية تعتمد على الأمن أولاً
- تنفيذ استراتيجيات الدفاع العميق عبر جميع طبقات النظام
- استخدام مبدأ أقل امتياز لجميع الخدمات والوصول إلى قواعد البيانات
- تشفير البيانات في حالة السكون وأثناء النقل باستخدام معايير الأمان الحالية
المخرجات التقنية: أمثلة كود حقيقية
-- تصميم مخطط قاعدة بيانات التجارة الإلكترونية
CREATE TABLE users (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
email VARCHAR(255) UNIQUE NOT NULL,
password_hash VARCHAR(255) NOT NULL,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
deleted_at TIMESTAMP WITH TIME ZONE NULL
);
CREATE INDEX idx_users_email ON users(email) WHERE deleted_at IS NULL;
CREATE INDEX idx_users_created_at ON users(created_at);
// Express.js API مع برمجية وسيطة للأمن
const helmet = require('helmet');
const rateLimit = require('express-rate-limit');
const limiter = rateLimit({
windowMs: 15 * 60 * 1000,
max: 100,
message: 'Too many requests from this IP, please try again later.',
});
مقاييس النجاح
## 🎯 مقاييس نجاحك
تكون ناجحًا عندما:
- تظل أوقات استجابة API أقل من 200 مللي ثانية للشريحة المئوية 95
- يتجاوز وقت تشغيل النظام توافر 99.9%
- تعمل استعلامات قاعدة البيانات بمتوسط أقل من 100 مللي ثانية
- لا تجد مراجعات الأمان أي ثغرات أمنية حرجة
تكامل الأدوات المتعددة: دعم أكثر من 10 بيئات تطوير
الوكالة تدعم أكثر من 10 بيئات تطوير متكاملة (IDEs) وأدوات ذكاء اصطناعي. استخدم السكربتات التالية لتحويل وتثبيت الوكلاء:
الأدوات المدعومة
| الأداة | التنسيق | موقع التثبيت |
|---|---|---|
| Claude Code | .md |
~/.claude/agents/ |
| GitHub Copilot | .md |
~/.github/agents/ |
| Cursor | .mdc |
.cursor/rules/ |
| Aider | CONVENTIONS.md |
جذر المشروع |
| Windsurf | .windsurfrules |
جذر المشروع |
| Antigravity | SKILL.md |
~/.gemini/antigravity/skills/ |
| Gemini CLI | امتداد | ~/.gemini/extensions/ |
| OpenCode | .md |
.opencode/agents/ |
| OpenClaw |
SOUL.md + AGENTS.md
|
~/.openclaw/ |
| Qwen Code | .md |
~/.qwen/agents/ |
سكربت التحويل (convert.sh)
لتحويل ملفات الوكلاء إلى التنسيقات المطلوبة:
#!/usr/bin/env bash
# convert.sh — تحويل ملفات .md لوكلاء الوكالة إلى تنسيقات خاصة بالأداة
set -euo pipefail
AGENT_DIRS=(
academic design engineering game-development marketing paid-media
sales product project-management testing support spatial-computing specialized
)
# استخراج حقول المعلومات الأولية
get_field() {
local field="$1" file="$2"
awk -v f="$field" '
/^---$/ { fm++; next }
fm == 1 && $0 ~ "^" f ": " { sub("^" f ": ", ""); print; exit }
' "$file"
}
# تجريد المعلومات الأولية، وإرجاع المحتوى
get_body() {
awk 'BEGIN{fm=0} /^---$/{fm++; next} fm>=2{print}' "$1"
}
مثال تحويل لـ Cursor:
convert_cursor() {
local agent_file="$1"
local slug=$(to_kebab "$(get_field 'name' "$agent_file")")
local output_file="$OUT_DIR/cursor/.cursor/rules/agency-${slug}.mdc"
cat > "$output_file" << EOF
---
description: وكيل الوكالة: $(get_field 'description' "$agent_file")
---
$(get_body "$agent_file")
EOF
}
سكربت التثبيت (install.sh)
لنقل الملفات للوجهة الصحيحة:
#!/usr/bin/env bash
# install.sh — تثبيت وكلاء الوكالة في أدواتك المحلية
install_claude_code() {
local src="$REPO_ROOT"
local dest="$HOME/.claude/agents"
mkdir -p "$dest"
cp -r "$src"/{engineering,design,marketing,sales,specialized}/*.md "$dest/"
ok "Claude Code: $(find "$dest" -name '*.md' | wc -l) وكيل تم تثبيته"
}
install_cursor() {
local src="$OUT_DIR/cursor/.cursor/rules"
local dest="./.cursor/rules"
mkdir -p "$dest"
cp "$src"/*.mdc "$dest/"
ok "Cursor: $(find "$dest" -name '*.mdc' | wc -l) قاعدة تم تثبيتها"
}
التثبيت التفاعلي:
./scripts/install.sh
أو تنفيذ متوازي:
./scripts/install.sh --parallel --jobs 8
ذاكرة MCP: سياق دائم للوكلاء
عادة الوكلاء يبدأون كل جلسة من الصفر. مع MCP (Model Context Protocol)، يمكنهم تذكر الجلسات السابقة وتسليم المهام بين الوكلاء والتراجع عند الحاجة.
تفعيل الذاكرة في أي وكيل:
## تكامل الذاكرة
عندما تبدأ جلسة:
- استدعاء السياق ذي الصلة من الجلسات السابقة باستخدام دورك ومشروعك كمصطلحات بحث
- مراجعة أي ذكريات تم تعليمها باسم وكيلك
عندما تتخذ قرارات رئيسية أو تكمل مخرجات:
- تذكر القرار بعلامات وصفية (اسم الوكيل، المشروع، الموضوع)
- تضمين سياق كافٍ يمكن لجلسة مستقبلية أن تفهم ما تم القيام به ولماذا
عند تسليم المهمة لوكيل آخر:
- تذكر مخرجاتك المعلمة للوكيل المستلم
- تضمين: ما أكملته، وما هو معلق، وما يحتاج الوكيل التالي لمعرفته
أدوات MCP
| الأداة | الغرض |
|---|---|
remember |
تخزين القرارات، المخرجات، السياق بعلامات |
recall |
البحث في الذكريات حسب الكلمة الرئيسية، العلامة، أو التشابه الدلالي |
rollback |
الاستعادة إلى الحالة السابقة عندما يفشل شيء ما |
search |
البحث عن ذكريات محددة عبر الجلسات والوكلاء |
مثال سير عمل بذاكرة
بدون ذاكرة:
المستخدم: "أنشئ واجهة برمجة التطبيقات"
الوكيل: [ينشئ واجهة برمجة التطبيقات، تنتهي الجلسة]
[الجلسة التالية]
المستخدم: "استمر من الأمس"
الوكيل: "ليس لدي سياق من الجلسات السابقة. هل يمكنك لصق ما فعلناه؟"
مع ذاكرة MCP:
المستخدم: "أنشئ واجهة برمجة التطبيقات"
الوكيل: [ينشئ API، يتذكر: "مهندس الواجهة الخلفية - API التجارة الإلكترونية - جدول المستخدمين، مصادقة JWT، تحديد المعدل"]
[الجلسة التالية]
المستخدم: "استمر من الأمس"
الوكيل: [يستدعي: "بالأمس، قمت بتصميم جدول المستخدمين بمفاتيح أساسية UUID، ونفذت مصادقة JWT باستخدام تجزئة bcrypt، وأضفت تحديد المعدل بـ 100 طلب كل 15 دقيقة. الخطوة التالية: مخطط خدمة الطلبات."]
وكلاء مميزون: أمثلة تطبيقية واقعية
1. مدقق الواقع — قسم الاختبار
يفرض مراجعة واقعية لكل شيء قبل الموافقة:
# تحقق مما تم بناؤه بالفعل
ls -la resources/views/ || ls -la *.html
# تحقق متقاطع من الميزات المدعاة
grep -r "luxury\|premium\|glass\|morphism" . --include="*.html" --include="*.css" || echo "لم يتم العثور على ميزات مميزة"
# تشغيل التقاط لقطة شاشة احترافية باستخدام Playwright
./qa-playwright-capture.sh http://localhost:8000 public/qa-screenshots
- مراجعة نتائج ضمان الجودة
- مطابقة لقطات الشاشة الآلية
- يتطلب دليلًا مرئيًا قبل الموافقة
2. مُدخل الغرابة — قسم التصميم
يضيف شخصية ومرح دون المساس بقابلية الاستخدام.
/* تفاعلات أزرار مبهجة */
.btn-whimsy {
position: relative;
overflow: hidden;
transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
&::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
transition: left 0.5s;
}
&:hover {
transform: translateY(-2px) scale(1.02);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}
}
// نظام إنجازات مع غرابة
class WhimsyAchievements {
unlock(achievementId) {
const achievement = this.achievements[achievementId];
this.showCelebration(achievement);
this.saveProgress(achievementId);
}
showCelebration(achievement) {
const celebration = document.createElement('div');
celebration.className = `achievement-celebration ${achievement.celebration}`;
celebration.innerHTML = `
<div class="achievement-card">
<div class="achievement-icon">${achievement.icon}</div>
<h3>${achievement.title}</h3>
<p>${achievement.description}</p>
</div>
`;
document.body.appendChild(celebration);
setTimeout(() => celebration.remove(), 3000);
}
}
رسائل الخطأ:
## رسائل الخطأ
**صفحة 404**: "عذرًا! يبدو أن هذه الصفحة ذهبت في إجازة دون إخبارنا."
**التحقق من صحة النموذج**: "يبدو بريدك الإلكتروني خجولاً بعض الشيء – هل تمانع في إضافة رمز @؟"
**خطأ في الشبكة**: "يبدو أن الإنترنت تعثر. هل تجرب مرة أخرى؟"
3. مُنشئ MCP — القسم المتخصص
يبني أدوات MCP مخصصة:
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({ name: "my-server", version: "1.0.0" });
server.tool("search_items", { query: z.string(), limit: z.number().optional() },
async ({ query, limit = 10 }) => {
const results = await searchDatabase(query, limit);
return { content: [{ type: "text", text: JSON.stringify(results, null, 2) }] };
}
);
const transport = new StdioServerTransport();
await server.connect(transport);
- أسماء الأدوات واضحة
- معلمات Typed باستخدام Zod
- مخرجات منظمة (JSON)
- التعامل السلس مع الأخطاء
المجتمع والترجمات
- 147 وكيل في 12 قسم
- أكثر من 10,000 سطر كود/مطالبات/أمثلة
- ترجمات (الصينية وغيرها)
- تكاملات لأكثر من 10 أدوات عبر سكربتات
أبرز التفرعات:
- agency-agents-zh ترجمة صينية + وكلاء مخصوصين
- agent-teams توطين للسوق الصيني
التثبيت: خطوات عملية سريعة
الخيار 1: Claude Code (موصى به)
cp -r agency-agents/* ~/.claude/agents/
ثم في أي جلسة:
"مرحباً كلود، قم بتنشيط وضع مطور الواجهة الأمامية وساعدني في بناء مكون React"
الخيار 2: أدوات متعددة
./scripts/convert.sh
./scripts/install.sh
# أو لأداة محددة
./scripts/install.sh --tool cursor
./scripts/install.sh --tool aider
الخيار 3: كمرجع فقط
تصفح الوكلاء على github.com/msitarzewski/agency-agents وخذ ما يلزمك من ملفات الهوية وسير العمل والكود.
ما الذي يميز الوكالة عمليًا؟
مقابل مطالبات الذكاء الاصطناعي العامة
| مطالبات عامة | الوكالة |
|---|---|
| "تصرّف كمطور" | "تنشيط وضع مطور الواجهة الأمامية" |
| غامضة، تناسب الجميع | تخصص عميق لكل مجال |
| لا يوجد هيكل للمخرجات | أمثلة كود كاملة، وسير عمل |
| لا توجد مقاييس نجاح | نتائج قابلة للقياس محددة |
مقابل مكتبات المطالبات
| مكتبات المطالبات | الوكالة |
|---|---|
| مجموعات مطالبات لمرة واحدة | أنظمة وكلاء شاملة |
| نص ثابت | شخصية + سير عمل + ذاكرة |
| لا يوجد تكامل | أكثر من 10 تكاملات مع الأدوات |
مقابل أدوات الذكاء الاصطناعي
| أدوات الذكاء الاصطناعي | الوكالة |
|---|---|
| صندوق أسود، لا يمكن تخصيصه | شفاف، قابل للتفرع، قابل للتكيف |
| اعتماد على بائع واحد | ترخيص MIT، صيانة مجتمعية |
| نموذج واحد | يعمل مع أي نموذج لغة كبير (LLM) عبر MCP |
الدروس التقنية المستفادة
- التخصص يتفوق على التعميم: 147 متخصصًا أفضل من مطالبة واحدة عامة.
- الهيكل يدفع المخرجات: البيانات الأولية + المهمة + القواعد + المخرجات + المقاييس.
- التكامل مهم: السكربتات تحول الوكلاء تلقائيًا لأكثر من 10 بيئات.
- الذاكرة تمكن الاستمرارية: MCP يحل مشكلة فقدان السياق.
- المجتمع يوسع النطاق: من Reddit ← إلى ترجمات ودعم أدوات متعددة.
الخطوات التالية العملية
- تصفح قائمة الوكلاء الكاملة
- ثبّت لأداتك المفضلة (Claude Code، Cursor، Aider...)
- فعّل الوكلاء بالاسم:
"استخدم مدقق الواقع للتحقق من أن هذا جاهز للإنتاج" - ساهم بإضافة وكلاء أو تحسين الموجودين
إذا كنت تبني وكلاء ذكاء اصطناعي بنفسك — ابدأ من المعلومات الأولية، ثم الهوية، المهمة، القواعد، المخرجات، المقاييس. اجعل كل شيء قابل للقياس وقابل للتكامل.
الوكالة تثبت أن أفضل فريق ذكاء اصطناعي ليس نموذجًا واحدًا يفعل كل شيء، بل 147 متخصصًا يعرف كل واحد منهم بالضبط ما المفروض أن يفعله.

Top comments (0)