「AIエージェントキャッチアップ #73 - nanobot」を開催しました

ジェネラティブエージェンツの大嶋です。

「AIエージェントキャッチアップ #73 - nanobot」という勉強会を開催しました。

https://generative-agents.connpass.com/event/390044/generative-agents.connpass.com

アーカイブ動画はこちらです。

www.youtube.com

nanobot

今回は、OpenClawにインスパイアされた超軽量パーソナルAIアシスタント「nanobot」をキャッチアップしました。

nanobotのGitHubリポジトリはこちらです。

github.com

公式ドキュメントはこちらです。

nanobot.wiki

今回のポイント

nanobotとは

nanobotは、OpenClawにインスパイアされた超軽量パーソナルAIアシスタントです。

GitHubのREADMEによると、コア機能が99%少ないコード行数で実装されているとのことです。

OpenClawのように、SlackやDiscordなどの各種チャットアプリと接続可能なAIエージェントです。

nanobotの主な機能

nanobotの主な機能は以下の通りです。

  • チャットアプリ接続:Slack、DiscordなどでAIエージェントと対話可能
  • エージェントループ:ファイル操作やコマンド実行ができるエージェントとして動作
  • スケジュールタスク:CronツールまたはHEARTBEAT.mdを使用したタスクのスケジュール

nanobotをさわってみた

nanobotはuv tool install nanobotでインストールします。 nanobot onboardコマンドを実行すると、~/.nanobot/config.jsonという設定ファイルが作成されます。

~/.nanobot/config.jsonには以下のように、エージェントやチャンネル、モデルプロバイダー、ツールの有効/無効などを設定します。

{
  "agents": {
    "defaults": {
      "workspace": "~/.nanobot/workspace",
      "model": "anthropic/claude-opus-4-5",
      "provider": "anthropic",
        :
  "channels": {
      :
    "slack": {
      "enabled": false,
        :
  "providers": {
      :
    "anthropic": {
      "apiKey": "",
      "apiBase": null,
      "extraHeaders": null
    },
      :
  "tools": {
    "web": {
      "enable": true,
        :

モデルのAPIキーを設定し、nanobot agentコマンドを実行すると、ターミナル上でエージェントと対話できます。

OpenClawとの違いとして、nanobotはsystemdでの実行を前提としていないため、Dev Containerの環境でも簡単に動かすことができました。

また、nanobot gatewayコマンドを実行すると常駛プロセスを起動し、各種チャットアプリからの接続や、cron・ハートビートが動作するようになります。

ワークスペースのファイル構成

nanobotはデフォルトで~/.nanobot/workspaceがエージェントのホームディレクトリとなります。 OpenClawと同様に、マークダウンファイルでエージェントの動作を定義します。

~/.nanobot/workspace
├── AGENTS.md ...... エージェントの動作手順
├── HEARTBEAT.md ... 定期実行タスクの定義
├── SOUL.md ........ エージェントのパーソナリティやトーン
├── TOOLS.md ....... 利用可能なツールの詳細
└── USER.md ........ ユーザーのプロフィール

OpenClawと同様、これらのファイルはnanobotが編集しながら動作します。

nanobotの特徴的な機能

nanobotの特徴的な機能として、以下の2つを紹介します。

  • Dream機能
  • spawnツール

Dream機能

nanobotには、記憶をときどき整理する「Dream」機能があります。

数時間ごとに新しい会話履歴と長期記憶ファイルを読み込んで、長期記憶ファイルを更新します。

nanobotのワークスペースはGitリポジトリになっており、Dreamによる変更内容はローカルのGitリポジトリにコミットされます。

nanobot.wiki

spawnツール

nanobotには、サブエージェントを起動するspawnツールがあります。 spawnツールは、非同期で動作するワーカーとしてサブエージェントを実行します。

つまり、メインのエージェントとの対話は継続したまま、バックグラウンドでサブエージェントが動作します。 サブエージェントの処理が完了すると、メインエージェントに通知されます。

次回のご案内

以上、今回は「nanobot」をキャッチアップしました。

次回は「AIエージェントキャッチアップ #74 - NemoClaw」ということで、OpenClawのような常時稼働アシスタントをより安全に実行するためのNVIDIAの「NemoClaw」がテーマです!

https://generative-agents.connpass.com/event/390939/generative-agents.connpass.com

ご興味・お時間ある方はぜひご参加ください!

また、その次の回以降のテーマも募集しているので、気になるエージェントのOSSなどあれば教えてください!