【ITニュース解説】Building e-Milki: Polish voice companions for adults with intellectual disabilities (ElevenLabs Agents + Claude + three.js)
2026年10月10日に「Dev.to」が公開したITニュース「Building e-Milki: Polish voice companions for adults with intellectual disabilities (ElevenLabs Agents + Claude + three.js)」について初心者にもわかりやすく解説しています。
ITニュース概要
ポーランドで、知的障害のある大人を日常生活で支援する音声AI「e-Milki」が開発されている。ElevenLabs AgentsとClaude Sonnet 5.5を核とし、three.jsで親しみやすいWebインターフェースを実現。ユーザーの特性に合わせ、短い応答や理解度確認など対話設計に工夫を凝らす。2027年のパイロットで実用性を検証する。
ITニュース解説
「e-Milki」は、知的障害を持つ大人を対象としたポーランド語の音声コンパニオンサービスで、日常の様々な活動をサポートするために開発されている。これは単なる書類作成の支援ではなく、朝の起床から着る服の選択、コンロやドアの確認、外出先の道案内、ちょっとした買い物、アラーム設定といった、ごく普通の日常生活を支えることを目的としている。このプロジェクトは、ElevenLabs Impact Programに採択され、現在はテスト段階であり、実際のユーザーとのパイロット運用は2027年の第2四半期に開始される予定である。
このシステムの核心は、人工知能を活用した会話ループにある。その基盤となっているのは「ElevenLabs Agents」というプラットフォームだ。まず、ユーザーが話した内容を聞き取る部分では、このプラットフォームに組み込まれている音声認識技術「Scribe」が利用される。Scribeは、ユーザーの言葉をテキストデータに変換する役割を担っている。
次に、聞き取ったテキストを「理解」し、適切な返答を生成する中心的な頭脳として、大規模言語モデル(LLM)である「Claude Sonnet 5.5」が採用されている。開発当初は、より小型で高速なモデルも試されたが、知的障害を持つユーザーの言葉のニュアンスを正確に理解することや、ポーランド語特有の複雑な時刻の文法(例えば「17時」を意味する「o siedemnastej」のように、時刻を示す数字が活用される)を正しく処理することに苦労したため、より高性能なClaude Sonnet 5.5への切り替えが決定された。このモデルは、言語理解能力と安全性において明確に優れていると評価されたが、その代償として応答までの時間が2〜3秒長くなり、運用コストも1分あたり約25%増加した。しかし、対象ユーザーにとって正確な理解が非常に重要であるため、このトレードオフは受け入れられたのだ。
そして、理解した内容に基づいてユーザーへ「話す」部分では、ElevenLabsの音声合成(TTS)技術が使われている。具体的には、落ち着いたポーランド語の声を生成するために「eleven_flash_v2_5」モデルが、速度0.85に設定して使用されている。ここで注目すべきは、最新の「turbo」モデルが速度設定を無視してしまうという予期せぬ挙動を示したため、遅く、はっきりとした発話を実現するために旧バージョンのFlash v2.5が採用された点だ。これは、技術選定において、単に最新であることよりも、目的とする要件を確実に満たすことが重要であることを示している。
このe-Milkiシステムでは、知的障害を持つユーザーの特性に合わせた二つの重要な設定が施されている。一つは「忍耐強いターン制」だ。ユーザーが応答するまでには時間がかかる場合があるため、エージェントは15秒間応答を待つように設定されており、さらに60秒間沈黙が続かない限り、電話が切れることはない。もう一つは「ソフトタイムアウトフィラー」だ。これは、大規模言語モデルが応答を生成するのにかかる2.5秒以上の遅延が発生した場合に、「Chwileczkę」(「少々お待ちください」という意味)という短い言葉を挟むことで、ユーザーに電話が切れたと誤解させないようにする配慮である。これらの設定は、ユーザーが安心して会話を続けられるようにするために極めて重要だ。
会話の「プロンプト」、つまりAIにどのような返答をさせるかという指示文の設計にも、細心の注意が払われている。テスト会話を通じて確立されたルールは以下の通りだ。一つは、一度の応答で最大三つの短い文に留め、一度に一つのステップのみを伝えること。これは、情報を過負荷にしないための工夫である。二つ目は、次のステップに進む前にユーザーの理解を確認し、もしゆっくり話すように求められた場合は、同じ内容をより簡単な言葉で繰り返すこと。三つ目は、現在時刻を正確に伝え、ポーランド語の正しい活用形を用いること。システム時刻に基づき、ポーランドの時差を考慮して発話される。そして四つ目は、健康や金銭に関するアドバイスは絶対にせず、常に信頼できる人物に相談するよう促すこと。これは、AIの限界を理解し、ユーザーの安全と福祉を最優先するための重要なガイドラインだ。開発プロセスでは、まずテキストによる会話シミュレーション(プラットフォームにはユーザーをシミュレートする機能がある)を行い、その後で実際の音声を用いたテストを行うことで、エージェントの稼働時間を節約し、プロンプトの修正が与える影響を容易に特定できるようにしている。
e-Milkiのウェブページも、ユーザーにとって使いやすく、軽量でアクセスしやすいように設計されている。「e-Milka」と「e-Milek」の二人のコンパニオンが、それぞれ交互に話す声で自己紹介する構成だ。まず、ウェブサイト内のすべてのコンテンツは、単一のTypeScriptモジュールで一元管理されている。これにより、ページの内容、検索エンジンやAIアシスタント向けのMarkdown版、そしてナレーションスクリプトが常に同期され、情報の不一致が発生しないようになっている。
ウェブページの表示速度とアクセシビリティを高めるため、「遅延ロード」という手法が採用されている。具体的には、ページ自体は約17KBと非常に軽量で、WebGLライブラリであるthree.jsで描画される約455KBの3Dシーンや音声ファイルは、訪問者が「音声で聞く」ボタンをクリックするまで読み込まれない。これにより、初期表示の速さと、不要なリソースの消費を防いでいる。
e-Milkiのキャラクターデザインも工夫されている。各スピーカーはシンプルなドット絵で表現され、話しているキャラクターの口は、各セリフの既知のタイミングに合わせて音声と同期して動く。このシンプルな表現は、視覚的な負担を減らし、かつ分かりやすさを追求したものだ。ナレーション音声は、ElevenLabsの音声を用いて事前に一度生成されている。生成された音声ファイルは、例えば「e-Milka」のような固有名詞が正しく発音されているかを確認するため、音声認識によるチェックも行われている。これらの音声ファイルはURLにバージョンパラメータが付与されており、一週間キャッシュされる設定だ。また、ウェブページの背景には、Web Audioを使ってソフトなコード(和音)が流れるが、これは音声が流れている間だけ再生され、各セリフの後に静かにフェードアウトする。これは、ユーザーが声に集中できるように、控えめなリスニング体験を提供するための配慮である。
このプロジェクトは現在テストデータに基づいて開発が進められているが、デスクワークだけでは答えが出せない重要な疑問点が二つある。一つは、知的障害を持つ人々の話し言葉を音声認識システムがどれだけ正確に理解できるか、という点だ。もう一つは、どの声質や話す速度が、彼らにとって真に理解しやすいものであるか、という点である。これらの疑問に対する答えは、実際にユーザーと接する「パイロットテスト」を通じてのみ得られるものだ。ElevenLabs Impact Programからの支援は、このパイロットテストを適切に実施し、これらの重要な問いに答える上で不可欠な役割を果たすことになる。e-Milkiは、技術と人間への配慮が融合した、非常に意義深いプロジェクトと言える。