TuBrief
Subscribed Channels
Videos
Community

كيفية تنظيم المجلدات لمنع وكلاء الذكاء الاصطناعي من تعديل كود خاطئ في المستودعات الضخمة

TuBrief Editorial
August 21, 2026
0
Computing/Software

Written with AI assistance from the source video. The video is the authority.

العربية한국어EnglishEspañol中文हिन्दीDeutschFrançaisPortuguêsРусскийBahasa Indonesia日本語

Related Video

المشاريع الضخمة تفشل دائماً... وأنثروبيك تحاول إصلاح ذلك14:08

المشاريع الضخمة تفشل دائماً... وأنثروبيك تحاول إصلاح ذلك

AI LABS

More from the community

사내 시스템에 llm api 붙일 때 마주하는 현실적인 한계와 대응법

September 13, 2026

레거시 백엔드에 GPT-6 Astra 붙일 때 예산 승인과 보안 통과를 먼저 끝내는 법이 있습니다

September 13, 2026

에이전트끼리 대화하다 6천만 원 청구서가 나오는 이유

September 13, 2026

사내 RAG 벡터 검색에 Okta 권한 필터를 직접 거는 방법

September 13, 2026

브라우저 에이전트에게 내 구글 계정을 통째로 넘기면 안 되는 이유

September 12, 2026

Apple Won the AI Race

September 12, 2026

Comments (0)

Log in to leave a comment

No posts yet

© 2026 . All rights reserved.

TuBrief
Subscribed Channels
Videos
Community
Log in

كيفية تنظيم المجلدات لمنع وكلاء الذكاء الاصطناعي من تعديل كود خاطئ في المستودعات الضخمة

عند ربط Claude Code أو Aider بمستودع ضخم يحتوي على مئات الآلاف من الأسطر، يبدأ الوكيل في قراءة الملفات الخاطئة أولاً. نافذة السياق الخاصة بالنموذج محدودة، وعندما يقوم بجمع ملفات غير ذات صلة، فإنه يستهلك الحد الأقصى للرموز (Tokens) ويقوم بتعديل كود خاطئ.

لا يمكن حل هذه المشكلة ببساطة عن طريق كتابة توجيهات أطول. يجب تقليص النطاق المادي للكود الذي يستكشفه الوكيل، وزرع قواعد التحقق الآلي محلياً.

1. فصل المجلدات المسببة للمراجع الدائرية

في المستודعات الضخمة، عادةً ما تكون هناك ثلاثة أماكن يقع فيها الوكيل في حلقة بحث لا نهائية: مجلد الأدوات المساعدة المشتركة الذي تجمع وظائف مساعدة منوعة (src/utils/)، وطبقة الخدمات التي تتداخل فيها منطق الأعمال (src/services/)، ومجلد النماذج العامة (src/models/). عندما تبدأ هذه المجلدات الثلاثة في الإشارة إلى بعضها البعض، يضطر الوكيل إلى قراءة عشرات الملفات فقط لإصلاح سطر واحد من الكود.

من خلال تجميع المجلدات المقسمة حسب الطبقة التقنية في وحدات تعتمد على النطاق (Domain)، يتم تقليص نطاق البحث.

التمييز الهيكل القائم على الطبقات الهيكل القائم على النطاق تغيير سلوك الوكيل
معيار المجلد فصل الطبقات التقنية (/controllers, /services) فصل النطاق (/domains/order) استكشاف الملفات المطلوبة فقط داخل مجلد واحد
اتصال الاعتماديات استيراد الكيانات العامة مباشرة الاتصال عبر حدود واجهة النطاق منع ظاهرة التحميل المتسلسل للملفات غير ذات الصلة
المنطق المشترك اختلاط الدوال في src/utils/ واحدة الفصل إلى أدوات خاصة بالنطاق وحزم مشتركة منع تلوث السياق العام غير الضروري

الترتيب الخاص بنقل المجلدات دون توقف الخدمة قيد التشغيل هو كالتالي:

  1. حدد نطاق الفصل عبر التحقق من علاقات الاعتماديات التي يستدعيها الوكيل بشكل مفرط.
  2. أنشئ واجهات حدود الخدمة لقطع المراجع المباشرة بين النطاقات.
  3. انشر منطق الأعمال ذي الصلة إلى المجلد src/domains/{domain_name}/ وقم بتحديث مراجع المسار في ملف tsconfig.json.
  4. ضع ملف إعدادات خاص بهذا النطاق (CLAUDE.md) داخل المجلد الفرعي المفصول.

2. تحويل القواعد النصية الغامضة إلى قيود عددية

