تصور کنید یک تازهکار تنها ۶ روپیه در بورس معامله میکند، اما بهدلیل عدم شناخت هزینههای کارگزاری و مالیات، با ۵۰ روپیه هزینه پنهان مواجه میشود. همین نقطهٔ اصطکاک — جایی که کاربر سهمی را به قیمت خرید میفروشد اما در نهایت با ضرر مواجه میشود بدون آنکه بداند دلیلش چیست و آیا این ضرر از یادداشت قرارداد (contract note)، دفتر کل (ledger)، موجودی در دسترس یا نمای سود و ضرر (P&L) نشأت گرفته است — منجر به خلق FinEd Saathi شد. این مدرس سواد مالیِ صوتمحور، در جریان چالش «۱۰ روز عاملهای صوتی - نسخه VoiceForBharat» توسعه یافت.
توسعهدهنده این پروژه مسیر «خدمات مالی» را انتخاب کرد زیرا میخواست مشکلی را حل کند که شخصاً آن را حس کرده بود. اگرچه در این چالش، «خدمات مالی» و «یادگیری و سواد» به عنوان دو مسیر مجزا لیست شده بودند، اما FinEd Saathi تعمداً این دو را با هم ادغام کرد. فلسفه اصلی این است که دسترسی به بازارهای مالی بدون درک مفاهیم آن، اصلیترین مشکلی است که باید حل شود.
بسیاری از ابزارهای آموزشی فرض میکنند کاربر از پیش با اصطلاحات آشناست. وقتی یک مبتدی دربارهٔ صندوقهای قابل معامله (ETF) — شبیه سبدی از میوههای مختلف که بهجای خرید تکتک آنها، کل سبد را یکجا میخرید — سؤال میکند، معمولاً به صفحات خشکِ جداول هزینه، بخشنامههای مالیاتی یا صفحات معرفی محصول ارجاع داده میشود. حتی اطلاعات درست نیز زمانی که چندین مفهوم ناآشنا بهطور همزمان ارائه شوند، سخت قابل استفاده هستند. FinEd Saathi این رویکرد را تغییر داده و با شروع از سطح دانش فعلی یادگیرنده و استفاده از یک رابط گفتگویی صبور، مفاهیمی مثل سهام، صندوقهای مشترک، SIPها، ETFها، طلا، معاملات آتی و آپشن (F&O)، عرضه اولیه (IPO) و اوراق قرضه را پیش از آنکه پولی به خطر بیفتد، آموزش میدهد.

معماری صوتمحور
صوت، تجربهٔ یادگیری را از یک امتحان خشک به یک گفتگوی سیال تبدیل میکند. یادگیرنده میتواند سؤالات کوتاه بپرسد، حرف مدل را قطع کند یا بین انگلیسی، هندی و یک حالت ترکیبی (code-mixed) جابهجا شود. این امر مانع از آن میشود که درس شبیه به یک آزمون به نظر برسد.
برای حذف مکثهای غیرطبیعی که در اکثر رباتهای صوتی هوش مصنوعی دیده میشود، این سامانه بر یک پشتهٔ فنی (Stack) با کارایی بالا تکیه دارد:
- Deepgram Nova-3: بازشناسی گفتار (ASR) چندزبانه را با تنظیم
language="multi"و مقدارendpointing_ms=100مدیریت میکند. - Gemini: منطق تدریس، مدیریت گفتگو و سازماندهی ابزارها (Tool Orchestration) را بر عهده دارد.
- LiveKit: نشستهای بلادرنگ (Real-time) بین مرورگر و یک پردازشگر پایتون (Python worker) را برقرار میکند.
- Murf Falcon 2: تبدیل متن به گفتار (TTS) را انجام میدهد. توسعهدهنده از صدای «Nikhil» برای انتقال لحن محاورهای هندی استفاده کرده است. طبق مستندات Murf، مدل Falcon 2 یک مدل گفتار بلادرنگ است که زمان رسیدن به اولین خروجی صوتی (time-to-first-audio) در آن تقریباً ۱۰۰ میلیثانیه است.


