Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】THRASH: I Gave My Friend an Operating System for Her Brain

2026年10月05日に「Dev.to」が公開したITニュース「THRASH: I Gave My Friend an Operating System for Her Brain」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

頭の中で多数のプロジェクトを同時に抱え、切り替えで効率が落ちる友人のため、AI搭載の人間向けプロセススケジューラ「THRASH」を開発。中断したプロジェクトの作業内容や次にすべきことをAIが再現し、スムーズな再開を支援する。アイデアも割り込みとして処理し集中を維持。データはローカルで保護する。

ITニュース解説

このニュース記事は、友人のMさんが抱える独特な「タスク管理」の問題を、情報技術(IT)の視点、特にオペレーティングシステム(OS)の概念を用いて解決しようと試みる「THRASH」というシステムについて解説している。Mさんは一般的な人とは異なり、物事を先延ばしにすることがなく、常に多くのアイデアやプロジェクトを同時に進行させている。頭の中では音楽が流れ、未解決の数学の問題があり、開発中のゲームがあり、さらに新しい研究アイデアが次々と生まれる。時には全く関係のない疑問が緊急度を増し、Mさんの注意を完全に奪ってしまう。筆者はこのMさんの状態を、まるで2019年から再起動されていないデスクトップコンピューターのようだと表現し、複数の未完了のプログラムが同時に動いているような状況と比較している。

当初、筆者はMさんに新しいタスクプランナーを作ることを考えた。しかし、既存のプランナーですら管理しきれていないMさんにとって、新しいプランナーはさらなる管理対象を増やすだけだと気づいた。そこで筆者はMさんを「整理されていない人」として見るのではなく、「スケジューリングがうまくいっていないコンピューター」として捉えることにした。この視点の転換が重要だった。コンピューターの世界では、同時に多くのプログラム(プロセス)を動かそうとすると、コンピューターはプロセス間の切り替えに多くの時間を費やし、実際の作業が進まなくなる現象がある。これを「スラッシング」と呼ぶ。Mさんの状態はまさにこの「人間版スラッシング」であると筆者は結論付けた。

そこで開発されたのが「THRASH」である。これは、ローカルで動作するAIを活用した「人間向けプロセススケジューラ」だ。THRASHはMさんのプロジェクトを、オペレーティングシステムの「プロセス(実行中のプログラム)」のように扱う。単にOSの専門用語をタスクリストに当てはめるのではなく、OSのメタファーが実際のMさんの行動と一致する場合にのみ採用するという厳格なルールに基づいて開発された。

THRASHでは、プロジェクトは「RUNNING(実行中)」「READY(実行可能)」「SLEEPING(休止中)」「STARVED(放置されすぎた状態)」「ZOMBIE(静かに終了したが未解決の問題を残した状態)」、または「完全に終了した状態」といったOSのプロセス状態になぞらえて管理される。あるプロジェクトから別のプロジェクトに切り替える際、OSが現在のプロセスの「コンテキスト(作業の状態)」を保存するように、THRASHもMさんの作業コンテキストを保存する。そして、以前のプロジェクトに戻る際には、そのコンテキストを復元する。

THRASHの最も重要な機能は「人間版ページフォールト」と呼ばれるものだ。コンピューターは中断したプロセスの状態を保存し、後で正確に再開できる。しかし人間は、数時間、数日、あるいは数週間ぶりにプロジェクトに戻ると、以前自分が何をしていたのか忘れてしまい、ファイルを見てもまるで他人が書いたもののようだ、と感じることがよくある。THRASHは、この人間の「何をしていたか忘れてしまう」状態を、OSの「ページフォールト(必要な情報がメインメモリにないため、ストレージから読み込む必要がある状態)」と捉える。そして、Mさんがプロジェクトに戻った時に、単に「ゲーム開発中だった」と伝えるだけでなく、「実際に何をしたか」「何を終えたか」「何を決定し、その理由は何か」「どこで作業を止めたか」「何が未解決のままか」「離れている間に何が変わったか」「次に実行すべき具体的なステップは何か」といった詳細な情報を再構築し、提供する。これにより、Mさんはプロジェクトの状況を頭の中で再構築するのに何十分も費やすことなく、すぐに作業を再開できる。

また、Mさんは多くの新しいアイデアが次々に浮かぶという問題も抱えていた。以前は、面白いアイデアが浮かぶと、それが新しいブラウザタブ、メモ、調査、新しいフォルダー、新しいプロジェクトへと繋がり、元の作業を中断させてしまっていた。THRASHは、このようなアイデアを「IRQ(割り込み)」として処理する場所を提供する。IRQとは、コンピューターにおいて現在の処理を一時中断し、別の処理へ移るようCPUに指示する信号のことだ。THRASHでは、アイデアは失われることなく保存されるが、すぐに新しいプロジェクトとして始動することはない。現在の作業は中断されず、アイデアはキューに入れられ、Mさんが都合の良い時に確認できるようになる。これにより、アイデアが元の作業の流れを邪魔することなく、適切に管理される。

