پرش به محتوای اصلی
پرش به محتوای مقاله

کالبدشکافی Sentience: دستیار محلی با ۸۱ ابزار برای حذف «جعبه سیاه» هوش مصنوعی

·۱۹ خرداد ۱۴۰۵۵ دقیقه مطالعه۲ بازدید
کالبدشکافی Sentience: دستیار محلی با ۸۱ ابزار برای حذف «جعبه سیاه» هوش مصنوعی
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

نوآوری اصلی در استفاده از مدل‌های Pydantic برای اجبار مدل‌های زبانی به تولید خروجی‌های ساختاریافته است؛ این کار باعث می‌شود ابزارهای محلی برخلاف نمونه‌های قبلی، در مواجهه با مدل‌های مختلف (از Ollama تا Groq) دچار خطای سینتکسی نشوند.

اگر از پرداخت‌های ماهانه برای اشتراک‌های هوش مصنوعی و ارسال دائمی داده‌های حساس به سرورهای خارجی خسته شده‌اید، Sentience نقشه‌ی راهی برای یک جایگزین کاملاً خصوصی و محلی است. این پروژه‌ی متن‌باز که در ۸ ژوئن ۲۰۲۶ عرضه شد، ثابت می‌کند یک عامل هوشمند با کاربرد بالا می‌تواند به‌طور کامل روی سخت‌افزار شما اجرا شود بدون اینکه قدرت پردازشی‌اش فدا شود.

بسیاری از دستیارهای مدرن فعلاً شبیه پنجره‌های چت ساده‌ای هستند که به یک ویرایشگر متصل شده‌اند؛ مثل Cursor یا VS Code. اما Sentience این طراحی را وارونه کرده و هوش مصنوعی را به سطح اصلی یک پنجره‌ی دسکتاپ تبدیل می‌کند. این سیستم به عنوان یک عامل محلی عمل می‌کند که به بازارچه‌های ابری یا صورت‌حساب‌های تکرارشونده وابسته نیست و تضاد شدیدی با روند متمرکزسازی فعلی در عصر هوش مصنوعی دارد.

بستر معماری

به نقل از تحلیل فنی توسعه‌دهنده در وب‌سایت dev.to، این سیستم با حدود ۶۲۰۰ خط کد پایتون نوشته شده است. این برنامه تحت لایسنس MIT منتشر شده و برای بهره‌وری حداکثری طراحی شده است؛ به‌طوری که در حالت شروع سرد (Cold Start)، در کمتر از یک ثانیه باز می‌شود.

رابط کاربری شامل سه ویجت اصلی است: یک نوار کناری برای درخت فایل‌ها، یک ویرایشگر کد QScintilla با قابلیت هایلایت نحو (Syntax Highlighting) و یک پنل چت که نقطه ورود به عامل است. در پایین این بخش‌ها، یک ترمینال داخلی برای دسترسی مستقیم به شل (Shell) قرار دارد.

همان‌طور که در تحلیل‌های پیشین ما درباره‌ی امنیت مدل‌های بازمتن اشاره کردیم، کنترل کامل بر محیط اجرا، کلید حریم خصوصی است. معماری این پروژه برای حفظ سرعت و محرمانگی از این پشته استفاده می‌کند:

  • مدیریت پنجره: PySide6 (Qt 6.5+)
  • ویرایشگر کد: QScintilla با LSP روی stdin
  • ترمینال: QTermWidget برای اجرای bash
  • منطق عامل: حلقه‌ی سفارشی ReAct با طرح‌واره‌های ابزار Pydantic
  • ذخیره‌سازی: SQLite ترکیب‌شده با sqlite-vec برای بردار معنایی (Embedding) — مثل کارت معرفی عددی برای هر واژه که می‌گوید این کلمه «همسایه‌ی» چه کلمات دیگری است.
  • بسته‌بندی: PyInstaller (پشتیبانی از Windows .exe و Linux AppImage)

جزئیات عامل و سازوکارها

هسته‌ی Sentience بر یک حلقه‌ی «استدلال $\rightarrow$ اقدام $\rightarrow$ مشاهده» یا همان ReAct استوار است. برخلاف عامل‌هایی که از تجزیه متنی آزاد استفاده می‌کنند، Sentience الزام می‌کند هر ابزار یک مدل Pydantic با طرح‌واره JSON سخت‌گیرانه باشد.

طبق مستندات پروژه، این رویکرد باعث می‌شود:

  • طرح‌واره‌های سخت: ابزارهایی مثل ReadFileTool فیلدهای دقیقی را تعریف می‌کنند؛ برای مثال فیلد path باید مسیر مطلق باشد و فیلدهای start_line و end_line باید اعداد صحیح باشند. این کار تضمین می‌کند که مدل آرگومان‌های معتبر بفرستد.
  • مدیریت خطا: اگر مدل یک فراخوانی ابزار اشتباه یا بدشکل تولید کند، خطای pydantic.ValidationError توسط سیستم گرفته می‌شود و به‌جای کرش کردن، مدل دوباره برای اصلاح پرامپت می‌شود.
  • پرامپت سیستمی: مدل در یک پیام سیستمی واحد از تمام ۸۱ ابزار موجود باخبر می‌شود. در هر نوبت، مدل باید یک شیء JSON برگرداند که شامل یک «تفکر» (thought) و یک «ابزار» (tool) به همراه آرگومان‌هایش باشد، یا اینکه شامل یک «تفکر» و «پاسخ نهایی» (final_answer) باشد.

این عامل ۸۱ ابزار درجه‌یک دارد. یکی از جسورانه‌ترین آن‌ها edit_own_source است که به هوش مصنوعی اجازه می‌دهد کد خودش را تغییر دهد. برای جلوگیری از خرابی‌های فاجعه‌بار، دو لایه حفاظتی تعبیه شده است:

۱. تایید کاربر: سیستم پیش از تغییر نهایی، یک Diff (تفاوت کد) را نمایش داده و نیاز دارد کاربر مقدار confirm=True را تایید کند.
۲. محدودیت مسیر: این ابزار هرگونه مسیر فایلی که خارج از پوشه‌ی تعیین‌شده‌ی src/ باشد را رد می‌کند.

علاوه بر این، پیش از هر عملیات نوشتن، یک فایل پشتیبان با برچسب زمانی (مثلاً .bak.[timestamp]) ایجاد می‌شود تا امکان بازگشت به حالت قبل وجود داشته باشد.

همچنین، یک انتخاب طراحی حیاتی، ترمینال داخلی است. وقتی عامل یک دستور شل را اجرا می‌کند، از یک زیر-پروسه‌ی پنهان استفاده نمی‌کند؛ بلکه دستور را مستقیماً به QTermWidget می‌فرستد. این یعنی کاربر دقیقاً می‌بیند چه اتفاقی در لحظه می‌افتد، می‌تواند تاریخچه را به عقب اسکرول کند و هر پردازش خطرناکی را با Ctrl-C متوقف کند. این شفافیت، ریسک اجرای دستورات مخربی مثل rm -rf در پس‌زمینه را کاملاً حذف می‌کند.

حافظه و یکپارچه‌سازی ارائه‌دهندگان

برای حافظه، Sentience از پایگاه‌های داده ابری سنگین مثل Pinecone دوری کرده است. این سیستم از یک جدول SQLite محلی با جدول مجازی vec0 برای بردارها استفاده می‌کند که توسط مدل nomic-embed-text از طریق Ollama به‌صورت محلی محاسبه می‌شوند. سیستم از ابزار remember برای نوشتن سطرها و ابزار recall برای انجام جستجوی کسینوسی top-k و بازگرداندن متن‌های متصل‌شده استفاده می‌کند.

