لماذا يتخلى بعض المطورين عن Claude Code لصالح Pi Coding Agent ؟

ما هو Pi Coding Agent؟

Pi Coding Agent (وكيل برمجة Pi) هو أداة سطر أوامر (Terminal) مفتوحة المصدر لكتابة الكود بمساعدة الذكاء الاصطناعي، صممها المطور النمساوي Mario Zechner. بدل أن تأتيك مثقلة بعشرات الميزات الجاهزة كما هو الحال مع Claude Code أو Cursor، تأتي Pi بأربعة أدوات فقط: قراءة الملفات، تحريرها، كتابتها، وتنفيذ أوامر Bash. كل ما عدا ذلك — الوضع التخطيطي (Plan Mode)، الوكلاء الفرعيون (Sub-agents)، نوافذ الأذونات — غير موجود بشكل افتراضي، وعليك بناؤه بنفسك أو تثبيته كإضافة (Extension).

لماذا تهتم بـ Pi Coding Agent؟

تخيل أنك تستخدم Claude Code يومياً، وفي كل تحديث جديد تُضاف أداة أو يتغير الـ System Prompt أو يُحقن سياق (Context) إضافي دون أن تعرف بالضبط ماذا يحدث خلف الكواليس. أنت تثق بالأداة، لكنك لا تتحكم فيها. هذا بالضبط ما دفع مطورين، من بينهم Zechner نفسه، للبحث عن بديل يمنحهم رؤية كاملة لما يدخل في الـ Context Window وما يخرج منه.

المشكلة الحقيقية التي يحلها Pi ليست “كتابة كود أسرع”، بل استعادة السيطرة على الـ Harness (الغلاف البرمجي المحيط بالنموذج). فمعظم أدوات الوكلاء الذكية تفرض عليك طريقة عملها: عدد التوكنز في الـ System Prompt، الأدوات المتاحة، طريقة إدارة الذاكرة. Pi يقلب المعادلة: النموذج مُدرَّب أصلاً على أن يكون وكيل برمجة كفؤاً، فلماذا تثقل الـ Prompt بآلاف التوكنز لشرح ما يعرفه النموذج بالفعل؟ نتيجة ذلك system prompt لا يتجاوز ألف توكن تقريباً، مقارنة بأرقام أعلى بكثير في أدوات أخرى، ما يترك مساحة أكبر من نافذة السياق لكودك الفعلي.

ما الذي يميزه فعلاً عن الأدوات المشابهة؟

قبل أن نغرق في التفاصيل، لا بد من الاعتراف بأن سوق وكلاء البرمجة مزدحم فعلاً: Claude Code، Codex CLI، Aider، OpenCode، Cursor… السؤال المهم ليس “هل Pi جيد؟” بل “أين يتفوق تحديداً؟”

  • مقابل Claude Code: الفرق الجوهري هو الشفافية. Claude Code منتج مغلق تتحكم فيه Anthropic بالكامل، بينما Pi مرخّص بـ MIT ومتاح بالكامل على GitHub، ما يسمح لأي مطور بفحص الكود أو تعديله. لكن الثمن هو فقدان بعض الجاهزية: عليك بناء ما تحتاجه بنفسك.
  • مقابل Aider: كلاهما يميل للبساطة، لكن Aider يتمحور حول فلسفة Git-first (كل تغيير يُسجَّل كـ Commit تلقائياً)، بينما يركز Pi على قابلية التوسعة عبر الإضافات (Extensions) المكتوبة بـ TypeScript.
  • مقابل Codex و Cursor: هذان الخياران أقرب إلى منتج متكامل يدير العملية نيابة عنك (خصوصاً داخل المحرر أو التطبيقات)، بينما Pi يمنحك اللبنات الأولية (Primitives) وليس ميزات جاهزة.

الفارق الحقيقي الذي يميز Pi هو ميزة واحدة نادراً ما تجدها في أدوات أخرى: الأداة يمكنها توسيع نفسها بنفسها. بما أن Pi يعرف بنية الكود المصدري الخاص به وتوثيقه، يمكنك أن تطلب منه كتابة إضافة (Extension) جديدة، ثم إعادة تحميلها فوراً بأمر /reload دون إعادة تشغيل الجلسة. هذا ليس مجرد “قابلية تخصيص” عادية، بل حلقة تحسين ذاتي فعلية.

كيف تبدأ مع Pi Coding Agent؟

تبدأ مع Pi Coding Agent

التثبيت مباشر عبر سطر واحد فقط:

curl -fsSL https://pi.dev/install.sh | sh

بعد التثبيت، شغّل الأداة داخل مجلد مشروعك:

pi

ستفتح واجهة تفاعلية (TUI) شبيهة بواجهة Claude Code، لكن الأدوات المتاحة أقل بكثير. يمكنك التبديل بين النماذج (Claude، GPT، Gemini، وغيرها عبر أكثر من 15 مزوداً) بالأمر:

/model

أو عبر اختصار لوحة المفاتيح Ctrl+L، ولإدارة إعدادات مثل مستوى التفكير (Reasoning Level) أو إخفاء آثار التفكير:

/settings

نقطة مهمة لمطوري JavaScript/TypeScript ومطوري الويب عموماً: بما أن الإضافات تُكتب بـ TypeScript، فإن منحنى التعلم لبناء إضافة مخصصة يكاد يكون معدوماً إذا كنت تعمل أصلاً على الويب أو الـ Backend بـ Node.js.

