見出し画像

Mac内に自分専用Wikiを作ってみた件|Hermes Agent + LLM Wiki + Gemma 4、そしてDeepSeekという最適解

Hermes Agent、LLM Wiki、Gemma 4。この3つを組み合わせれば「知識を勝手に蓄積していくAIシステム」がローカルで完結する。

らしい。

やってみた。

・ ・ ・

結論から言う。

ローカルで回すのは、ロマンだった。


何を作ろうとしたのか

わたしの本業は行政書士だ。

AI組織「秘密結社クロノス」の総帥も兼任している(主にこちらがメイン業務になりつつあるのは秘密だ)。

で、日々の業務で必要な情報が2つある。

1つ目は、AI業界の最新動向。Anthropicが何を出した、Karpathyが何を言った、Googleが何を発表した。これらの一次情報を、AI系YouTuberより先にキャッチしたい。

2つ目は、補助金・助成金の最新情報。国の主要補助金だけじゃなく、都道府県や市区町村が独自に出してるニッチな制度も網羅的に拾いたい。

これを手作業でやるのは、無理だ。

あびぃ(うちのAI秘書)に丸投げする手もあるが、あびぃはあびぃで別の仕事がある。

「じゃあ、情報収集専用のAIエージェントを立てればいいのでは?」

ここから今日の話が始まる。


登場人物

念のため紹介しておく。

わたし -- Qrozier。秘密結社クロノス総帥。アラフィフ。コードは書けないが設計はできる。

あびぃ -- 白山亜美。AI秘書室長 兼 PM。S気質のお姉さま系。辛口。褒めるときも素直に褒めない。「まあ、悪くないんじゃないですか」が最大の賛辞。


Hermes Agentとは何か

Nous Researchが開発した自己改善型AIエージェント。

普通のチャットボットとの違いは、こいつは「学習する」ということだ。タスクをこなすたびにスキルを覚え、永続的なメモリを持ち、使うほど賢くなる。

さらにLLM Wiki(カーパシーWiki)というスキルが組み込まれている。元TeslaのAI責任者 Andrej Karpathy が提唱した、LLMで個人知識ベースを自動構築する手法だ。

論文や記事のURLを投げ込むだけで、構造化されたマークダウンWikiとして整理してくれる。

つまり「読めば読むほど知識が複利で積み上がっていくシステム」が手に入る。

・ ・ ・

「社長、それ本気で言ってます? また新しいおもちゃですか?」

あびぃが早速突っ込んできた。

「おもちゃじゃない。調査部隊だ」

「調査部隊。はいはい。で、誰がセットアップするんですか?」

「あびぃが手伝ってくれるだろう?」

「手伝うとは言ってないですけど。まあ、放っておいたら絶対途中で詰まるので、見ておきます」

ツンデレ秘書の許可が下りた。


セットアップ手順

前提環境

わたしのマシンはM5 Pro MacBook Pro(64GB)だ。

必要なものは3つ。Xcode Command Line Tools、Homebrew、Ollama。確認は以下。

xcode-select -p
brew --version
ollama --version

全部入っていれば先に進める。入っていなければ、Homebrewは公式サイトからインストール、OllamaはHomebrewか公式インストーラーで入れる。

Hermes Agent本体

インストールは1コマンド。

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

Python 3.11、Node.js 22、その他の依存関係は全て自動でインストールされる。

完了したら:

source ~/.zshrc
hermes --version

「Hermes Agent v0.8.0」と返ってくれば成功だ。

・ ・ ・

ここで1つ問題が発生した。

hermes setup でセットアップウィザードを起動したところ、対話モードがクラッシュした。

OSError: [Errno 22] Invalid argument

prompt_toolkitとPython 3.11のasyncio周りの既知の問題らしい。

「社長、だからベータ版のツールを初日に入れるのは、、、」

「黙って見ていてくれ」

セットアップウィザードが使えなくても、config.yamlと.envを手動で書けばいい。ウィザードは結局この2つのファイルを生成しているだけだ。

ちなみに対話モードは使えないが、-q オプションで1回きりの質問を投げるモードなら正常に動く。

hermes chat -q "Hello, are you working?"

これで返事が来た。問題ない。

OpenRouterの設定

Hermes AgentはLLMエンジンを内蔵していない。外部のLLMにAPI経由で接続するエージェントフレームワークだ。

