اطلب من وكيل ذكاء اصطناعي أن «يكتب اتفاقية الخدمة لشركة Contoso» وسيفعل ذلك بكلماته الخاصة، وعناوينه الخاصة، ويحسب المجموع في ذهنه. هذا تقسيم غير صحيح للعمل. مع تشغيل GroupDocs.Assembly.Mcp محليًا (dnx GroupDocs.Assembly.Mcp --yes)، يطلب Claude Desktop أو Cursor أو Copilot من قالب Word الخاص بك الحقول التي يحتاجها، يملأها من ملاحظاتك، وتقوم المحرك بإنشاء العقد والجدول والحسابات المضمنة، دون أن يتدخل النموذج في التخطيط:
أنشئ اتفاقية الخدمة لهذا الطلب باستخدام contract-template.docx واحفظها كملف PDF: Contoso Pharma، Keizersgracht 210 Amsterdam، جهة الاتصال Dr. Lena Brandt؛ 12 شهرًا من الاستضافة المدارة بسعر 4,800 EUR، 12 شهرًا من الدعم بسعر 1,200 EUR، ورشة عمل تمهيدية واحدة بسعر 3,500 EUR؛ خصم بنسبة 5 بالمئة.
الإصدار خطوة بخطوة مع الإعدادات واستكشاف الأخطاء موجود في الوثائق: كيفية إنشاء مستندات من القوالب باستخدام وكلاء الذكاء الاصطناعي باستخدام MCP.
لماذا لا يجب على النموذج كتابة المستند؟
لأن المستند المُنشأ يفشل بطرق يصعب ملاحظتها. يبتعد التخطيط عن النسخة القانونية المعتمدة. تُعاد صياغة بند إلى شيء يقرأ جيدًا لكنه يعني شيئًا آخر. يُستنتج المجموع من توقع الرمز التالي بدلاً من الضرب. وكل تشغيل يختلف قليلاً، لذا فإن مراجعة الشهر الماضي لا تعطيك أي فكرة عن عقد هذا الشهر.
القالب يغيّر ذلك. يمتلك القسم القانوني ملف contract-template.docx، مع عناوينه، وقسم التوقيع، وعلامات <<[customer.Name]>>. يتقلص عمل النموذج إلى الجزء الذي يجيده: قراءة بريد إلكتروني أو مجموعة ملاحظات وتحويلها إلى قيم مُهيكلة. يقوم المحرك بالباقي، بنفس الطريقة في كل مرة.
كيف يعرف الوكيل ما الذي يجب ملؤه؟
إنه يسأل القالب. تقوم الدالة get_template_fields بقراءة العلامات دون تشغيل المحرك وتعيد أسماء الحقول التي يستخدمها القالب، كل حقل يقرأه، وهيكل JSON لتعبئته. هذا ما أرجعه الخادم لقالب العقد الخاص بنا:
-> get_template_fields {"template":{"filePath":"contract-template.docx"}}
<- { "tagCount": 17,
"dataSourceNames": [ "contract", "customer", "items" ],
"dataSkeleton": {
"contract": { "Number": "", "Date": "", "Discount": "" },
"customer": { "Name": "", "Address": "", "Contact": "",
"Email": "" },
"items": [ { "Title": "", "Quantity": 0, "UnitPrice": 0 } ] } }
هذا الهيكل هو العقد بين النموذج والمستند. يملأ الوكيل البيانات من نص الطلب ويعيدها كـ dataJson.
ماذا يحدث عندما ينسى الوكيل حقلًا؟
يتم إبلاغه بدقة. في اختبارنا، تركت المحاولة الأولى للوكيل عنوان البريد الإلكتروني للعميل. رفض الخادم وذكر الفجوة:
-> assemble_document {"template":{...},"dataJson":"{... no Email ...}"}
<- Document assembly failed for 'contract-template.docx': ...
Can not get the value of member 'Email' on type ''. The template
reads 'Email', which the data does not have. Check the spelling
(names are case-sensitive) with get_template_fields and add it to
the data. ... pass allowMissingMembers=true to output nothing for
missing members and empty lists.
كان النموذج الذي يكتب نصًا حرًا سيترك السطر مفقودًا بهدوء. هنا يمكن للوكيل أن يطلب منك العنوان، أو يقرر معك أن يبقى الحقل فارغًا.
كامل التبادل
user agent Assembly MCP server
| "Make the contract for this order: ..." |
|-------------->| |
| |-- get_template_fields {"template": |
| | "contract-template.docx"} ------------->|
| |<- dataSkeleton: contract, customer, items --|
| | (fills the skeleton from the order text) |
| |-- assemble_document {"dataJson":"{...}", |
| | "format":"pdf"} ----------------------->|
| |<- Saved to: .../contract-template_ |
| | assembled.pdf ----------------------------|
|<- "Contract ready: 3 items, total 75500 EUR, 5% discount." |
layout, table and arithmetic come from the template
مع إضافة البريد الإلكتروني، نجحت المكالمة الثانية:
-> assemble_document {"template":{"filePath":"contract-template.docx"},
"dataJson":"{...}","format":"pdf"}
<- Assembled 'contract-template.docx' with inline JSON (JSON object)
as PDF
Saved to: .../contract-template_assembled.pdf
يحتوي المستند على جدول رسوم مكوّن من ثلاثة صفوف تم إنشاؤه بواسطة <<foreach>> في صف الجدول، والمبالغ محسوبة بواسطة القالب (<<[item.Quantity * item.UnitPrice]>>)، ومجموع قدره 75500 EUR من items.Sum(...)، والسطر “يُطبق خصم بنسبة 5 بالمئة."، الذي يظهر فقط لأن علامة <<if>> وجدت خصمًا في البيانات. لم يحسب النموذج أيًا من ذلك.
هل هذا أفضل من خدمة القوالب المستضافة؟
إنها مقايضة مختلفة. خدمات القوالب المستضافة تأخذ القالب والبيانات عبر HTTPS، وتُنشئها في سحابتها وتفرض رسومًا لكل مستند أو لكل رصيد. هنا يبقى القالب والبيانات والناتج في مجلد على جهازك؛ المحرك هو GroupDocs.Assembly يعمل داخل العملية، ولا شيء يستمع على منفذ. ما يُرسل إلى مزود النموذج هو نص الطلب الذي تلصقه والهيكل الذي يملأه الوكيل، وليس العقد المُنشأ. الهندسة موضحة في المنشور العائلي حول معالجة المستندات بالذكاء الاصطناعي داخل المؤسسة.
حدود صريحة
- وضع التقييم: يبدأ كل مستند مُنشأ بالسطر “Evaluation Only. Created with GroupDocs.Assembly 26.7…”, وتضيف المصنفات المحفوظة ورقة عمل إضافية, وتحتفظ قوالب البريد الإلكتروني بنصها فقط. ملف الترخيص أو المفاتيح القابلة للقياس يزيلون الثلاثة.
- صيغة القالب هي
<<[name]>>. تُترك عناصر{{name}}كنص؛ وتوضحget_template_fieldsذلك. - القوالب هي مدخلات موثوقة: علامات الصور والوثائق تحمل أي مسار أو URL تُعيده تعبيراتها. قم بربط مجلد واحد للخادم.
- التواريخ: اكتبها كـ
2026-11-12T00:00:00وقم بتنسيقها في القالب (<<[contract.Date]:"d MMMM yyyy">>). تاريخ فقط"2026-11-12"يُطبع كـ 11 نوفمبر على جهاز UTC+2 في اختبارنا. - الوكيل هو مصدر البيانات. اطلب منه سرد القيم التي استخرجها قبل أن يُنشئ المستند، وراجعها.
الأسئلة المتكررة
هل يمكن لوكيل الذكاء الاصطناعي ملء قالب Word الخاص بي دون رفعه؟
نعم. يعمل الخادم محليًا عبر stdio ويقرأ القالب من المجلد الذي تُعده؛ يُكتب الناتج بجواره.
ما هي الصيغ التي يمكن أن يكون القالب بها؟
قوالب Word، Excel، PowerPoint، Markdown، HTML، النص والبريد الإلكتروني؛ يمكن حفظ كل منها بصيغتها الخاصة أو إلى PDF وغيرها. تُظهر get_supported_formats الصيغ المتاحة لكل قالب.
ماذا لو كان القالب يُدار من قبل شخص آخر؟
هذا هو الهدف. من يمتلك القالب يغيّر البنود والتخطيط؛ يواصل الوكيل ملء نفس الهيكل، وتُظهر get_template_fields أي حقل جديد في المرة التالية التي يطلب فيها.
تعمق أكثر
- الوثائق، دليل الاستخدام الرسمي: كيفية إنشاء مستندات من القوالب باستخدام وكلاء الذكاء الاصطناعي باستخدام MCP
- من بريد إلكتروني أو ملاحظات إلى مستند: كيفية تحويل الملاحظات أو البريد الإلكتروني إلى مستند نهائي باستخدام وكيل ذكاء اصطناعي
- مركز الوثائق: خادم GroupDocs.Assembly MCP
- ذات صلة: مائة ملف PDF مخصص من طلب واحد: دمج بريد مع وكيل ذكاء اصطناعي
- ذات صلة: ماذا يحتاج هذا القالب؟ اسألّه.
- ذات صلة: الرسم البياني يأتي من القالب، والأرقام تأتي من البيانات
- ذات صلة: مستودعك يحتوي بالفعل على البيانات؛ دع الوكيل يُنشئ ملف PDF
- ما الجديد في المحرك: GroupDocs.Assembly for .NET 26.7
- داخل المؤسسة ونموذج الأمان: 3 بنى لمعالجة المستندات بالذكاء الاصطناعي، والواحدة التي تحتفظ بالملفات داخل شبكتك
- الأسئلة: منتدى GroupDocs Assembly
- المصدر: GroupDocs.Assembly.Mcp على GitHub · حزمة NuGet