THRASHのインターフェースには、視覚的な特徴もある。画面の視覚的な不安定さ、つまり「グリッチ」は、単なる見た目のクールさを追求したものではない。これは、スケジューラの負荷、すなわちMさんがプロジェクトを頻繁に切り替えている状態を示している。切り替えの頻度が高まると視覚的な「反響」が生じ、古いプロセスの情報が「残像」のように残り、多くの作業が同時に活動している状態は「ページチャーン(メモリ上の情報の激しい入れ替わり)」として表現される。つまり、画面が乱れるのはMさんがプロジェクトを頻繁に切り替えているからであり、THRASHが単にOSのような見た目を目指すのではなく、OSのように振る舞うことを目的としているためだ。

さらに、時にはプロジェクトを削除するのではなく、単に「今はやらない」という判断が必要な場合がある。THRASHでは、OSがプロセスの状態を保存して一時的にメインメモリから「ページアウト(一時退避)」させるように、プロジェクトの作業状態を保存し、「SWAP HORIZON(交換境界)」と呼ばれる領域へ移動させることができる。これにより、Mさんの頭の中の負荷が下がり、作業範囲が安定する。プロジェクトが失われるわけではなく、そのコンテキストはいつでも復元できる状態で待機している。

THRASHのインターフェースは、「DISPATCH TRACE(実行履歴)」「SCHEDULER SCAR(過去のスケジューリングの痕跡)」「RESIDENT WORKING SET(現在活動中のプロジェクトの集合)」「SWAP HORIZON(一時退避領域)」「CORE / PROGRAM COUNTER / REGISTERS / STACK(CPUのコアや状態)」「IRQ RAIL(割り込みキュー)」「PAGE FAULT(ページフォールト)」「KERNEL PANIC(システム障害)」といった、THRASH独自のOS用語を元に構成されている。これは、Mさんが多くのプロジェクトを抱えていても、最終的には「一つの人間としてのコア」しか持たない、という現実を反映している。

このシステムの技術的な側面も興味深い。THRASHはPythonで書かれたターミナルアプリケーションだ。スケジューラ部分は、プロセス登録、コンテキストスイッチ履歴、状態管理、割り込み、飢餓状態の検出、スラッシングの閾値など、決定論的な処理をすべてPythonが担当している。これらの処理に大規模言語モデル(LLM)は使用されていない。一方、「人間が何を考えていたか」という難しい問いに答える部分には、ローカルで動作するGemmaというLLMが活用されている。Gemmaは、プライバシーフィルターを通したMさんのプロジェクト関連情報(ファイル内容やコミット履歴など)を受け取り、前述したような「何をしていたか」「次に何をすべきか」といった構造化されたセマンティックなプロセスイメージを再構築する。この情報は厳密に検証され、不正な形式の応答は拒否される。

開発者はプライバシーを非常に重視している。THRASHはMさんのプロジェクトを外部のサーバーにアップロードすることなく、ローカルで完結する設計になっている。GemmaモデルもOllamaというツールを通じてローカルで実行されるため、インターネット接続がなくても機能する。これにより、未完成のコード、研究ノート、個人的なアイデアなど、公開されるべきではない情報がMさんのコンピューターから外部に漏れる心配がない。

さらに、THRASH自身の動作はSentryというツールで監視されている。これはオプション機能であり、デフォルトでは無効だが、ページフォールトの復元にかかる時間や、モデルによる情報抽出の成功・失敗、スキーマの検証状況などを追跡する。これにより、例えばGemmaの推論に時間がかかるボトルネックが特定された。ただし、Sentryに送信されるデータは、プロンプト、完了した内容、ソースコード、ノートの内容など、プライベートな情報は一切含まれず、期間や検証状態などのメタデータのみに限定される。

THRASHの開発過程では、開発者自身がAIコーディングエージェントを使用していた。興味深いことに、そのエージェント自身が新しい機能やメカニズムを次々と提案し、THRASHが解決しようとしている「多すぎるプロセス」の問題を開発者にも引き起こしそうになった。最終的に開発者はエージェントに「これ以上機能を追加しない。スケジューラをスケジューリングする時だ」と指示する必要があったという。

このプロジェクトは、多くの生産性ソフトウェアが「次に何をすべきか」を決定することが最も難しいと考えている点に異議を唱える。時には、次にどのプロジェクトを続けたいかは明確でも、以前の自分が何を学び、何を決定し、何を心配していたか、なぜその作業を中断したのかを思い出せないことが問題なのだ。THRASHはMさんに集中を促したり、アイデアを減らしたりするのではなく、すべてのアイデアが待機する場所を与え、Mさんが戻ってきた時に、以前のMさんが残した状態を思い出せるようにする。

最終的に、THRASHは「1人の人間、1つのコア、そして多すぎるプロセス」という状況に対し、コンピューター科学の知識を応用して、人間が持つ創造性や好奇心を抑えつけることなく、より効率的に、そして人間らしくプロジェクトを管理できる可能性を示している。

関連コンテンツ

関連IT用語

関連ITニュース