PCあるいはスマートフォンを前に過ごす時間が増えるにつれ、私たちは日々の活動を通じて膨大なデータを生成しています。ウェブサイトの閲覧、アプリケーションを利用した文書、プログラム、作品などの制作など、しかし、これらの多くの活動は記録されずにただ消えていきます。
現在、開発中のMnemnkは、このような日常のデジタル活動を自動的に記録し、マルチエージェントシステムを通じて拡張するライフロギングプラットフォームです。
ライフロギング
ライフログというものを私が初めて知ったのは、まだ大学生の頃、研究室で教授が紹介してくれたForgot-me-notというXerox PARCのプロジェクトでした。1
携帯電話はおろかPDAすらなかった時代にこんなものを考え付くPalo Alto研究所はさすがです。
少し前まではウェアラブルカメラやマイクなどを用いていかに現実世界の活動をキャプチャするかがライフロギングにとっての課題の一つでしたが、いまでは人々はインターネットから情報を取得し、メールの返信を書き、SNSにポストし、Slackで仕事のやり取りをし、ウェブ会議に出席します。様々な活動をキャプチャするためのライフロギングのハードルは大幅に下がりました。2
そのような状況で、ライフロギング関連のサービスも近年さまざまなものが登場してきました。しかし、どれも普及してるとはいえない状況です。その理由のひとつとして、すべての活動をクラウドサービスによって記録するのはプライバシー上の重大な懸念があり、多くの人にとって受け入れられないということがあるでしょう。
MnemnkはすべてのデータをローカルPCに保存し、すべての処理をローカルPCで行います。もちろん、外部サービスを活用するカスタムエージェントを導入することもできますが、ユーザーがそうしない限り、データが外部に送られることはありません。
このフロー図は私がMnemnkで設定して使っているものです。アクティブなアプリケーションの情報は10秒ごとに、スクリーンショットは1分毎に保存され、ブラウザエクステンションによって送られてくるブラウジングの記録は自動的に保存され、サマリーのリクエストにはローカルLLMを用いて要約を作成するフローへとデータを送り、そちらのフローで結果をSlackに送っています。
このようにMnemnkでは、あなたの活動記録をどのように扱うか、すべてあなた自身がコントロールできます。
自動的な活動記録
私も昔から様々なサービスを使って記録をとるようにしてきました。Read It Later (現Pocket)、Evernote、Logseq、Obsidian (Web Clipper)といったものを使い、そのときの考えを残すようにしてきました。
しかし、やはり集中して作業を行っていると、ついつい記録をとるのを忘れてしまいます。以前に調べたときに見つけた情報がどこにあったのか分からなくなってしまい、Chromeの検索履歴をさまざまなキーワードで検索しても見つからず、gitのcommit logに残された日付と時間からそのあたりの検索履歴を目視でチェックして、ようやく見つかるといった有様でした。3
Mnemnkを使うと、さきほどのようなフローを設定することで、あなたのPC上の活動が自動的に保存されます。
そうして保存されたデータを検索したり、特定の日時を開くことによって、そのときの状況を振り返ることができます。
保存のためのディスク容量が心配になるかもしれません。参考までに、4か月間程度の情報が保存されている私のDBのサイズはたったの1GBです。スクリーンショットは120GB程度あり、よりよい保存方法を検討したいとは思っていますが、1TBで8年は保存できるということですので、まだ数年は問題にならなそうです。
エージェントベースの拡張性
Mnemnkでは、取得する情報や、その格納方法、またデータの処理をフローで記述することができます。現在、多くのシステムでノードベースのフローの構築がサポートされています。古くはUEのBlueprint、AI関係ではDifyやLangFlow、生成AIのComfyUIなどなど。
Mnemnkでは、いわゆるAIエージェントだけではなく、さまざまな処理を行うフロー中のノードをすべてエージェントと呼んでいます。4
Mnemnkのノードは開始されると、それぞれが非同期に独立して動作することができます。これは、アクティブなノードが一つずつ移り変わっていき、入力に対して出力を行うことでアクティブなノードが順に遷移していく多くのシステムとは異なる動作です。5
それぞれのノードが独立して実行し、入力に対する結果を出力してもいいし、しなくてもいい。そのためフローはループを持つこともできますし、同時に複数のノードが何か処理を実行していることもあります。
そして、これらのフローは一度だけ実行されたら終わりではなく動き続けます。
こうした小さなエージェントは組み込みのものだけでなく、外部プログラムとして作成しMnemnkを拡張することも容易です。(タイトルの背景が黄色のエージェントは外部プログラムによるエージェントです)
Mnemnkの始め方
MnemnkはWindows, macOS, Linuxで動作するデスクトップアプリケーションです。
興味を持っていただけたら、Mnemnkのインストール から始めてみてください。
MnemnkはOSSとして開発を行っており、まだまだ開発途中です。開発に興味がある方はGitHubリポジトリをチェックしてみてください。
まとめ
この2年間、Mnemnkの開発にだいぶ時間をつぎ込んでしまいました。6
安定してきて、みんなにも使ってもらおうと記事を書き始めたのですが、書きたいことが多すぎて収拾がつかなくなりそうでしたので、今回は紹介にとどめます。
技術的な話も書いていこうと思います。よろしければフォローお願いします。
-
もちろん、ウェアラブルな装置がなければ記録をとれない活動は依然としてありますし、Meta QuestやApple Vision Proのようなimmersiveなデバイスは今後より進化するでしょう。 ↩
-
以前に医学系の方とご一緒したとき、一日の終わりにディスカッションした内容や実験結果などを記載したノートを見せていただき内容を確認して日付とともにサインしてほしいと依頼されました。情報系も見習わないといけないところだと思います。 ↩
-
「この本の目標は、知能をもっと小さなものの組み合わせで説明することである。それには、その小さなもの、つまりエージェント自体にはどれ一つとして知能がないことを、いつも確認しておかなければならない。」マービン・ミンスキー『心の社会』 ↩
-
イベントドリブンでかつループが作れるという点ではUEのBlueprintが最も近いかな。 ↩
-
お仕事も募集中です。 ↩



