تشريح المطالبات النظامية

حقن السياق والمطالبات الديناميكية

4 دقيقة للقراءة

المطالبات الثابتة قوالب؛ المطالبات الديناميكية أنظمة حية. حقن السياق يحول التعليمات العامة إلى مساعدين واعين بالموقف.

ما هو حقن السياق؟

حقن السياق هو ممارسة إدراج معلومات وقت التشغيل في المطالبات النظامية:

Static: "You are a coding assistant."

Dynamic: "You are a coding assistant working on {{project_name}},
         a {{framework}} project in {{language}}. The user is
         {{username}} with {{permission_level}} access."

فئات السياق

1. سياق البيئة

معلومات عن بيئة التنفيذ:

<environment>
  <working_directory>/Users/dev/my-project</working_directory>
  <platform>darwin</platform>
  <os_version>Darwin 24.6.0</os_version>
  <shell>zsh</shell>
  <node_version>20.10.0</node_version>
  <python_version>3.12.1</python_version>
</environment>

2. سياق المستخدم

معلومات عن المستخدم الحالي:

<user>
  <id>user_12345</id>
  <name>Alice Developer</name>
  <role>senior_engineer</role>
  <preferences>
    <language>typescript</language>
    <style>functional</style>
    <verbosity>concise</verbosity>
  </preferences>
</user>

3. سياق المشروع

معلومات عن قاعدة الكود:

<project>
  <name>my-saas-app</name>
  <framework>Next.js 15</framework>
  <language>TypeScript</language>
  <package_manager>pnpm</package_manager>
  <structure>
    - src/app (App Router)
    - src/components
    - src/lib
    - prisma/schema.prisma
  </structure>
</project>

4. سياق المحادثة

معلومات عن التفاعل الحالي:

<conversation>
  <message_count>12</message_count>
  <current_task>implementing user authentication</current_task>
  <files_modified>
    - src/lib/auth.ts
    - src/app/api/auth/route.ts
  </files_modified>
  <pending_actions>
    - Run tests
    - Update documentation
  </pending_actions>
</conversation>

أنماط السياق من العالم الحقيقي

حقن سياق Cursor

Cursor يحقن سياق قاعدة كود غني:

<codebase_context>
Recently opened files:
- src/components/Button.tsx (modified 2 min ago)
- src/hooks/useAuth.ts (modified 5 min ago)

Symbols in scope:
- Button: React.FC<ButtonProps>
- useAuth: () => AuthContext
- api: AxiosInstance

Related files (by import graph):
- src/types/auth.ts
- src/lib/api-client.ts
</codebase_context>

حقن سياق Claude Code

Claude Code يتضمن حالة التنفيذ:

<session_context>
  <git_status>
    branch: feature/auth
    staged: 2 files
    unstaged: 1 file
    untracked: 0 files
  </git_status>
  <recent_commands>
    - npm test (exit: 1, 3 failures)
    - npm run lint (exit: 0)
  </recent_commands>
  <active_todos>
    - Fix test failures in auth.test.ts
    - Update README with new API docs
  </active_todos>
</session_context>

سياق ذاكرة Windsurf

Windsurf يحقن التفضيلات المتعلمة:

<memories>
  <memory importance="high">
    User prefers Tailwind CSS for styling
  </memory>
  <memory importance="medium">
    Project uses PostgreSQL with Prisma ORM
  </memory>
  <memory importance="low">
    User likes detailed commit messages
  </memory>
</memories>

أنماط حقن السياق

النمط 1: XML/JSON مهيكل

<context type="environment">
  <key>value</key>
</context>

المزايا: سهل التحليل، حدود واضحة العيوب: مطول، يستهلك الرموز

النمط 2: لغة طبيعية

The user is working on a Next.js project called "my-app"
located at /Users/dev/my-app. They prefer TypeScript and
use pnpm as their package manager.

المزايا: صديق للنموذج، مرن العيوب: أصعب للتحديث برمجياً

النمط 3: أزواج مفتاح-قيمة

PROJECT_NAME: my-app
FRAMEWORK: Next.js 15
LANGUAGE: TypeScript
PACKAGE_MANAGER: pnpm

المزايا: مدمج، قابل للمسح العيوب: هيكل محدود

تجميع المطالبات الديناميكية

الأنظمة الإنتاجية تجمع المطالبات برمجياً:

function buildSystemPrompt(context: Context): string {
  const sections = [
    buildIdentity(context.model),
    buildCapabilities(context.tools),
    buildEnvironment(context.env),
    buildProjectContext(context.project),
    buildUserContext(context.user),
    buildGuidelines(context.rules),
    buildConstraints(context.limits),
  ];

  return sections.join('\n\n');
}

إدارة ميزانية الرموز

حقن السياق يتطلب إدارة رموز دقيقة:

نوع السياقالرموز النموذجيةالأولوية
الهوية الأساسية200-500حرجة
تعريفات الأدوات1,000-3,000حرجة
البيئة100-300عالية
هيكل المشروع500-2,000عالية
الملفات الأخيرة1,000-5,000متوسطة
تاريخ المحادثةمتغيرمتوسطة
الذكريات200-1,000منخفضة

نصيحة احترافية: استخدم تحميل السياق المتدرج—احقن السياق الأساسي دائماً، وأضف السياق المفصل فقط عندما يكون ذا صلة بالمهمة.

حداثة السياق

السياق القديم يسبب أخطاء. الأنظمة الإنتاجية تنفذ استراتيجيات تحديث:

const contextRefreshRules = {
  environment: 'on_session_start',
  git_status: 'before_each_command',
  file_contents: 'on_file_change',
  memories: 'on_session_start',
  conversation: 'always_current',
};

الوحدة التالية: سنتعمق في أنماط محددة من مساعدي البرمجة بالذكاء الاصطناعي مثل Cursor و Windsurf و Claude Code. :::

مراجعة سريعة: كيف تجد هذا الدرس؟

اختبار

الوحدة 1: تشريح المطالبات النظامية

خذ الاختبار
نشرة أسبوعية مجانية

ابقَ على مسار النيرد

بريد واحد أسبوعياً — دورات، مقالات معمّقة، أدوات، وتجارب ذكاء اصطناعي.

بدون إزعاج. إلغاء الاشتراك في أي وقت.