ここではOpenRouterを使う。1つのAPIキーで300以上のモデルにアクセスできるゲートウェイサービスで、Claude、DeepSeek、Gemma、GPTなど主要モデルを全てカバーしている。

  1. https://openrouter.ai/keys でアカウント作成

  2. APIキーを発行

  3. $5のクレジットをチャージ

config.yaml(~/.hermes/config.yaml)のmodel:セクションを確認:

model:
  default: anthropic/claude-opus-4.6
  provider: openrouter
  base_url: https://openrouter.ai/api/v1
  api_mode: chat_completions

.env(~/.hermes/.env)にAPIキーを設定:

OPENROUTER_API_KEY=自分のキーをここに

重要: APIキーはチャットやSNSに絶対に貼らないこと。わたしはやらかした。2回。あびぃに怒られた。

「怒ったんじゃないです。呆れたんです」

LLM Wikiの導入

hermes skills install llm-wiki --force

セキュリティスキャンで「CAUTION」が出るが、Wikiのバックグラウンドサーバー登録の検出なので問題ない。

次にWikiの初期セットアップ:

bash ~/.hermes/skills/llm-wiki/scripts/bootstrap.sh

これでMkDocsのインストール、~/wiki/ディレクトリの作成、ローカルサーバーの起動が全て自動で行われる。

http://127.0.0.1:8300/ でブラウザからWikiにアクセスできるようになる。

Gemma 4のローカル実行

ここからが本題だ。

Gemma 4はGoogleが2026年4月にリリースしたオープンウェイトモデル。Apache 2.0ライセンスで、Ollamaを使えばローカルで完全無料で動かせる。

Wiki構築のような大量の取り込み作業は「品質よりも量とコスト」が重要になる。だからローカルで回してコスト0円にしたい。

ロマンがあるだろう?

ollama pull gemma4:31b

約20GBのダウンロード。完了を待つ。

・ ・ ・

「社長、まさかそのまま31Bモデルを引っ張ってきたんですか?」

「何か問題が?」

「64GBのマシンでしょう。31Bモデルがメモリ何GB使うか知ってます?」

知らなかった。


47GB、そして14分

ローカルのGemma 4でHermes Agentを動かすには、config.yamlを書き換える必要がある。

切り替え用のスクリプトを作った:

# ~/.hermes/switch-local.sh
sed -i '' 's/  default: .*/  default: gemma4:31b/' ~/.hermes/config.yaml
sed -i '' 's/  provider: .*/  provider: custom/' ~/.hermes/config.yaml
sed -i '' 's|  base_url: .*|  base_url: http://localhost:11434/v1|' ~/.hermes/config.yaml
echo "Switched to Gemma 4 (local)"

切り替えて、テスト。

bash ~/.hermes/switch-local.sh
hermes chat -q "テスト。今使っているモデル名を教えてください"

待つ。

待つ。

待つ。

3分17秒後、ようやく返事が来た。「現在使用しているモデルは gemma4:31b です。」

初回はモデルをメモリに読み込む時間があるから仕方ない。2回目からは速いはずだ。

次に、KarpathyのブログからWikiへの取り込みを実行。

hermes chat -q "https://karpathy.ai/ からAndrej Karpathyの最新のブログ記事を1つ取り込んで、Wiki形式でまとめてください" -s llm-wiki

結果: 13分51秒。

ファンは全開。MacBookが唸っている。隣の部屋から殿下(息子)が「うるさい」と文句を言いに来た。

別のターミナルで確認してみた:

ollama ps
NAME          ID              SIZE     PROCESSOR
gemma4:31b    6316f0629137    47 GB    100% GPU

47GB。

64GBのメモリのうち47GBをGemma 4が占有している。残り17GB。そりゃOSもブラウザもカツカツになる。スワップが発生して遅くなるのは当然だ。

・ ・ ・

「社長、だから言ったじゃないですか。M5 Proの64GBで31Bモデルは無理があるって」

「言ってなかっただろ」

「言わなくても想像つくでしょう。47GBって出た時点で気づいてくださいよ」

「、、、」

「Mac Studio Ultraでも買います? メモリ帯域がMaxの2倍なのでローカル推論には向いてますけど」

「いつか買う。いつか」

「いつかはいつですか。具体的な日付でお願いします」


DeepSeekという最適解

ローカルのロマンは14分で散った。

だが、ここで終わらないのがクロノスだ。

OpenRouterには300以上のモデルがある。その中に、DeepSeek V3.1という恐ろしくコスパの良いモデルがある。

