تصور کنید یک سند فنی را دقیقاً از وسط یک جمله حیاتی نصف کنید؛ در این لحظه، معنای بردار معنایی (Embedding) — که مثل کارت معرفی عددی برای هر واژه است و میگوید این کلمه همسایهی چه کلمات دیگری است — بهطور کامل تخریب میشود. برای حل این بحران، کتابخانه متنباز chunk-lite در ۲۷ اوت ۲۰۲۶ منتشر شد تا تکهبندی آگاه از مرزها را به پیشفرض خطلولههای تولید بازیابیافزا (RAG) تبدیل کند. این رویکرد در راستای تلاشهای گستردهتر برای کاهش توهمات مدلهای زبانی از طریق اتصال به دانش خارجی است که دقت پاسخها را تضمین میکند.
بسیاری از توسعهدهندگان در حال حاضر از تکهبندیهای ساده با اندازه ثابت استفاده میکنند؛ مثلاً در فریمورکهایی مثل LangChain، تکههای ۱۰۰۰ توکنی با همپوشانی ۲۰۰ توکنی ایجاد میکنند و امیدوارند نتیجه خوب باشد. طبق گزارش مستندات این پروژه، این رویکرد تکههایی میسازد که از وسط یک ایده شروع میشوند و منجر به بردارهای «تار» میشوند که بازیابی ضعیفی دارند. همانطور که در تحلیلهای قبلی ما دربارهی بهینهسازی بازیابی دادهها اشاره کردیم، فقدان بستر (Context) در هر تکه، دقت مدل را بهشدت کاهش میدهد. در واقع، بسیاری از ناکارآمدیهای سیستمهای فعلی ناشی از خطاهای لایه بازیابی است تا نقص در لایه تولید متن، که باعث میشود مدل حتی با داشتن دانش، نتواند قطعه درست را پیدا کند.
به نقل از مستندات chunk-lite در وبسایت dev.to، این ابزار برای حفظ انسجام از سه مکانیزم خاص استفاده میکند:
- بستهبندی اولویتدار جملات: متن جمله به جمله بستهبندی میشود و تنها زمانی به مرز کلمات رجوع میکند که یک جمله بهتنهایی از حد
maxTokensبیشتر باشد. - توکنسازی سفارشی: بهصورت پیشفرض از یک روش تخمینی (۴ کاراکتر برای هر توکن) استفاده میکند، اما اجازه میدهد کاربر ابزارهایی مثل tiktoken را جایگزین کند.
- قابلیت ردیابی: هر تکه شامل مقادیر
startOffsetوendOffsetاست تا توسعهدهنده بتواند متن بازیابیشده را دقیقاً به منبع اصلی برای ارجاع متصل کند.
این تغییر رویکرد، فرض بنیادی پیشپردازش در RAG را عوض میکند. chunk-lite بهجای treating متن به عنوان جریانی خام از توکن (Token) — که مثل برشهای یک کیک طولانی است که مدل تکهتکه میخورد — با آن به عنوان مجموعهای از واحدهای معنایی برخورد میکند. این کار ریسک «حقایق نامرئی» را حذف میکند؛ یعنی زمانی که یک اطلاعات کلیدی بین دو تکه مختلف تقسیم شده و مدل هر دو را بهطور مجزا میبیند.
برای توسعهدهندگان، این یعنی تماسهای کمتر با مدلهای Embedding و کاهش هزینههای ذخیرهسازی. وقتی برشها کورکورانه نباشند، دیگر نیازی به همپوشانیهای (Overlap) عظیم برای جبران خطاهای تکهبندی نیست. حالا میتوانید سلامت ساختاری یک فکر را بر محدودیت صلب پنجره متنی ترجیح دهید.
گام بعدی شما
- نصب بسته از طریق npm برای جایگزینی تکهبندیهای ساده در پروژههای فعلی.
- مطالعه فایل CASE_STUDY.md در گیتهاب پروژه برای درک موازنه بین مرزها و اندازه تکهها.
- تست نرخ دقت بازیابی (Retrieval Accuracy) در دادههای پیچیده پس از تغییر متد تکهبندی.
اما بهینهسازی لایه بازیابی تنها نیمی از مسیر است؛ اثر بازرتبهبندی (Reranking) بر کیفیت نهایی پاسخها را در گزارش بعدی بررسی خواهیم کرد.




گفتگو