همانطور که در تحلیلهای پیشین ما دربارهٔ عاملهای هوش مصنوعی اشاره کردیم، کلید موفقیت این سامانهها در مدیریت دقیق وضعیت (State) است. در FinEd Saathi، وضعیت نشستها (AgentSession) بهگونهای طراحی شده که اجزای تبدیل گفتار به متن، مدل زبانی بزرگ (LLM) — مثل کتابخانهداری که میلیاردها صفحه را خوانده و حالا با همان لحن جواب میدهد — و تبدیل متن به گفتار بهطور یکپارچه عمل کنند. بهطور خاص، پیکربندی TTS در Murf از style="Conversational" و locale="en-IN" استفاده میکند و یک SentenceTokenizer با حداقل طول ۲ دارد تا سرعت و ریتم طبیعی متن تضمین شود.
تفکیک تخصص و عامل TaxEd
یکی از پیچیدهترین مکانیسمهای این محصول، جداسازی آموزش عمومی از راهنماییهای مالیاتی است. توسعهدهنده برای این کار عامل تخصصی TaxEd را طراحی کرد تا مرزهای شواهدی سختگیرانهای برای سؤالات مالیاتی سرمایهگذاری ایجاد کند.
به گزارش مستندات پروژه، FinEd بهطور خودکار به سؤالات مالیاتی پاسخ نمیدهد. در عوض، از کاربر اجازه صریح میگیرد تا او را به TaxEd متصل کند. تنها یک پاسخ «بله» صریح و جدید باعث انتقال سؤال میشود. بازگشت به FinEd نیز نیازمند اجازه است.
پس از انتقال، صدای مدل به «Anusha» تغییر میکند که یک هویت صوتی هندی در Murf است. TaxEd بهصورت سختافزاری فقط به انگلیسی محدود نشده است؛ سرور میتواند en-IN (انگلیسی هند)، hi-IN (هندی) یا hi-LATN (هندی با حروف لاتین) را انتخاب کند در حالی که هویت صوتی Anusha ثابت میماند. TaxEd یک فهرست ثبتشده از قوانین رسمی مالیات هند را جستوجو کرده، تاریخ اجرا و کاربرد قانون را ذکر میکند و منبع را لینک میدهد. اگر قانونی موجود نباشد، نامطمئن باشد یا تاریخ بازبینی آن گذشته باشد، عامل طبق برنامهریزی، از پاسخ دادن خودداری میکند. این عامل هرگز بدهیهای نهایی را محاسبه نمیکند، اظهارنامهها را ثبت نمیکند و در فرار مالیاتی کمک نمیکند.

تمرین امن با معاملات مجازی
برای پر کردن فاصله میان تئوری و عمل، این پلتفرم شامل یک سبد معاملات مجازی (Paper Trading) است. کاربران با ۱۰۰,۰۰۰ روپیه پول مجازی شروع میکنند تا سفارشات خرید و فروش سهام نقدی (NSE EQ cash equity) یا سفارشات تحویل ETF را شبیهسازی کنند.
این محیط بهطور کامل از حسابهای کارگزاری واقعی ایزوله شده است:
- دادههای بازار: قیمتهای زنده از طریق دسترسی اختیاری به Angel One دریافت میشود. ابزارهای استعلام قیمت میتوانند نمادها را جستوجو کرده و قیمتهای فعلی یا قیمتهای بسته شدن روزانه تاریخی را برگردانند.
- محدودیتها: ابزارها نمیتوانند داراییها (holdings)، موقعیتها (positions) یا اطلاعات حساب کاربر را بخوانند. اگر توکن کارگزاری موجود نباشد یا منقضی شده باشد، عامل بهجای حدس زدن، اعلام میکند که دادههای زنده در دسترس نیستند.
- اجرا: مرورگر یک پیشنویس سفارش آماده میکند که سپس نیاز به تأیید صریح همان پیشنویس منقضینشده دارد.
- ذخیرهسازی: تمام پول مجازی، دادههای سبد و تاریخچه معاملات در حافظه مرورگر (browser storage) میماند و هیچ API واقعی برای سفارشگذاری در کارگزاری فراخوانی نمیشود.

حفاظهای ایمنی قطعی
ایمنی در این معماری از طریق حفاظها (Guardrails) — شبیه نردههای ایمنی در کنار یک پل که اجازه نمیدهد کسی از مسیر خارج شود — تأمین شده است. این حفاظها بهصورت قطعی (Deterministic) پیش از استنتاج LLM اجرا میشوند. این سامانه یک مدرس است، نه یک مشاور مالی.
بر اساس مستندات RED_TEAM.md این سیستم صراحتاً از انجام موارد زیر خودداری میکند:
- ثبت سفارشات واقعی در بورس (حتی اگر در همان درخواست به معاملات مجازی اشاره شده باشد).
- ارائه توصیههای سرمایهگذاری شخصی یا تضمین نتایج مالی.
- درگیر شدن در سیگنالهای ناامن F&O (حالت F&O فقط به آموزش مکانیسمها، مثالهای بازدهی و ریسک محدود شده است).
- درخواست اطلاعات حساس مانند رمز عبور کارگزاری، پین (PIN)، کد OTP، شماره PAN، آدhaar، جزئیات بانکی یا شماره کامل حساب.
- کمک به فرار مالیاتی.
این مسیرهای شواهدی قطعی در فایل RED_TEAM.md مستند شدهاند، از جمله حذف شناسههای کارگزاری در هنگام انتقال به TaxEd.
حریم خصوصی و تحلیلها
حریم خصوصی از طریق یک سیستم حافظه مبتنی بر رضایت (consent-gated) مدیریت میشود. عامل تنها پس از دریافت یک «بله» جدید از کاربر، ترجیحات یادگیری را ذخیره میکند. تمام شناسههای دولتی، شماره حسابها، داراییها، درآمد و جزئیات بانکی بهطور سختگیرانه از حافظه حذف میشوند.

