تصور کنید یادگیرندهای هستید که با یک شریک هوش مصنوعی آلمانی تمرین میکند و این دستیار نه تنها نام شما را به یاد دارد، بلکه اشتباهات گرامری هفتهی گذشته را هم میشناسد. طبق گزارشی که در ۴ اکتبر ۲۰۲۶ منتشر شد، این عامل صوتی سفارشی از ElevenLabs برای سنتز صدا و از Cloudflare Workers برای مدیریت منطق و پایداری دادهها استفاده میکند.
شکاف میان قبولی در آزمون زبان و رسیدن به سطح بومی معمولاً نیازمند مدرسان گرانقیمت یا شرکای بومیزبان است. این پروژه با هدف ایجاد محیطی بدون قضاوت برای مکالمات واقعی طراحی شده است و هدف آن مشابه با تلاشهای جامعهی توسعهدهندگان دیگر است؛ برای مثال، پروژه SpeakBuddyHF26 که یک شریک یادگیری انگلیسی برای رویداد Hacktoberfest ساخته شد. همانطور که در تحلیل قبلی ما دربارهی استفاده از Cloudflare Workers برای وظایف تخصصی هوش مصنوعی مانند رنگی کردن عکسها اشاره کردیم، این معماری از فراخوانیهای سادهی API فراتر رفته تا یک اپلیکیشن «وضعیتدار» (Stateful) ایجاد کند.
زمینه و اهداف
هدف اصلی، ساخت یک «رفیق» است که در سطح بومی صحبت کند و هرگز صبرش تمام نشود. برخلاف اپلیکیشنهای سنتی، این عامل (Agent) — شبیه به یک دستیار شخصی که دستورات شما را اجرا میکند — مکالمات غیررسمی را پیش میبرد و اشتباهات واقعی گرامری و انتخاب کلمات را اصلاح میکند. این رویکرد در راستای تلاش برای عبور از چتباتهای عمومی و ساخت نمایندههای دیجیتالی است که بتوانند شخصیت و رفتارهای انسانی را شبیهسازی کنند. نکته کلیدی این است که سیستم برای شبیهسازی تعامل انسانی، مکالمه را در هر اشتباه متوقف نمیکند و اجازه میدهد جریان صحبت ادامه یابد تا کاربر در محیطی طبیعی تمرین کند.
این سیستم کاملاً شخصیسازی شده است. کاربر با نامش مورد خطاب قرار میگیرد و لحن مدل در طول زمان ثابت میماند. با ذخیره کردن اشتباهات و لغات جدید در یک صفحهی مرور (Review Page) اختصاصی، کاربران میتوانند پیشرفت خود را ردیابی کنند و پس از تسلط بر هر مورد، آن را از لیست حذف نمایند.
معماری این پروژه بر پایه فریمورک Hono است که روی یک Worker اجرا میشود و فرانتاندی با Vite و TypeScript دارد. برای حل مشکل نبود حافظه بلندمدت داخلی در عاملهای ElevenLabs، توسعهدهنده یک سیستم بازیابی سفارشی پیادهسازی کرده است. به نقل از مستندات پروژه، وقتی یک تماس آغاز میشود، عامل ابزاری به نام recall را فعال میکند تا دادههای کاربر را از پایگاهداده Cloudflare D1 فراخوانی کند.