مثال تطبيقي: بنية إضافة (Extension) بسيطة

لنفترض أنك تريد إضافة أمر مخصص يشغّل الاختبارات (Tests) تلقائياً بعد كل تعديل ناجح على الكود. الفكرة العامة لبنية أي إضافة في Pi تشبه ما يلي:

// extensions/auto-test.ts
import type { PiExtension } from "@earendil-works/pi-coding-agent";

const autoTestExtension: PiExtension = {
  name: "auto-test",

  // يُستدعى بعد كل عملية كتابة أو تعديل ناجحة على ملف
  onToolResult: async (context, toolName, result) => {
    if (toolName === "edit" || toolName === "write") {
      await context.runBash("npm test -- --silent");
    }
  },

  // إضافة أمر جديد يمكن استدعاؤه بـ /run-tests
  commands: {
    "run-tests": async (context) => {
      await context.runBash("npm test");
    },
  },
};

export default autoTestExtension;

شرح الكود: هذا الملف يُعرَّف كـ PiExtension يحتوي على خاصيتين أساسيتين: onToolResult الذي يعمل كـ Hook (خُطّاف) يُنفَّذ تلقائياً كلما استخدم الوكيل أداتي edit أو write، وهنا يشغّل أوامر الاختبار مباشرة دون تدخل منك. أما commands فتضيف أمراً جديداً (/run-tests) يمكنك استدعاؤه يدوياً في أي وقت. بعد حفظ الملف داخل مجلد الإضافات، أعد التحميل بـ /reload وستصبح الإضافة جزءاً فعلياً من الوكيل.

بهذه الطريقة يمكنك بناء دورة كاملة “اكتب → راجع بسياق جديد → أصلح → اختبر → تحقق” بدون تكرار نفس الأوامر يدوياً في كل جلسة — وهي بالضبط الحلقة التي وصفها مطورون جربوا الأداة كبديل عملي عن الإعداد اليدوي المتكرر في أدوات أخرى.

نصائح ومزالق يجب تجنبها

  • لا تتوقع تجربة “جاهزة من الصندوق”: إذا كنت تبحث عن أداة تدير كل شيء نيابة عنك (Sub-agents، Plan Mode جاهز، MCP مدمج)، ستحتاج لبناء ذلك بنفسك أو تثبيت حزمة (Package) جاهزة من مجتمع Pi، وهذا يستهلك وقتاً في البداية.
  • مشكلة الاشتراكات: إذا كنت مشتركاً في Claude Pro/Max واعتدت استخدام Claude Code ضمن الاشتراك، فاستخدام نماذج Anthropic عبر Pi يتم غالباً بأسعار الـ API المنفصلة وليس ضمن الاشتراك — نقطة يجب حسابها في التكلفة قبل الانتقال الكامل.
  • إدارة السياق يدوية أكثر: بعكس الأدوات التي “تحل مشكلة السياق نيابة عنك”، يتوقع Pi منك بناء ملفات Markdown خاصة بالتخطيط والمهام (شبيهة بـ AGENTS.md)، وهذا يزيد إمكانية إعادة الإنتاج لكنه يتطلب انضباطاً أكبر منك.
  • الاعتماد على الإضافات مسؤولية إضافية: بما أن الإضافات كود حقيقي (TypeScript)، فأنت مسؤول عن صيانتها وتحديثها، على عكس ميزة جاهزة يديرها فريق الأداة نفسه.

الخلاصة والرأي

Pi Coding Agent ليس بديلاً “أفضل بشكل مطلق” من Claude Code أو Cursor، وأي مقال يقول ذلك يبسّط الصورة كثيراً. الأداتان تحلان مشكلتين مختلفتين: Claude Code يحمل عنك جزءاً أكبر من عبء اتخاذ القرار ويقدّم تجربة متكاملة جاهزة، بينما يمنحك Pi أداة رفيعة (Sharp Instrument) تبقى يدك عليها طوال الوقت.

من واقع تجربة مطورين نشروا تفاصيل استخدامهم، يبدو Pi الخيار الأنسب إذا كنت: (1) تريد شفافية كاملة حول ما يدخل نافذة السياق، (2) تستخدم عدة نماذج مختلفة وتريد التبديل بينها بسهولة، (3) لديك الوقت والرغبة في بناء أدواتك الخاصة بدل انتظار ميزة رسمية. أما إذا كنت تريد أداة تعمل بأقل تدخل ممكن منذ اليوم الأول، فستظل Claude Code أو أدوات مشابهة الخيار الأكثر عملية على المدى القريب.

جرّب أمر التثبيت أعلاه في مشروع صغير أولاً قبل الاعتماد عليه في عمل حقيقي، وشاركنا رأيك: هل تفضّل أداة تتحكم فيها بالكامل، أم أداة تدير التفاصيل نيابة عنك؟

اعجبك المقال : شاركه الآن
احمد علي
احمد علي

مطور تطبيقات هواتف ذكية باستخدام Flutter، وصانع محتوى تقني يكتب عن الذكاء الاصطناعي والبرمجة وتطورات التكنولوجيا الحديثة. أسعى لتبسيط الأفكار المعقدة ومشاركة خبرتي مع المهتمين بالمجال.

المقالات: 230

اترك ردّاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *