اگر از پرداختهای ماهانه برای اشتراکهای هوش مصنوعی و ارسال دائمی دادههای حساس به سرورهای خارجی خسته شدهاید، 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 مراجعه کنید.




گفتگو