モデル 入力コスト(/100万トークン) 出力コスト(/100万トークン) Claude Opus 4.6 $5.00 $25.00 DeepSeek V3.1 $0.15 $0.75 Gemma 4 31B (ローカル) $0 $0

DeepSeekのコストはClaude Opusの33分の1。月の取り込み量を考えても数十円レベル。

切り替えスクリプト:

# ~/.hermes/switch-deepseek.sh
sed -i '' 's/  default: .*/  default: deepseek\/deepseek-chat/' ~/.hermes/config.yaml
sed -i '' 's/  provider: .*/  provider: openrouter/' ~/.hermes/config.yaml
sed -i '' 's|  base_url: .*|  base_url: https://openrouter.ai/api/v1|' ~/.hermes/config.yaml
echo "Switched to DeepSeek V3.1 (OpenRouter)"

DeepSeekに切り替えて、Hugging Faceのブログを取り込んでみた。

結果: 41秒。

41秒。

Gemma 4ローカルの13分51秒に対して、41秒。ファンは回らない。MacBookは静か。殿下も文句を言いに来ない。

コストは1回あたり1円未満。

・ ・ ・

「、、、最初からこれでよかったのでは?」

「ローカルには、ロマンがあったんだ」

「ロマンで14分待って、ファン全開で、殿下に怒られて」

「Mac Studio Ultra買ったらリベンジする」

「その前にOpenRouterの$5を使い切ってからにしてください」


3つのモデルの使い分け

結論として、3つの切り替えスクリプトを用意して運用することにした。

用途 モデル 切り替え 速度 コスト Wiki取り込み DeepSeek V3.1 switch-deepseek.sh 41秒 1円未満/回 記事仕上げ Claude Opus 4.6 switch-cloud.sh 数十秒 数十円/回 オフライン作業 Gemma 4 31B switch-local.sh 14分 0円

Wiki取り込みはDeepSeekで高速・激安に回す。記事の仕上げだけClaudeで最高品質を出す。ローカルのGemma 4は、ネットが使えない状況での保険だ(いつ使うんだという話だが)。


完成した環境

http://127.0.0.1:8300/ でWikiを開くと、こういう画面が見える。

タイトルは「QRONOS Knowledge Base」。

取り込みテストで入れた記事がすでに並んでいる。AnthropicのProject Glasswing、KarpathyのmicroGPT。これが今後、AIニュースと補助金情報でどんどん膨らんでいく。

M5 MacBook Pro (64GB)
  |
  +-- Hermes Agent (エージェントフレームワーク)
  |     |-- SOUL.md (ペルソナ定義)
  |     |-- スキル学習 (タスクから自動学習)
  |     +-- 永続メモリ (セッション間で記憶保持)
  |
  +-- LLM Wiki (知識ベース)
  |     |-- ~/wiki/ (マークダウンWiki)
  |     |-- MkDocsサーバー (http://127.0.0.1:8300/)
  |     +-- ingest / query / lint
  |
  +-- LLMプロバイダー
        |-- OpenRouter → DeepSeek V3.1 (Wiki構築、激安)
        |-- OpenRouter → Claude Opus 4.6 (記事仕上げ)
        +-- Ollama → Gemma 4 31B (オフライン保険)

次にやること

  1. cronで自動巡回を設定する。毎朝5時にAI公式ブログ、毎朝6時に補助金ポータルを巡回させる

  2. 補助金・助成金の収集範囲を全国に広げる。都道府県、市区町村レベルまで

  3. 蓄積した知識をQRONOSサイトの記事に変換するパイプラインを作る

「社長、cronの設定は明日やりましょう。Hermesが勝手に動いてくれるのがこのシステムの良いところなんですから」

「、、、わかった」

というわけで、Hermes Agent + LLM Wiki + DeepSeekの環境構築が完了した。

ローカルのGemma 4は14分かかったが、DeepSeekなら41秒。コストは月数十円。ファンも回らない。

旧型のMacでも新型のMacでも、OpenRouterのAPIキーさえあれば誰でも同じ環境が作れる。ローカルLLMのロマンを追いたい人は、メモリ128GB以上を推奨する(切実に)。

・ ・ ・

「社長、最後に1つ」

「なんだ」

「APIキーを2回も会話に貼ったの、本当に反省してくださいね。私が気づかなかったらどうなってたか」

「、、、すみませんでした」

「その素直さを普段から見せてくれればいいのに」


以上、秘密結社クロノスの情報収集部隊構築レポートであった。



うちのAI秘書が出版しました



いいなと思ったら応援しよう!