اگرچه سیستم برای Ollama بهینه شده، اما از یک پروتکل ارائه‌دهنده (Provider) استفاده می‌کند که اجازه می‌دهد بدون تغییر در حلقه‌ی اصلی، با OpenAI، Anthropic یا Groq کار کند.

  • Ollama: اتصال از طریق http://localhost:11434/api/chat با استفاده از مدل‌هایی مثل llama3.2:3b.
  • OpenAI: استفاده از gpt-4o-mini به طوری که تعاریف ابزارها به فرمت توابع خاص این ارائه‌دهنده نگاشت می‌شوند.

در واقع، طرح‌واره JSON ابزار به عنوان یک قرارداد جهانی بین عامل و مدل زبانی (LLM) عمل می‌کند.

برای یک توسعه‌دهنده، این تغییر به معنای گذار از «مهندسی پرامپت» به «مهندسی ابزار» است. تمرکز از «چگونه سوال پرسیم» به «چگونه طرح‌واره‌ای سخت تعریف کنیم که AI بتواند به‌طور قابل‌اعتماد اجرا کند» تغییر می‌کند. این ثابت می‌کند مدل‌های زبانی محلی اگر محدودیت‌ها به اندازه کافی سخت‌گیرانه باشند، می‌توانند گردش‌های کاری پیچیده را مدیریت کنند.

این معماری این فرض را که عامل‌های پیچیده به زیرساخت‌های ابری عظیم نیاز دارند، به چالش می‌کشد. با ترکیب یک ذخیره‌ساز برداری محلی سریع و یک لایه اجرای شفاف، Sentience الگویی برای محاسبات محلیِ خودگردان و امن ارائه می‌دهد.

به‌روزرسانی‌های آینده شامل حالت استریم (Streaming) برای پنل چت جهت حذف پاسخ‌های تکه‌تکه (Chunky) و یک ابزار بصری برای بررسی تغییرات کد (Diff Tool) خواهد بود. توسعه‌دهنده همچنین قصد دارد یک «سجل مهارت‌ها» (Skills Registry) ایجاد کند؛ مانیفست‌های JSON کوچکی که ۳ تا ۵ ابزار را در یک قابلیت نام‌گذاری‌شده بسته‌بندی می‌کنند، مشابه ویژگی‌های موجود در Claude و Cursor.

گام بعدی شما

  • اگر توسعه‌دهنده هستید، مخزن GitHub پروژه را در github.com/AmSach/sentience بررسی کنید تا نحوه پیاده‌سازی حلقه‌ی ReAct با Pydantic را ببینید.
  • برای اجرای محلی، پیش‌نیازها را با دستور pip install pyside6 openai anthropic aiohttp requests نصب کنید.
  • مدل‌های کوچک اما سریع مثل llama3.2:3b را در Ollama امتحان کنید تا سرعت پاسخ‌دهی عامل را بسنجید.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این پروژه با تکیه بر اعتبار مجوز MIT، استانداردی جدید برای توسعه‌ی ابزارهای محلی تعریف می‌کند که امنیت و حریم خصوصی را فدای خودکارسازی نمی‌کند. این رویکرد باعث می‌شود توسعه‌دهندگان بتوانند بدون ترس از خطاهای غیرقابل‌پیش‌بینی، ابزارهای Agentic را در محیط Production محلی مستقر کنند.

تأثیر برای ایران

این پروژه برای برنامه‌نویسان ایرانی که به دلیل تحریم‌ها به APIهای ابری دسترسی محدود دارند، راهکاری ایده‌آل است. آن‌ها می‌توانند با استفاده از Ollama، محیطی کاملاً محلی و قدرتمند بدون نیاز به پرداخت ارزی بسازند.

·نگاه ما
تحریریه دات‌هوش

تحلیل ما نشان می‌دهد که Sentience در واقع تلاشی برای تبدیل هوش مصنوعی از یک «چت‌بات» به یک «سیستم‌عامل» است. با انتقال اجرای دستورات از محیط‌های پنهان به ترمینال‌های بصری، این پروژه فرضیه‌ی «اتکای کورکورانه به عامل‌ها» را می‌شکند و مدل استدلالی را در جایگاه یک همکاری شفاف قرار می‌دهد، نه یک جعبه سیاه تصمیم‌گیرنده.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.