تحلیلها نیز بهصورت ناشناس نگه داشته میشوند تا از ایجاد یک مجموعه دادهٔ نظارتی جلوگیری شود. صفحه تحلیلها فقط آمارهای کلی را گزارش میکند، مانند:
- تعداد تماسها و زمان صحبت.
- تعداد انتقالهای انجام شده و تماسهای موفق.
این سیستم هیچ فایل صوتی، متن گفتگو (transcript)، متن گفتهها، هویت تماسگیرنده یا شماره تلفنی را ذخیره نمیکند. این امر ثابت میکند که تجربه کاربری میتواند مفید باشد بدون آنکه یادگیرندگان را به یک مجموعه داده تبدیل کند.
چالشهای مهندسی
سختترین بخش ساخت، قابلاعتماد کردن انتقال بین وضعیتها (state transitions) بود. جابهجایی که فقط یک نشان (badge) را در رابط کاربری تغییر دهد کافی نبود؛ توسعهدهنده باید متخصص فعال، صدای TTS، سؤال منتقل شده و مسیر بازگشت را بهطور کامل هماهنگ میکرد. این شامل متوقف کردن حلقههای تکراری اجازه گرفتن پس از دریافت یک «بله» صریح بود.
مدیریت گفتار چندزبانه نیز چالشبرانگیز بود. در ابتدا، در نظر گرفتن TaxEd بهصورت دائمی en-IN باعث شد استفاده از زبانهای ترکیبی شکننده شود. انتقال انتخاب زبان (locale) به یک مقدار نرمالشده در سرور باعث شد هویت صوتی مدل بدون اجازه دادن به مرورگر برای انتخاب تنظیمات سنتز دلخواه، پایدار بماند.
در نهایت، توسعهدهنده یاد گرفت که برای «نبودِ داده» طراحی کند. بهدلیل انقضای توکنهای کارگزاری، عامل بهجای ابداع قیمت، صراحتاً اعلام میکند که استعلام قیمت در دسترس نیست تا اعتبار مدرس به عنوان منبع حقیقت حفظ شود.
اجرای پروژه
برای اجرای FinEd Saathi، به پایتون ۳.۱۰ تا ۳.۱۴، uv، Node.js و pnpm 9 نیاز دارید. پس از کلون کردن مخزن، کاربران باید فایلهای .env.local را برای هر دو بخش بکاند و فرانتاند با کلیدهای LiveKit، Murf، Deepgram و Google پیکربندی کنند.
تنظیمات بکاند:cd backenduv syncuv run -m livekit.agents download-filesuv run dotenv -f .env.local run -- python src/agent.py start
تنظیمات فرانتاند:cd frontendpnpm installpnpm dev --port 3001
تست و اعتبارسنجی
پروژه از یک مجموعه تست قطعی استفاده میکند. تستهای بکاند شامل حفاظها، ابزارها، انتقالها، قوانین مالیاتی، حافظه، تحلیلها و رضایت خروجی است. قراردادهای فرانتاند رابط عمومی، سبد مجازی و مسیرهای توکن را پوشش میدهند. ارزیابیهای مبتنی بر ارائهدهنده (Provider-backed) بهدلیل نیاز به اعتبارنامههای خارجی، جدا نگه داشته شدهاند.
دستورات تست شامل uv run pytest برای بکاند و node --test tests/*.test.mjs برای فرانتاند است. سوابق تیم قرمز (red-team record) این تستهای قطعی را به ادعاهای ایمنی خاص مرتبط میکند.
این پروژه نشان میدهد که مؤثرترین دستیار مالی هوش مصنوعی، آن نیست که با اعتمادبهنفسترین لحن صحبت کند، بلکه آن است که شفاف آموزش دهد، منابع خود را ثابت کند، در مرزهای حساس اجازه بگیرد و بداند چه زمانی باید متوقف شود.
گام بعدی شما
- بررسی نحوه پیادهسازی عاملهای تخصصی (Specialist Agents) برای تفکیک حوزههای حساس مانند مالیات و حقوق.
- مطالعه روی مدلهای TTS با تأخیر پایین (زیر ۱۰۰ میلیثانیه) برای بهبود تجربه کاربر در برنامههای صوتی.
- آزمایش محیطهای Paper Trading برای کاهش ریسک در آموزشهای فنی.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما درباره تراشههای Blackwell مراجعه کنید.




گفتگو