تتزايد أهمية توليد الكود على مستوى المستودعات (repository-level code generation) في السنوات الأخيرة، حيث يتطلب ذلك من النماذج فهمًا شاملاً لمحتوى المستودع، بما في ذلك التفكير في الترابطات المعقدة بين الوظائف، والفئات، والوحدات. في سياق هذه التحديات، نجد أنه على الرغم من أن الأساليب التقليدية مثل توليد الكود المعزز بالاسترجاع (retrieval-augmented generation) أو اختيار الوظائف المعتمد على السياق (context-based function selection) تظهر نتائج إيجابية، إلا أنها غالبًا ما تعتمد فقط على التشابه السطحي، مما يجعلها غير قادرة على استيعاب الترابطات الغنية التي تحكم دلالات المستودع.

لذا، نرحب بـ InlineCoder، الإطار الجديد الذي تم تقديمه لتوليد الكود على مستوى المستودعات. يقوم InlineCoder بتحسين فهم سياق المستودع من خلال إدماج الوظائف غير المكتملة في رسومها البيانية، مما يُعيد صياغة فهم المستودع كمهام توليد كود على مستوى الوظائف، التي تعد أسهل وأقل تعقيدًا.

بمجرد تلقيها لتوقيع وظيفة، يبدأ InlineCoder في توليد إكمال أولي يُدعى "المثبت" (anchor)، الذي يقرب الاعتماديات المستقبلية، ويسمح بتقدير الثقة القائم على التعقيد (perplexity). يقود هذا المثبت عملية إدماج ثنائية الاتجاه:
1. **الإدماج العلوي** (Upstream Inlining): والذي يقوم بإدراج المثبت في متصلاته لالتقاط سيناريوهات استخدام متنوعة؛
2. **الاسترجاع السفلي** (Downstream Retrieval): الذي يدمج المستدعين للمثبت في الرسالة لتحسين دقة سياق الاعتماديات.

يمكّن السياق الغني، الذي يجمع بين الإكمال الأولي ووجهات النظر العلوية والسفلية، النموذج اللغوي الكبير (Large Language Models) من الحصول على رؤية شاملة للمستودع. في عالم البرمجة حيث تعد الكفاءة والدقة من العوامل الأساسية، يمثل InlineCoder خطوة واعدة نحو الابتكار.