جزئیات فنی
جزئیات فنی این پیادهسازی به شرح زیر است:
- مکانیزم حافظه: به دلیل اینکه عاملهای ElevenLabs فاقد حافظه داخلی برای جلسات مختلف بودند، توسعهدهنده یک حلقه سفارشی ساخت. عامل در ابتدای هر تماس ابزار
recallرا برای بازیابی اطلاعات و در طول مکالمه ابزارstoreرا برای ذخیره دادههای جدید فراخوانی میکند. - پنجره زمینه (Context Window) — مثل میز کاری که فقط جا برای چند ورق کاغذ دارد و نه کل کتابخانه — در این سیستم محدود به ۲ یا ۳ جلسه اخیر است. توسعهدهنده اشاره کرده که بارگذاری تاریخچه بیش از حد، باعث میشود مدل شبیه رباتها رفتار کند، زیرا انسانها در واقعیت تمام جزئیات صدها مکالمهی گذشته را به یاد نمیآورند.
- جریان داده: پس از پایان هر تماس، ElevenLabs یک وبهوک (Webhook) پس از تماس ارسال میکند. Worker این درخواست را تأیید کرده و لیست نهایی اشتباهات و لغات جدید را در پایگاهداده D1 مینویسد. برای بهبود تجربه کاربری در این تعاملات صوتی، راهکارهای جدیدی برای حل مشکل Barge-in و قطع طبیعی صحبتهای هوش مصنوعی توسعه یافته است تا مکالمات روانتر شوند.
- مسیریابی: فایلهای استاتیک از Asset Bundle سرو میشوند. تنها مسیرهای
/و/api/*و/tools/*هستند که باعث فعال شدن Worker میشوند.

امنیت سیستم از طریق شناسههای کاربر با امضای HMAC مدیریت میشود. Worker با استفاده از HTMLRewriter این شناسههای امضا شده را به HTML تزریق میکند، پیش از آنکه صفحه به مرورگر برسد. این کار تضمین میکند که عامل هوش مصنوعی هرگز تصمیم نگیرد به دادههای چه کسی دسترسی داشته باشد؛ بلکه صرفاً شناسهی امضا شدهای را که از طریق ویجت و فراخوانی ابزارها منتقل شده است، تأیید میکند.
برای اجرای این مورد، از الگوی کد زیر استفاده شده است:const rewritten = new HTMLRewriter().on('elevenlabs-convai', { element(el) { el.setAttribute('dynamic-variables', JSON.stringify({ user_id: token, name: displayName }), ); } }).transform(response);
همچنین از هدر no-store در کش استفاده شده تا دادههای شخصی کاربران از کشهای مشترک سرو نشود و حریم خصوصی حفظ گردد. مسیرهای ابزار، بهویژه app.get('/tools/recall', recallHandler) و app.post('/tools/store', storeHandler)، پیش از هر عملیات خواندن یا نوشتن، امضای دیجیتال را تأیید میکنند.
پس از هر جلسه، ElevenLabs یک وبهوک پس از تماس به Worker ارسال میکند. این وبهوک امضا را تأیید کرده و لیست نهایی اشتباهات و لغات را در پایگاهداده D1 مینویسد که سپس باعث پر شدن صفحهی مرور کاربر میشود.
این رویکرد، بار «هوشمندی» را از پنجره زمینه مدل به یک پایگاهداده خارجی ساختاریافته منتقل میکند. با تبدیل عامل هوش مصنوعی به یک پردازشگر بدون وضعیت (Stateless) و Worker به یک مدیر وضعیت (State Manager)، توسعهدهندگان میتوانند بدون برخورد با محدودیت توکن یا افت کیفیت صدا، تجربههای شخصیسازی شده بسازند.
برای کاربر نهایی، این یعنی ابزاری که تکامل مییابد. به جای تکرار جملات ترحیبی در هر جلسه، هوش مصنوعی میتواند به اشتباهی که کاربر سه روز پیش مرتکب شده اشاره کند و دقیقاً مانند یک مدرس انسانی رفتار کند.
در نسخههای آینده، قرار است وبهوکهای استاندارد با ابزارهای پروتکل زمینه مدل (MCP) برای دسترسی استاندارد جایگزین شوند. همچنین برنامهای برای تعیین تاریخ انقضا برای شناسههای امضا شده در نظر گرفته شده است تا شناسههای کپی شده پس از مدتی از کار بیفتند. علاوه بر این، یک حالت دمو (Demo Mode) با کاربر موقت، محدودیت در طول تماس و سقف هزینه روزانه برنامهریزی شده است تا از اتمام سریع اعتبارها (Credits) جلوگیری شود. در نهایت، یک ردیاب پیشرفت بصری اضافه خواهد شد تا نشان دهد کدام دستههای خطاهای گرامری در طول زمان در حال کاهش هستند.
گام بعدی شما
- اگر در حال ساخت عاملهای صوتی هستید، پروتکل MCP را برای استانداردسازی تعامل با دادههای خارجی بررسی کنید.
- برای کاهش هزینههای استنتاج، مدیریت وضعیت را به لایهی Edge (مانند Cloudflare Workers) منتقل کنید.
- از امضای HMAC برای جداسازی دادههای کاربران در ابزارهای هوش مصنوعی استفاده کنید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو