JARVIS
شرکتی خصوصی از جنس هوش مصنوعی، با تنها یک مشتری؛ به خاطر میسپارد، برنامه میریزد، در حد اختیاری که به او داده شده عمل میکند، کار خود را وارسی میکند و گزارش میدهد.
- طراحی محصول، معماری و ساخت با کمک هوش مصنوعی
- ۲۰۲۶
- Python 3.12, SQLite, SQLAlchemy, FastAPI, OpenRouter, Next.js, Tailwind

زمینه
بیشتر ابزارهای شخصی هوش مصنوعی، پنجرهای برای گفتوگو هستند: پاسخ میدهند و فراموش میکنند. من چیزی میخواستم که کارهایم را مانند شرکتی کوچک اداره کند؛ با حافظه، فهرستی از کارها که پیشنیازها را میشناسد، و این درایت که پیش از هر کار مهمی اجازه بگیرد.
JARVIS همان شرکت است. تنها یک مشتری دارد، یعنی خودم، و کاملترین کاری است که تا امروز ساختهام.
مسئله
مدلهای زبانی در پیشنهاد دادن تواناند، اما اعتماد کردن به آنها دشوار است. سیستمی که خود پیام میفرستد یا هزینه میکند، باید پیشبینیپذیر، برگشتپذیر و پاسخگو بماند؛ حتی در روزهایی که مدل خطا میکند.
رویکرد
وضعیت در پایگاه داده نگه داشته میشود، نه در پرامپت. عاملها پیشنهاد میدهند و کدِ قطعی تصمیم میگیرد و اجرا میکند. هر درخواست مسیری ثابت را میپیماید: بهصورت رویداد ثبت میشود، به کارهایی با پیشنیاز تبدیل میشود، و هر اقدامی که مدل پیشنهاد کند، از سیاستها و در صورت لزوم از تأیید من میگذرد تا اجراکننده انجامش دهد و نتیجه را وارسی کند. همهچیز در سابقهی ممیزی ثبت میشود.
کل هسته بدون کلید API، بدون تلگرام و بدون اینترنت، از آغاز تا پایان کار میکند؛ همین امکان داد پیش از اتصال مدل واقعی، تکتک قواعد آزموده شوند.
یک درخواست، از ورود تا ثبت
بر شبکهی ششگوشِ بلور یخ ترسیم شده است. تنها نقطهی گرم، جایی است که تصمیم به انسان سپرده میشود.
- درگاه ورودی
- دریافت
- رویدادها
- کارها و پیشنیازها
- اقدام پیشنهادی
- سیاستها
- تأیید انسانی
- اجرا و وارسی
- ثبت و ارسال
تصمیمهایی که به آن شکل دادند
سطح ریسک و تأیید
هر اقدام فعلی تعریفشده با سطح ریسک مشخص است. موتوری دهمرحلهای از سیاستها تعیین میکند که اقدام اجرا شود، در انتظار تأیید بماند یا کنار گذاشته شود. تأییدی که بیپاسخ بماند، به «نه» ختم میشود، هرگز به «بله».
تنها یک راه به بیرون
ارتباط با آدمها فقط از یک صندوق خروجی میگذرد؛ پس هیچ پیامی ناخواسته به کسی نمیرسد. یک کلید توقف هم همهچیز را یکباره از کار میاندازد.
پیشنیازهایی که خود را توضیح میدهند
وقتی کاری متوقف میشود، مثلاً به نمونهی صدایی نیاز دارد که تنها خودِ من میتوانم ضبط کنم، JARVIS کاری تازه برای من میسازد و دقیقاً میگوید با انجام آن، کار اصلی از کجا ادامه پیدا میکند.
حافظهای که فارسی را میفهمد
جستوجوی متنی، تفاوت نویسههای عربی و فارسی صفحهکلید را یکسان میگیرد؛ واژهای که به دو شکل تایپ شده باشد، باز هم پیدا میشود.
هزینه، جزئی از وضعیت سیستم
پیش از هر فراخوانی مدل، دفتر هزینه و حالتهای بودجه (عادی، کاهشیافته، محدود و متوقف) تصمیم میگیرند. لایهی مدل از طریق OpenRouter کار میکند و اگر مدل اصلی پاسخ ندهد، به مدل جایگزین میرود.
ممیزیای که میتوان وارسی کرد
سابقهی ممیزی فقط افزوده میشود و با SHA-256 زنجیروار به هم پیوسته است؛ اگر رکوردی در گذشته دست بخورد، وارسی ناکام میماند.
تصویرها



امروز کجا ایستاده است
- هستهی اجرایی، موتور پیشنیازها، سیاستها و تأیید، حافظه، ممیزی، دفتر هزینه و کنسول عملیات؛ با پایتون ۳٫۱۲ و SQLite و ۱۶۱ آزمون خودکار.
- لایهی مدل واقعی، فعال از ۴ مهر ۱۴۰۵ (از طریق OpenRouter و با مدل جایگزین).
- زبان بصری رابط کاربری: نمونهای با Next.js از مرکز فرمان که هنوز دادهی نمایشی دارد و به هسته متصل نشده است.
- ثبت کامل یادداشتهای متنی، و پلی فقطخواندنی به مخزن یادداشتهایم.
- صدا، تلگرام، تقویم، پیوند رابط کاربری با هسته و استقرار روی سرور.
آنچه آموختم
جذابترین بخش یک سیستم هوش مصنوعی، خودِ مدل نیست؛ همهی آن چیزی است که پیرامونش تعیین میکند مدل اجازهی چه کاری دارد، و سابقهی صادقانهی آنچه کرده است.