السرعة النهائية: سطر الأوامر كطبقة تجريد للذكاء الاصطناعي
هذه ترجمة آلية للنص الإنجليزي الأصلي. قد تضيع بعض الفروق الدقيقة، لذا تبقى النسخة الإنجليزية هي المرجع. اقرأ النص الأصلي بالإنجليزية
باختصار
في مختبر ذكاء اصطناعي حديث، تتحدد إنتاجيتك بتكلفة التنقل بين السياقات. إذا كنت تنتقل باستمرار عبر alt-tab إلى متصفح للصق سجلات الأخطاء أو رسائل الالتزام، فأنت تنزف تركيزك. أشغّل كل شيء من نسخة WSL2 مخصصة بدرجة كبيرة، لأن الطرفية هي الواجهة الأصلية لـ”طبقة الذكاء”. وبتمرير نظام التشغيل مباشرة إلى نموذج لغوي، خفضت “عمل الحمقى” (التنسيق، وكتابة رسائل الالتزام، والبحث في السجلات) إلى ما يقارب الصفر.
لم يكن هذا التحول أيديولوجيًا. كانت بيئة التطوير (IDE) الخاصة بي تفشل مرارًا وتكرارًا مع أوامر PowerShell وBash، وكانت الطرفية تؤدي المهمة ببساطة. هذا كان كل التحوّل.
البنية
يتعامل سير عملي مع الصدفة بوصفها خط أنابيب بيانات قابلًا للتركيب. مخرجات أي أمر، سواء كان بناءً فاشلًا أو git diff أو استجابة curl، ليست سوى نص. والنص هو اللغة الأساسية للنماذج اللغوية.
| المكوّن | الأداة / الإعداد | المبرر |
|---|---|---|
| الصدفة | Zsh + Oh My Zsh | منظومة إضافات وإكمال تلقائي متفوق بالتبويب. |
| الطرفية | Windows Terminal | أفضل دعم لتعدد التبويبات والعرض بالـ GPU على Windows. |
| المُضاعِف | Tmux | جلسات دائمة عبر إعادة تشغيل WSL2. |
| الخط | MesloLGS NF | مطلوب لـ Powerlevel10k والأيقونات. |
| سطر أوامر الذكاء الاصطناعي | fabric / ollama | أغلفة خفيفة لتمرير النص إلى “العقول”. |
البناء
القوة الحقيقية تكمن في ملف .zshrc الخاص بك. لا أستخدم وكلاء معقدين للمهام البسيطة؛ بل أستخدم دوال صدفة تتحدث إلى GekroLLMClient الخاص بي.
1. التزامات Git مدعومة بالذكاء الاصطناعي
توقف عن كتابة “fix” كرسالة التزام. تُجهّز هذه الدالة تغييراتك، وترسل الفروقات إلى نسخة Llama 3 محلية، وتولّد رسالة التزام وفق المعيار المتعارف عليه.
# Generate AI commit message from staged changes
aic() {
local diff=$(git diff --cached)
if [ -z "$diff" ]; then
echo "No staged changes found."
return 1
fi
echo "Generating commit message..."
local msg=$(echo "$diff" | ollama run llama3 "Generate a concise, one-line conventional commit message for this diff. No preamble.")
git commit -m "$msg"
}
2. أنبوب الشرح
في كل مرة يفشل فيها أمر، أمرّره إلى الأنبوب. لا مزيد من البحث في جوجل عن رموز أخطاء C++ الغامضة.
# Pipe any output to LLM for instant explanation
alias explain="ollama run llama3 'Explain this error output and suggest a fix concisely:'"
# Usage:
# npm run build | explain
3. ملاحظة إعداد WSL2
لتجعل هذا يبدو كتجربة Linux أصلية على Windows، عليك إصلاح غرائب المسارات والخطوط.
مقتطف من settings.json في Windows Terminal:
{
"guid": "{57605e5d-1f0f-5602-9ae4-0466a014995f}",
"name": "Ubuntu-22.04",
"source": "Windows.Terminal.Wsl",
"font": {
"face": "MesloLGS NF",
"size": 12
},
"startingDirectory": "//wsl$/Ubuntu-22.04/home/rohit"
}
نصيحة: استخدم دائمًا صيغة المسار //wsl$/ في تطبيقات Windows لتجنب عقوبة الأداء الناتجة عن NTFS/9P.
المفاضلات
كلفني إعداد هذا ساعات لم أحسب لها حسابًا. كنت أحاول أن أجعل نموذجًا يرشدني خلال إعداد WSL2 وZsh، فدار بي في حلقات (كان الجيل الثاني من Gemini): يعطيني أمرًا بثقة تامة، ويراني ألصقه، ويراه يفشل، ثم يعطيني آخر. وصلت إلى الحل بقراءة التوثيق الفعلي، كأننا في 2015. إذا كنت تقوم بهذا الإعداد، فخصص له عصرًا كاملًا وتجاهل الطريق المختصر.
أكبر خطأ أراه يرتكبه المهندسون هو تضخم الأسماء المستعارة. كان لدي ذات مرة أكثر من 200 اسم مستعار، وكنت أقضي وقتًا في تذكّر الاختصار أطول مما كنت سأقضيه في كتابة الأمر. ومنذ ذلك الحين قلّصتها إلى “الخمسة عالية التكرار”: aic (التزام بالذكاء الاصطناعي)، وgup (Docker Compose Up)، وld (تفريغ السجل)، وpf (تنسيق Python)، وexplain.
حقيقة تشغيلية: تمرير السجلات الحساسة إلى نموذج لغوي سحابي ثغرة أمنية تنتظر أن تقع. تعلمت ذلك حين أرسلت بالخطأ ملف .env إنتاجيًا يحتوي على بيانات اعتماد بنص صريح إلى مزوّد سحابي، لأنه علق في أمر grep مررته إلى اسم مستعار “explain”. استخدم دائمًا نسخة Ollama محلية لتمرير مخرجات الصدفة لتبقى متغيرات بيئتك على جهازك.
نقطة أخيرة، وهي تُفرغ العنوان من بعض هوائه. أستخدم الاثنين الآن. فازت الطرفية بالمهام التي تجيدها، واحتفظت الواجهة الرسومية بما تجيده، وفي مكان ما على الطريق توقفت عن حساب النقاط. إذا جئت تبحث عن قصة تحوّل بنهاية نظيفة، فهذه هي النسخة الصادقة.
إلى أين يتجه هذا
أبني حاليًا جسرًا من الطرفية إلى الإجراء. وبدلًا من الاكتفاء بشرح الخطأ، ستقترح دالة الصدفة أمر sed أو patch، وسأتمكن من الضغط على Y لتطبيق الإصلاح مباشرة. الطرفية لا تصبح قديمة؛ إنها تتحول إلى قمرة القيادة لكل وكيل نبنيه.
بقلم
Rohit Buraniمهندس ذكاء اصطناعي يبني أنظمة محلية أولًا وبنية تحتية مستضافة ذاتيًا وأدوات مستقلة من المختبر.