تتحول إرشادات البرمجة المكتوبة بنصوص طبيعية طويلة بسهولة على الوكيل. يجب وضع أرقام وحظر واضح في أعلى ملف الإعدادات لضمان اتباع الإرشادات بدقة.

`markdown

프로젝트 제약 사항 (CLAUDE.md 상단 배치)

  1. 보안 및 예외 처리
  • NEVER allow raw SQL string concatenation. ALWAYS use parameterized queries with ORM.
  • NEVER throw generic Exception or Error. ALWAYS throw domain-specific exceptions inheriting from BaseDomainException.
  • ALWAYS enforce tenant_id filtering in all database queries under src/domains/.
  1. 코드 구조 수치 제약
  • Functions MUST NOT exceed 40 lines of code.
  • Cyclomatic complexity MUST be kept under 8 per function.
  • ALWAYS return Result<T, E> pattern for business layer operations instead of null.

`

إذا تجاوز ملف الإعدادات 200 سطر، فغالبًا ما يتم تجاهل التعليمات اللاحقة.

  • في ملف CLAUDE.md الموجود بالمجلد الجذر، حافظ على أوامر البناء وقواعد الالتزام العامة في حدود 200 سطر.
  • قم بتوزيع قواعد المجلدات الفرعية مثل src/domains/order/ في ملفات القواعد المخصصة داخل هذا المجلد.
  • اكتب الإعدادات الشخصية للمطور في CLAUDE.local.md وسجلها في .gitignore لمنع التعارضات.

3. التحقق التلقائي من الكود المعدل للوكيل عبر الخطافات المحلية (Local Hooks)

يجب اكتشاف أخطاء بناء جملة الكود أو الأخطاء الارتجاعية التي ينشئها الوكيل تلقائيًا وقت الالتزام (Commit). باستخدام أداة Lefthook التي تعمل كملف تنفيذي أحادي لـ Go، يمكنك تشغيل عمليات فحص متوازية بخفة أكبر من الأدوات القائمة على Node.js.

ضع ملف lefthook.yml في الجذر وافصل الفحوصات الثابتة الخفيفة عن خطوات الاختبار الثقيلة.

`yaml
pre-commit:
parallel: true
commands:
linter:
glob: ".{ts,tsx}"
run: npx eslint --fix {staged_files}
stage_fixed: true
formatter:
glob: "
.{ts,tsx,json,md}"
run: npx prettier --write {staged_files}
stage_fixed: true
security-scan:
run: gitleaks git --staged --no-banner

pre-push:
parallel: false
commands:
typecheck:
run: npx tsc --noEmit
unit-tests:
run: npm run test:unit -- --passWithNoTests

`

يقوم pre-commit في مرحلة الالتزام بفحص الملفات المؤقتة في غضون 10 ثوانٍ، بينما ينتقل الفحص الكامل للأنواع واختبارات الوحدة إلى مرحلة الدفع pre-push.

قم بتسجيل أداة اعتراض .claude/hooks/block-no-verify.mjs لمنع الوكيل من تجاوز الخطاف باستخدام خيار --no-verify.

`javascript
import fs from 'fs';

const input = fs.readFileSync(0, 'utf8');
const parsed = JSON.parse(input);

if (parsed.tool_input?.command?.includes('--no-verify')) {
console.error("Policy Violation: `--no-verify` flag is strictly prohibited.");
process.exit(1);
}
process.exit(0);

`

إذا فشل الخطاف، يدخل خطأ وحدة التحكم في المطالبة التالية لكي يقوم الوكيل بتصحيح الكود بنفسه.

4. منع إهدار الرموز عن طريق تقييد نطاق البحث

إذا بدأ الوكيل في قراءة نتائج البناء أو ملفات القفل (Lock files)، فستستنفد الرموز بسرعة. يجب إغلاق نطاق استكشاف الملفات لمنع التكاليف غير المقصودة.

أنشئ ملف .ignore أو .aiderignore في جذر المشروع وسجل الأصول الكبيرة.

`text
node_modules/
dist/
build/
coverage/
*.min.js
*.svg
*.lock
package-lock.json
public/assets/
db/migrations/

`

حتى عند التشغيل من سطر الأوامر، حدد مجلد العمل لحظر الفحص الشامل.

bash aider "Refactor Order validation logic" --path=src/domains/order/ --exclude=src/domains/order/__tests__/

قبل تعديل الكود، قم بتغيير الحالة إلى وضع التخطيط للتحقق من التغييرات أولاً، وكتابة اختبارات وحدة تفشل ثم كتابة الكود الذي ينجح يحافظ على نطاق عمل الوكيل بشكل آمن.