プログラミング
Veda: 初のエージェントネイティブ・ホビーOS
Veda: The First Agentic Hobby Operating System (github.com)
要約
Vedaは、AIエージェントがシステムに組み込まれたオペレーティングシステムです。ユーザーは音声やテキストでエージェントに指示を出し、キーボードやマウスと同じ操作でアプリケーションを制御できます。Rustでゼロから構築されており、UEFIブートローダー、マイクロカーネル、ドライバ、システムサービス、ウィンドウシステム、ツールキット、アプリケーションなどが含まれています。プライバシーとセキュリティに配慮し、ユーザーの同意に基づいて動作します。
全文翻訳
Veda: エージェントネイティブ・オペレーティングシステム
Vedaは、AIエージェントが組み込まれたオペレーティングシステムです。これはデスクトップに追加されたアシスタントではなく、すべてのアプリケーションが連携するように作られたシステムの一部です。部屋にいる人に話しかけるようにエージェントに話しかけます。「ヘイVeda、壁紙を砂丘に変えて」のように言うと、キーボードやマウスと同じ操作で、どのアプリケーションでも作業を行い、取り消しが難しいことの前には確認を求めます。
すべてはRustでゼロから書かれており、UEFIブートローダー、キャパビリティベースのマイクロカーネル、ドライバ、システムサービス、ウィンドウシステム、ツールキット、アプリケーションがこのリポジトリにあります。成熟したいくつかのクレートがTCP/IPエンジン、TLS、暗号化(smoltcp、rustls、RustCrypto)を提供します。Vedaはx86-64 PCおよびQEMUで動作します。
なぜエージェントネイティブOSなのか?
オペレーティングシステムはキーボードを使う人のために設計されてきました。後から追加されたアシスタントは、画面を読み取ったり、クリックを模倣したり、APIを提供する数少ないアプリケーションを利用したりする必要がありますが、システムはそれが行うことについて何も発言権を持ちません。
Vedaはこの状況を逆転させます。エージェントはシステムのファーストクラスのユーザーであり、システムはその作業が信頼性があり、可視的で、安全であるように構築されています。
エージェントはシステムの一部です。システムサービスであり、起動時に開始され、失敗した場合は再起動されます。タスクバーに小さなリングとして表示され、名前で呼び出されるまでスリープ状態です。リングをクリックするか、Super+Spaceで呼び出します。すべてのアプリケーションはネイティブにエージェントと通信します。
エージェントサポートはアプリケーションプラットフォームの一部です。アプリケーションは、型付けされたパラメータとリスクレベルを持つアクションを記述し、構造化された状態として表示されるものを報告し、キーボードとマウスと同じコードを通じてアクションを実行します。これにより、ウィンドウはあたかもあなたが行ったかのように結果を表示します。画面スクレイピングやクリックのシミュレーションはありません。
組み込みアプリケーションは、ドキュメントへの書き込みからレースの開始まで、70以上のアクションを提供します。
システムはあなたの同意に基づいてエージェントを保持します。
すべてのアクションは、ルーチン、センシティブ、または破壊的です。ルーチンアクションはそのまま実行されます。他のアクションはあなたの承認を待ちます。エージェントサービスはこれを強制します。言語モデルではなく、呼び出しはあなたが応答するまで保留され、デスクトップシェルのみが応答できます(システムはinitが接続に付与するIDによって各プログラムを認識します)。エージェントがドキュメントやアプリケーションで読み取るものは何も承認できません。
実際のコンテキストから動作します。
すべての会話は、エージェントが支援するために必要なものから始まります。時刻、画面上のウィンドウ、各アプリケーションのアクション、あなたが自分自身について伝えたこと、そして前回の会話がどのように終わったかです。作業中はアプリケーションの状態を読み取るため、実際にあるものに基づいて行動します。
あなたの記憶はあなたのものです。
あなたが伝えることはそのまま記憶します。あなたの名前、あなたの人生の人々、あなたが物事をどのように行うのが好きか。決して推測しません。その記憶はあなたのコンピューターに保存され、設定でそのすべてが表示され、必要に応じて忘れることができます。
音声が最優先です。
会話はリアルタイムで行われます。エージェントを中断すると、エージェントは停止して聞きます。オーディオシステムはそれに適しています。エコーキャンセレーションとエコーゲートにより、エージェントは自分自身を聞くことがなくなり、あなたが話している間は他の音量が下げられます。スリープ中は、コンピューター上の音声検出器がスピーチを聞き取るため、誰も話していない間は何もコンピューターから離れません。
インテリジェンスは設定です。
音声認識、言語モデル、音声はDeepgramのVoice Agentプラットフォームから提供されます。オーディオはDeepgramのモデル改善からオプトアウトされています。モデル、音声、さらにはエージェントの名前も設定で選択できます。
エージェントの仕組み
┌───────────────────────────────────────────────────────────────────────┐
│ あなた: 音声、キーボード、マウス │
├───────────────────────────────────┬───────────────────────────────────┤
│ エージェントサービス │ デスクトップシェル │
│ 会話 (Deepgram Voice │ リングとエージェントのウィンドウ │
│ Agent) · 名前リスナー · 記憶 │ 同意要求 · 通知 │
│ ワーカー: 関数と同意 │ │
├───────────────────────────────────┴───────────────────────────────────┤
│ アプリケーション: アクション · 状態 · 呼び出し (agentappプロトコル) │
├───────────────────────────────────────────────────────────────────────┤
│ サービス: ウィンドウ · ファイル · オーディオ · ネットワーク · Wi-Fi · ランチャー │
├───────────────────────────────────────────────────────────────────────┤
│ vkernel: キャパビリティ · IPC · 分離 · スケジューリング │
└───────────────────────────────────────────────────────────────────────┘
リスニング。
スリープ中、エージェントはコンピューター上で音声検出器を実行します。誰かが話すと、音声はエージェントの名前を知っている認識装置に送られます。「Hey Veda, …」、「… , Veda?」といった呼び出し文でエージェントが起動し、名前と一緒に話されたことが最初に聞こえるものになります。
会話。
起動すると、エージェントの指示、上記のコンテキスト、およびその関数を持つDeepgram Voice Agentセッションが開きます。Deepgramがターンテーキング、言語モデル、音声を担当します。Vedaのオーディオサービスが音声を双方向に伝送します。
アクション。
モデルは、ウィンドウ、ファイル、音量、Wi-Fi、壁紙、通知、タイマーとリマインダー、記憶、システムとその実行中のプログラムなど、エージェント自身の関数を呼び出します。use_appとread_appを通じて、すべてのアプリケーションのアクションと状態を呼び出します。エージェントサービスは各呼び出しを実行し、構造化された結果で応答します。
同意。
承認が必要な呼び出しは保留され、エージェントのウィンドウ(またはウィンドウが閉じている場合は通知)に表示され、何が起こるか、そして何に対して起こるかが正確に示されます。許可すると実行されます。拒否するか、期限切れにすると実行されません。センシティブなアクションは永続的に許可できますが、破壊的なアクションは毎回尋ねられます。
エージェントは設計全体を説明します。プロトコル、音声パイプライン、同意、記憶、およびエージェントのテスト方法です。
オペレーティングシステム
マイクロカーネル。
vkernelは、分離、スケジューリング、メモリ、IPCのみを行います。権限を持つキャパビリティハンドル、ハンドルを運ぶチャネル、VMO、イベント、futexes、割り込みオブジェクト。x2APIC、ticklessタイマー、XSAVEを備えたSMP。ドライバ、ファイルシステム、ウィンドウシステム、エージェントはユーザー空間プロセスであり、initによって監視されます。ウィンドウシステムがクラッシュした場合、再起動され、デスクトップは自動的に復旧します。
デスクトップ。
ディスプレイがアップした後に黒い画面からスプラッシュ画面がフェードインし(リングの周りの呼吸するライト、名前とタグラインが上昇)、準備が整い次第デスクトップに溶け込むスタートアップシーケンス。それに合わせてスタートアップサウンドが始まります。GPU上でコンポーズするサーバーサイド装飾、影、アニメーション、ウィンドウのスナップ、ライブサムネイル付きのAlt+Tabスイッチャーを備えたコンポジットウィンドウマネージャー。PCのIntelグラフィックスではOpenGL ESを使用し、各フレームは垂直ブランクで全体がフリップされます。それ以外の場所ではプロセッサで処理されます。壁紙、デスクトップアイコン(最初にゴミ箱)、タスクバー、検索可能なスタートメニュー、カレンダー、通知を備えたシェル。vuiツールキット(ウィジェット、メニュー、ダイアログ、ベクターアイコン、InterおよびJetBrains Monoフォントによるアンチエイリアステキスト)があり、そのアプリケーションはエージェント互換です。
ネットワーキングとWi-Fi。
ユーザー空間ネットワークサービス(IPv4およびIPv6、DHCP、DNS、ルーティング、TCP、UDP、ICMP)と、スキャン、WPA2、WPA3、オープンネットワークへの接続(管理フレーム保護付き)、ネットワークの記憶、自動再接続とローミングを行うWi-Fiサービス。ドライバ(ドライバVM内のLinuxのもの)は、Wi-Fiサービスが選択したフレームの移動とネットワークへの接続のみを行います。アプリケーション(エージェントを含む)は、vtlsからTLS 1.3および1.2(HTTPS、セキュアWebSocket)を取得し、証明書はMozillaルートに対してチェックされます。QEMUでは、シミュレートされたWi-Fi環境がインターネットにブリッジされたアクセスポイントを提供します。ネットワーキングを参照してください。
オーディオ。
エージェントの会話だけでなく音楽のためにも構築された、エコーキャンセレーションされたキャプチャとダッキングを備えたミキシングオーディオサービス。Linuxのドライバ(仮想マシン内)。Vedaは(今のところ)ディスクとサウンドを自分で駆動し、残りはLinuxから取得します。Linuxは、独自のハイパーバイザー(VMXとEPT、パラバーチャライゼーション)上で、ドライバVM内で実行されます。