TL;DR
- ما به این باور میرسیم که ترکیب یک عامل خط فرمان مانند Claude Code یا Gemini CLI.
- با ابزار گستردهای که در حال حاضر در یک سیستم فایل مشابه یونیکس وجود دارد،.
- برای تکمیل طیف گستردهای از وظایف با وفاداری بسیار بالا کافی است.
چه اتفاقی افتاد
ما به این باور میرسیم که ترکیب یک عامل خط فرمان مانند Claude Code یا Gemini CLI. با ابزار گستردهای که در حال حاضر در یک سیستم فایل مشابه یونیکس وجود دارد،.
برای تکمیل طیف گستردهای از وظایف با وفاداری بسیار بالا کافی است. ما میخواستیم آن نظریه را آزمایش کنیم.
بخشی از انگیزه ما این است که اخیرا SemTools را منتشر کردیم،. یک جعبه ابزار برای تجزیه و جستجوی معنایی در CLI.
SemTools را میتوان در اختیار عوامل خط فرمان قرار داد و ابزارهای بیشتری را برای تجزیه اسناد. پیچیده و جستجوی معنایی آنها با جستجوی معنایی فازی در اختیار آنها قرار داد.
چیزی که میخواستیم آزمایش کنیم این بود:. آیا ترکیبی از ابزارهای یونیکس مانند grep،.
find و جستجوی معنایی تنها چیزی است که نیاز دارید؟ برای آزمایش آن تئوری،.
ما یک معیار غیررسمیبرای آزمایش محدودیتهای عوامل کدنویسی برای جستجوی سند ایجاد کردیم تا بتوانیم به آن. سؤال پاسخ دهیم.
امروز برنامههای رایگان و پولی ما را کاوش کنید. SemTools چه کاری انجام میدهد؟
SemTools دو ابزار اصلی را ارائه میدهد:. تجزیه - یک ابزار CLI که LlamaParse را برای تجزیه فرمتهای پیچیده به علامت گذاری فراخوانی می.
کند. به این ترتیب، میتوانید فرمتهای فایلهایی را که قبلا غیرقابل جستجو بودند، جستجو کنید.
جستجو - یکی دیگر از ابزارهای CLI که از جاسازیهای ایستا برای جاسازی اسناد در جریان استفاده. میکند و سپس جستجوی معنایی را انجام میدهد.
با توجه به ماهیت تعبیههای استاتیک، میتوانید این را بهعنوان یک جستجوی معنایی فازی در نظر بگیرید. بهطور خاص، از مدل model2vec از MinishLab، minishlab/potion-multilingual-128M استفاده میکند.
با ارائه این دو ابزار به عواملی مانند کلود و جمینی،. میتوانید بهطور جدی توانایی آنها را برای کاوش در سیستم فایل و پاسخ به سؤالات مربوط به.
اسناد خود ارتقا دهید و آنها را به یک کارگر دانش کامل تبدیل کنید. معیار مجموعه داده برای آزمایش تأثیرات دسترسی عوامل به SemTools،.
مجموعه دادهای از 1000 مقاله از ArXiv را برای آزمایش کلود-کد برای جستجوی سند جمع آوری کردیم. برای این آزمایش،.
ما میخواستیم فقط بر روی آزمایش ابزار جستجو تمرکز کنیم،. بنابراین نسخههای HTML مقالات را دانلود کرده و آنها را به متن تبدیل کردیم.
سپس،. مقالات را در یک ساختار دایرکتوری متشکل از متن کامل،.
و فهرستهای دیگری که به متن کامل پیوند دارند،. اما به روشهای مختلف دهی شدهاند،.
دهی کردیم. نمونهای از ساختار دایرکتوری در زیر نشان داده شده است: .
/arxiv_dataset_1000_papers/ ├── by_author/ │ ├── Aadhrik_Kulia │ │ ├└─ ├│││ 2507. 2xltext7.
├── by_category/ │ ├── cs. AI │ │ ├── 2505.
20278 └└ x text. ├── by_date/ │ ├── 2025-05 │ │ ├── 2505.
20277v2_fulltext. txt │─│ └── .
├── full_text/ │ ├── 2505. 20277v2.
مجموعه داده کامل برای دانلود از فضای ذخیره سازی ابری موجود است و اسکریپتی که مجموعه داده را. ایجاد کرده است در مخزن موجود است.
برای پیکربندی کلود با پس زمینه مناسب اطلاعات، ما دو فایل CLAUDE. md ایجاد کردیم:.
هر دو مجموعه داده را توصیف میکنند،. در حالی که فایل دوم ابزار جستجو و نحوه استفاده از آن را نیز توضیح میدهد.
شما میتوانید هر دو فایل پیکربندی را در مخزن پیدا کنید. سؤالات با یک مجموعه داده ساخته شده و نماینده ما پیکربندی شده،.
ما فقط باید سؤالاتی را برای پرسیدن طراحی کنیم. برای انجام این کار،.
ما پنج دسته سؤال را ایجاد کردیم که هر کدام دارای پنج سؤال بود:. جستجو و فیلتر -- سؤالاتی که توانایی عامل را برای جستجو و فیلتر کردن مرجع متقاطع مجموعه داده.
و روابط آزمایش میکند -- سؤالاتی که توانایی عامل را در ارجاع متقاطع و یافتن روابط بین. مقالهها تجزیه و تحلیل زمانی میسنجد -- سؤالاتی که توانایی عامل را برای تجزیه و تحلیل.
اطلاعات در طول زمان از مجموعه داده آزمایش میکند. ارزیابی نتایج با چنین مجموعه داده بزرگ،.
و ماهیت باز بودن سوالات،. تایید کامل پاسخها یک چالش است.
در عوض،. ما یک رویکرد مبتنی بر vibes را برای ارزیابی نتایج در نظر گرفتیم:.
صرفاً از کلود کد میخواهیم بررسی کند که آیا پاسخ حاوی اطلاعات نادرست است یا خیر،. با بررسی مقالات/نویسندگان مستقیمیکه پاسخ ذکر میکند،.
و همچنین بررسی خودمان. نتایج واقعی در زیر،.
دقت و تفاوتهای کلیدی بین روشهای جستجو با جستجو و بدون جستجو را به تفصیل شرح میدهیم. میتوانید ردپاهای کامل پاسخ را از کلود کد در مخزن بیابید.
جستجو و فیلتر در اینجا،. هم با روش جستجو و هم بدون جستجو قادر به یافتن اطلاعات دقیق هستند.
هزینههای توکن عمدتاً قابل مقایسه هستند،. اما تفاوت اصلی که ما متوجه شدیم این بود که پاسخها با جستجو دقیقتر بودند و حاوی اطلاعات.
بیشتری بودند. بدون پاسخهای جستجو تمایل کمتری به نگاه کردن به مجموعه داده داشت و بنابراین اطلاعات کمتری را.
برگرداند. بهعنوان مثال برای جستار یافتن مقالاتی که در مورد «مکانیسمهای توجه» بحث میکنند،.
با رویکرد جستجو متوجه شد که تواناییهای جستجوی فازی معنایی ابزار مناسبی برای کار است. در بدون جستجو،.
عامل باید بهطور کامل بر فراخوانی grep تکیه میکرد،. که توسط توانایی عامل برای تولید مترادف محدود میشود.
در آنجا حتی خیلی تلاش نکرد و مستقیماً به دنبال «مکانیسم توجه» بود. ارجاع متقابل و روابط با سؤالات پیچیدهتر، ما همچنان همان الگو را میبینیم.
پاسخهای جستجو با جزئیات بیشتر و حاوی اطلاعات بیشتری هستند،. در حالی که پاسخهای بدون جستجو تمایل کمتری به نگاه کردن به مجموعه دادهها دارند و بنابراین اطلاعات.
کمتری را برمیگردانند. به نظر میرسد که پاسخها در هر دو مورد دقیق هستند.
بهعنوان مثال دو سوال جالب در اینجا این بود که کدام نویسندگان روی هر دو "ترانسفورماتور" و "شبکه. عصبی گراف" کار میکنند؟
و روابط دقیق هم نویسندگان را برای مقالاتی که حاوی «فرادآموزی» هستند بیابید. در هر دو مورد،.
برای استفاده از ابزار Task() در Claude-Code،. بدون پاسخهای جستجو نیاز است برای انجام تحقیقات گسترده این باعث استفاده از توکن،.
فراخوانی ابزار و تأخیر زیادی شد. از سوی دیگر،.
با جستجو،. عامل توانست به سرعت مقالاتی را پیدا کند که در مورد این بحث میکنند و نویسندگان را.
برای تجزیه و تحلیل بیرون میکشد. تحلیل زمانی این دسته از سوالات مسلماً حتی با جستجوی معنایی خوب بسیار دشوار است.
با این حال،. مجدداً میبینیم که الگوی مشابهی مانند قبل ظاهر میشود:.
پاسخهای جستجو با جزئیات بیشتر و حاوی اطلاعات بیشتری هستند،. در حالی که پاسخهای بدون جستجو جزئیات کمتری دارند.
جالب توجه است که در بیش از چند مورد،. عامل تلاش کرد تا کد پایتون بنویسد تا تجزیه و تحلیل اولیه NLP را برای پاسخ به این.
سوالات انجام دهد که بسیار خلاقانه بود. بهعنوان مثال سوال نویسندگانی را بیابید که تمرکز تحقیقاتی را بین ماهها تغییر دادهاند،.
در صورت وجود،. عامل در هر دو مورد باعث میشود که در هر دو مورد تک تک کلمات را تجزیه و.
تحلیل کند،. به دنبال و چگونگی تغییر آنها در طول ماهها برای نویسندگانی که آثار متعددی دارند بپردازد.
بین ماهها یادگیری یکی از یادگیریهای کلیدی برای ما در مورد زمان اجرا بود -- با. 1000 فایل و 4 میلیون خط متن،.
اجرای جستجو در مجموعه داده کامل کندتر از آنچه ما میخواهیم است. ما فعالانه در حال کار بر روی بهبود این امر با ترکیب جاسازیهای مداوم در ابزار جستجو و.
بازیابی گسترده در سطح سند هستیم. کاربران باید بتوانند یک "مجموعه کاری" مرتبط از اسناد را وارد کنند و سپس از جستجو برای یافتن.
اطلاعات مرتبط با استفاده از جاسازیهای ریزدانه استفاده کنند. آموختههای دیگر ما این بود که دسترسی CLI نسبت به تلاشی که برای ایجاد آن انجام میشود،.
بسیار قدرتمند است،. که عمدتاً به دلیل مزیت ابزارهای عظیمیاست که قبلاً توسط یونیکس ارائه شده است.
میزان تلاش برای راه اندازی ابزارهای عامل برای انجام همان کاری که CLI از قبل فراهم میکند،. زیاد خواهد بود.
توانایی نگاه کردن به فایلها، grep، جستجو و غیره بسیار سریعتر از ساختن RAG خودتان است. غذای آماده ما: بله.
بهطور کلی،. ارائه دسترسی یک عامل به CLI ثابت میکند که یک پایه قدرتمند برای جستجوی اسناد و RAG.
است. عاملها میتوانند بهطور موثر از ابزارهایی مانند grep برای ایجاد مترادفها و جستجوی الگوهای خاص.
در متن استفاده کنند. هنگامیکه به SemTools دسترسی داده میشود،.
نمایندگان میتوانند اطلاعات دقیق و مرتبطتری را پیدا کنند! با توجه به قدرت و انعطاف پذیری این رویکرد،.
ما فکر میکنیم که اغلب میتواند تمام چیزی باشد که برای انجام وظایف خود به آن. نیاز دارید.
آیا استفاده از SemTools را امتحان کرده اید؟ نظر شما چیست؟
به ما اطلاع دهید و در پروژه GitHub شرکت کنید!
چرا مهم است
اهمیت این خبر در این است که روی استفاده واقعی از AI و تصمیمگیری سازمانی اثر میگذارد.
منبع
لینک منبع اصلی در کارت و صفحه مقاله نمایش داده میشود.
