Hermes Agent × Obsidian──AIエージェントの記憶を「内部メモリ」と「外部ノート」に分けて設計する実践ガイド
この記事は約 25 分で読めます
Hermes Agent を使い始めて最初にぶつかる壁は、「昨日話したこと、覚えてないの?」です。新しいセッションを開くたびに、プロジェクトの背景を説明し直し、ルールを伝え直し、好みを伝え直す。毎回ゼロからやり直す感覚。
「Obsidian に全部まとめておけば解決するのでは?」──その発想は正しい方向ですが、半分しか合っていません。Hermes Agent 公式ドキュメントを読みながら、AIエージェントの記憶を「内部」と「外部」に分けて設計する方法を整理します。
Hermes Agent と Obsidian を組み合わせる本当の価値
Hermes Agent は Nous Research が開発したオープンソースの汎用 AI エージェントで、2026 年 2 月にリリースされてから 3 ヶ月で GitHub スター 22,000 超、242 名のコントリビューターを集めています。「あなたと一緒に成長するエージェント」を掲げ、セッションをまたいで学習し、スキルを自動生成し、使うほど賢くなる──そういう設計思想のツールです。
一方、Obsidian はローカルの Markdown ファイルで知識を管理するツール。Git や Obsidian Sync でデバイス間同期ができ、ファイルは人間が直接読み書きできます。
この 2 つを組み合わせるとき、よくある誤解が「Obsidian に情報を入れておけば AI が全部覚えてくれる」です。実際は違います。
ここで大事なのは
Hermes Agent × Obsidian の本当の価値は、「AI に全部覚えさせること」ではなく、「AI が覚えるべきこと」と「人間がノートとして管理すべきこと」を分けられること。
この切り分けができると、毎回ゼロから説明し直す回数が激減します。でもそのためには、何をどこに保存するかの設計が必要です。
まず理解したい、Hermes Agent の記憶と Obsidian の違い
Hermes Agent と Obsidian はどちらも「情報を保存する」ツールですが、保存の仕組みと目的がまったく違います。ここを理解していないと、保存先を間違えて情報が散らかるだけになります。
Hermes Agent の記憶システム
Hermes Agent の記憶は ~/.hermes/ ディレクトリに保存されます。公式ドキュメントに基づくと、主要な記憶ファイルは 3 つです。
| ファイル | 場所 | 役割 | サイズ上限 |
|---|---|---|---|
| SOUL.md | ~/.hermes/SOUL.md | エージェントの人格・トーン・スタイルの定義 | 制限なし(ただし簡潔推奨) |
| MEMORY.md | ~/.hermes/memories/MEMORY.md | エージェントが自己管理するメモ。環境情報、発見した回避策、学んだ教訓 | 約 2,200 文字 |
| USER.md | ~/.hermes/memories/USER.md | ユーザーの役割、技術スタック、好み、目標 | 約 1,375 文字 |
さらに ~/.hermes/state.db という SQLite データベースがあり、全セッションの会話履歴を FTS5(全文検索)インデックス付きで保存しています。「前にやったよね?」「覚えてる?」と聞くと、このデータベースから過去のセッションを自動検索してくれます。
ポイントは、MEMORY.md と USER.md にはサイズ上限があることです。MEMORY.md は約 2,200 文字、USER.md は約 1,375 文字。合計しても原稿用紙 9 枚分程度。ここに長文の作業ログや仕様書を入れようとすると、すぐにあふれます。
Obsidian の役割
Obsidian は、Markdown ファイルをローカルに保存する「知識ベース」です。Hermes Agent との違いを整理するとこうなります。
- サイズ制限がない──何千ファイル、何万行でも保存できる
- 人間が直接読める──Markdown なのでエディタでもブラウザでも開ける
- 構造を自分で設計できる──フォルダ、タグ、リンクで自由に整理
- デバイス間で同期できる──Obsidian Sync、Git、iCloud、Google Drive 等
- AI が自動で学習しない──Hermes Agent に「読め」と指示しない限り、ただのファイルのまま
最後の点が重要です。Obsidian にどれだけ情報を入れても、Hermes Agent が自動的にそれを学習するわけではありません。「ここにあるから読んで」と明示的に指示するか、Hermes Agent の Obsidian スキルを使って読ませる必要があります。
補足
Hermes Agent v0.14.0(2026 年 5 月 16 日リリース)で、ファーストクラスの Obsidian プロバイダが搭載されました。OBSIDIAN_VAULT_PATH を設定すると、Vault 内のノートの読み取り・検索・作成・編集が可能になります。バンドルスキル skills/note-taking/obsidian/SKILL.md として同梱されています。

何を Hermes Agent に覚えさせるべきか
MEMORY.md と USER.md には 2,200 + 1,375 ≒ 3,575 文字しか入りません。つまり「短くて、毎回効かせたい情報」だけを入れるべきです。
Hermes Agent に覚えさせるのに向いている情報は、こういうものです。
- ユーザーの好みとスタイル──「AI 記事では煽りより実務視点を重視する」「返答は日本語、コードコメントは英語」
- 継続的な禁止ルール──「Secret 類はチャットに出さない」「Markdown 中に絵文字を使わない」
- よく使う判断基準──「画像生成は 16:9 WebP、Pillow 実寸確認を必須にする」
- 作業の型──「コードレビュー時はセキュリティ → パフォーマンス → 可読性の順に確認」
- 短く抽象化された方針──「PR は 1 機能 1 PR。バンドルしない」
共通点は「短い」「抽象的」「時間が経っても変わりにくい」の 3 点です。
逆に入れてはいけないのが、具体的で長い情報。作業ログ、議事録、URL リスト、仕様書の全文。これらは MEMORY.md に入れると一瞬であふれますし、毎セッションのシステムプロンプトに注入される(=毎回トークンを消費する)ので、コストも増えます。
SOUL.md の使い方
SOUL.md はエージェントの「人格」を定義するファイルです。MEMORY.md / USER.md とは別の用途で、コミュニケーションのトーンやスタイルを決めます。
たとえば「フレンドリーだが冗長にはならない」「技術用語はそのまま使うが、概念は日本語で補足する」「結論を先に言ってから理由を述べる」など。これは一度設定すればほぼ変わらないため、最初に書いて放置で構いません。
覚えさせるかどうかの判断基準
「次のセッションでもこれを自動で効かせたいか?」── Yes なら Hermes Agent に覚えさせる。「後で参照したいが、毎回読む必要はない」── Obsidian に保存する。
何を Obsidian に保存すべきか
Obsidian に向いている情報は、「長い」「具体的」「時間とともに増える」「人間が読んで確認したい」ものです。
- プロジェクト概要──目的、関係者、スケジュール、現在地
- 意思決定ログ──「なぜこの技術を選んだか」「なぜこの方針を変えたか」
- 作業ログ──日次・週次の作業記録、進捗、詰まったこと
- 仕様書──API 仕様、DB スキーマ、画面設計
- 記事ネタ・下書き──タイトル案、構成案、調査メモ
- 参考 URL と調査メモ──記事や公式ドキュメントの要約
- 失敗ログ──何をやって、なぜ失敗して、どう直したか
- ルール集──プロジェクト固有のルール(多くなるものは MEMORY.md に入りきらない)
- 変更履歴──設定やポリシーの変更記録
たとえば私の場合、AI ニュースサイトの運営で以下のようなファイルを Obsidian に置いています。
AIニュースラボ/current-state.md ← プロジェクトの現在地
AIニュースラボ/rules.md ← 記事制作ルール(長文)
AIニュースラボ/article-log.md ← 記事一覧と公開日
AIニュースラボ/decision-log.md ← 方針変更の履歴
AIニュースラボ/palette-rules.md ← 画像カラーパレットのルール
AIニュースラボ/incidents.md ← 過去の事故と対処
これらは Hermes Agent の MEMORY.md には到底入りきりません。でもプロジェクトの文脈を理解するために必要な情報です。必要なときに「このファイルを読んで」と指示する──それが Obsidian の使い方です。
毎回読ませる情報と、必要な時だけ読む情報を分ける
Obsidian に情報を置いたとして、全部を毎回読ませたら意味がありません。Vault が 100 ファイルあるのに毎回全部読ませたら、トークン消費が爆発し、応答も遅くなります。
ここで 2 つに分ける設計が効いてきます。
毎回読ませる(セッション開始時に必ず読む)
| ファイル | 内容 | 理由 |
|---|---|---|
user-rules.md | ユーザーのルールと好み(MEMORY.md に入りきらない分) | ルール違反を防ぐため |
safety-rules.md | 禁止事項、セキュリティルール | 事故防止 |
active-projects.md | 現在進行中のプロジェクト一覧 | 文脈のベースライン |
{project}/current-state.md | いま取り組んでいるプロジェクトの現在地 | 「どこまで進んだか」を毎回説明し直さない |
{project}/rules.md | プロジェクト固有のルール | プロジェクトごとに異なるルールを適用 |
これらは合計しても 2,000〜5,000 文字程度に収めるのが理想です。長くなりすぎたら「本当に毎回必要か?」を問い直してください。
必要な時だけ読む(明示指示があるときだけ)
| ファイル | いつ読むか |
|---|---|
decision-log.md | 「なぜこうなっているか」を確認したいとき |
work-log.md | 過去の作業を振り返るとき |
references.md | 参考 URL を調べるとき |
incidents.md | 過去の事故を参照するとき |
archive/ | 完了済みプロジェクトの情報が必要なとき |
past-drafts/ | 過去の下書きを参考にするとき |
「毎回読む」と「必要な時だけ」を分ける基準はシンプルです。
分類の判断基準
「これを読まずに作業を始めたら事故になるか?」── なるなら毎回読ませる。「なくても作業自体は始められるか?」── 始められるなら必要な時だけ。

おすすめの Obsidian Vault 構成
Hermes Agent と組み合わせる前提で Vault を設計するなら、以下の構成が実用的です。番号プレフィックスでフォルダの並び順を制御します。
/00_Inbox ← 未整理のメモを一時置き
/10_System ← エージェントに毎回読ませるファイル
/10_System/user-rules.md
/10_System/safety-rules.md
/10_System/active-projects.md
/20_Projects ← プロジェクト別の知識ベース
/20_Projects/AIニュースラボ/
index.md ← プロジェクト概要
current-state.md ← 現在地(頻繁に更新)
rules.md ← プロジェクト固有ルール
decision-log.md ← 意思決定の履歴
work-log.md ← 作業ログ
article-log.md ← 記事一覧
/20_Projects/個人開発アプリ/
index.md
current-state.md
...
/30_Daily ← 日次メモ、日報
/40_References ← 参考 URL、調査メモ、書籍メモ
/50_Templates ← テンプレートファイル
/90_Archive ← 完了済みプロジェクト、古い情報
この構成のポイントは 3 つあります。
/10_System/は「エージェントのシステムプロンプト拡張」。Hermes Agent の MEMORY.md / USER.md に入りきらないルールや方針をここに置く。毎セッション開始時に読ませるファイルはここに集約/20_Projects/はプロジェクト別に独立。複数プロジェクトを並行する場合、「今日はどのプロジェクトの文脈か」を明確にできる/90_Archive/で古い情報を隔離。完了済みのプロジェクトや古い情報を archive に移すことで、エージェントが誤って古い情報を参照するリスクを減らせる
Hermes Agent に渡す読み込みルール例
ステップ 1:Obsidian Vault パスを設定する
まず ~/.hermes/.env に Vault のパスを設定します。
# macOS / Linux
OBSIDIAN_VAULT_PATH="/Users/yourname/Documents/Obsidian/HermesVault"
# Windows
OBSIDIAN_VAULT_PATH="C:\Users\yourname\Documents\Obsidian\HermesVault"
または CLI コマンドで設定できます。
hermes config set OBSIDIAN_VAULT_PATH /path/to/your/vault
未設定の場合、デフォルトは ~/Documents/Obsidian Vault になります。
ステップ 2:Hermes Agent の内部メモリを整理する
~/.hermes/memories/MEMORY.md と ~/.hermes/memories/USER.md には、短くて毎回効かせたい情報だけを入れます。
USER.md の例:
## 基本情報
- 役割: フリーランスのWebエンジニア兼ブロガー
- 技術スタック: Python, TypeScript, WordPress, GitHub Actions
- 日本語で応答、コードコメントは英語
## 好み
- AI記事では煽りより実務視点を重視
- 結論を先に言ってから理由を述べる
- 不確実なことは断定せず「検証が必要」と書く
MEMORY.md の例:
## 継続ルール
- 画像生成は16:9 WebP、Pillow実寸確認必須
- Secret類はチャットに出さない
- PRは1機能1PR
- WP投稿はdraft固定、publishはしない
## 環境メモ
- Python仮想環境は .venv/Scripts/python.exe で明示実行
- PowerShell 5.1のstdin pipeは日本語が化ける → argv経由を使う
ステップ 3:セッション開始時の読み込みプロンプトを用意する
Hermes Agent に毎回渡すプロンプト(またはスキルの指示)として、以下のような読み込みルールを設定します。
この作業では、まず以下のファイルだけ読んでください。
- /10_System/user-rules.md
- /10_System/safety-rules.md
- /20_Projects/AIニュースラボ/current-state.md
- /20_Projects/AIニュースラボ/rules.md
必要になった場合だけ、以下を参照してください。
- /20_Projects/AIニュースラボ/decision-log.md
- /20_Projects/AIニュースラボ/article-log.md
archive/ は明示指示がある時だけ読んでください。
このプロンプトを毎回手打ちするのが面倒なら、Obsidian の /50_Templates/ にテンプレートとして保存しておき、コピー&ペーストで使えます。Hermes Agent のスキルとして登録すれば、さらに自動化できます。
補足
Hermes Agent のスキルシステム(~/.hermes/skills/)を使えば、「作業開始時に特定ファイルを読む」手順をスキル化できます。複雑なタスクを完了した後、エージェントが自動的にスキルを生成してくれる機能もあります。「読み込みプロンプト」自体をスキル化するのが最終形です。

保存ルールの実例
何をどこに保存するか迷ったら、以下のルールに従ってください。
Hermes Agent に保存するもの
- 繰り返し使う判断基準(「テストは実 DB で回す、モックは使わない」)
- 今後の行動を変えるルール(「PR レビューではセキュリティを最優先」)
- ユーザーの好み(「冗長な説明より箇条書き」)
- 作業の型(「記事制作は調査→構成→執筆→レビューの順」)
- エージェントが次回も使うべき判断軸
Obsidian に保存するもの
- 長文のログ(作業記録、会議メモ、調査メモ)
- 具体的な履歴(記事一覧、公開日、パフォーマンス記録)
- 参考 URL と調査結果
- 仕様書とスキーマ定義
- 意思決定ログ(「なぜこの方針にしたか」の理由と日付)
- 失敗ログ(「何をやって、なぜ壊れて、どう直したか」)
- 週次・月次レビュー
どこにも保存しないもの
保存してはいけない情報
- API キー、パスワード、トークン──Hermes Agent の MEMORY.md にも Obsidian にも入れない。
~/.hermes/.envのみ - 個人情報、顧客情報──Vault が同期やバックアップされている場合、漏洩リスクがある
- 一時的な雑談──「天気の話」「雑談」は保存する意味がない
- 古くなったルール──変更されたルールは上書きか削除。古い版を残すと、エージェントが古いルールに従うリスクがある
メリット
Hermes Agent × Obsidian の記憶設計がうまく回ると、以下の効果が実感できます。
- 同じ説明を繰り返す回数が激減する──「毎回読ませるファイル」に現在地とルールを書いておけば、セッション開始時の説明が 1 行のプロンプトで済む
- プロジェクトの文脈を引き継ぎやすい──昨日の作業ログ、先週の意思決定、先月の方針変更。Obsidian に残しておけば、必要なときに参照できる
- 人間が AI の記憶を監査できる──Hermes Agent が何を覚えているかは MEMORY.md と USER.md を開けば分かる。Obsidian のノートも Markdown だから人間が直接読める。ブラックボックスにならない
- 別デバイスでも Vault を同期すれば前提情報を再利用できる──自宅の PC、出先のノート PC、スマートフォン。Obsidian Sync や Git で Vault を同期すれば、どのデバイスから Hermes Agent を使っても同じ前提情報を読ませられる
- 長期プロジェクトに強くなる──3 ヶ月、半年、1 年続くプロジェクトでも、Vault に蓄積された情報があれば文脈が途切れない
デメリットと落とし穴
「いいことずくめ」ではありません。実運用で遭遇しやすい問題点も整理しておきます。
- 設計しないとノートが散らかる──フォルダ構成も命名規則も決めずに Obsidian に投げ込むと、3 週間で検索不能になる。最初に構成を決めることが前提
- 古い情報を読ませるリスク──3 ヶ月前の
current-state.mdを更新し忘れたまま読ませると、エージェントは古い前提で作業する。定期的な棚卸しが必要 - Vault が大きすぎると検索・参照が雑になる──1,000 ファイルの Vault で「全部検索して」と言うと、精度が落ちる。「毎回読む」「必要な時だけ」「アーカイブ」の 3 層に分けるのはこのため
- 秘密情報を入れると危険──Obsidian Sync や Git で同期している Vault に API キーやパスワードを書くと、同期先すべてに伝播する
- 同期競合が起きる──複数デバイスで同じファイルを同時に編集すると、Git ならマージコンフリクト、Obsidian Sync なら「Conflicted」ファイルが生まれる
- AI が Obsidian の内容を常に正しく解釈するとは限らない──ファイルが長すぎる場合は途中で切り詰められるし、曖昧な表現は誤解される。ノートは AI に読ませる前提で明確に書く必要がある
見落としやすいリスク
Hermes Agent のセッション検索(session_search)は過去の全会話から情報を引っ張ってきます。これは便利ですが、過去セッションで間違った方針を話していた場合、それを「正しい情報」として参照してしまう可能性があります。重要な方針は会話の中で流すのではなく、Obsidian のルールファイルに明記しておくほうが安全です。
実際のユースケース
「で、実際にどういう場面で使うの?」をいくつか具体的に挙げます。
ブログ・メディア運営
Hermes Agent に「この読者層では煽りより実務視点」「引用は 2-3 文以内」などの編集方針を覚えさせる。Obsidian には記事一覧、公開日、PV 記録、記事ネタのストック、失敗した企画の理由を保存。毎回 current-state.md(今月の目標、直近の記事テーマ)を読ませ、新しい記事を書くときは article-log.md で過去記事とのテーマ重複を確認させる。
個人開発
Hermes Agent に「PR は 1 機能 1 PR」「テストは実 DB で回す」などの開発ルールを覚えさせる。Obsidian にはロードマップ、スキーマ設計、API 仕様、リリースノート、ユーザーからのフィードバックを保存。機能追加するときに decision-log.md を読ませて、過去に同じ機能を見送った理由がないか確認させる。
Claude Code / Codex との併用
Hermes Agent と Claude Code を併用している場合、Claude Code は CLAUDE.md でプロジェクトルールを管理し、Hermes Agent は MEMORY.md + USER.md で個人の好みとルールを管理する。Obsidian はその両方から参照される「共通の長期ノート」として機能する。同じ Obsidian Vault の情報をどちらのエージェントからも読めるので、ツール間で前提情報を統一できます。
学習ログ・自己投資の記録
新しい技術やツールを学ぶとき、Hermes Agent に「この分野は初学者レベル」と覚えさせる。Obsidian には学習メモ、読んだ記事の要約、試したコードのスニペット、つまずいたポイントを保存。次のセッションで「前回どこまで理解したか」を current-state.md に書いておけば、毎回ゼロからではなく続きから始められます。
営業・フリーランスの案件管理
Hermes Agent に「見積もりは工数 × 単価で出す」「初回は必ず NDA を確認する」などのルールを覚えさせる。Obsidian にはクライアント別のフォルダを作り、案件概要、連絡履歴、請求書の発行日、次のアクションを保存。案件が増えても、プロジェクト別に情報が整理されているので混乱しにくい。
結論──記憶の設計こそがエージェント運用の本質
Hermes Agent × Obsidian を組み合わせる価値は、「AI に全部覚えさせること」ではありません。
価値は、記憶の種類を 4 つに分けられることです。
- Hermes Agent の内部メモリ(MEMORY.md / USER.md / SOUL.md)── 毎回効かせたい短い記憶。好み、ルール、判断基準
- Obsidian の「毎回読むファイル」(10_System/ と current-state.md)── 現在地とプロジェクトルール
- Obsidian の「必要な時だけ読むファイル」(decision-log, work-log, references)── 履歴と参考資料
- Obsidian のアーカイブ(90_Archive/)── 完了済みの情報。明示指示があるときだけ
この切り分けができると、AI エージェントは単なるチャット相手ではなくなります。毎回ゼロから説明し直す必要がなくなり、プロジェクトの文脈が途切れず、長期の作業で「前もこれ話したよね」が実際に機能するようになる。
ただし、繰り返しますが──設計しないと何も変わりません。Obsidian を入れて Hermes Agent につないだだけでは、ただのメモアプリと AI チャットが並んでいるだけです。「何をどこに保存するか」を自分で決める。そこがスタートラインです。
Obsidian は AI の記憶そのものではなく、AI に読ませるために人間が設計する「外部記憶」。この違いを理解して使えば、Hermes Agent は「何回でも同じことを聞いてくるチャットボット」から「長期プロジェクトを一緒に走れる相棒」に近づきます。
関連記事
OpenAI Realtime APIに音声3モデル追加 ― 副業・個人開発で安全に始める範囲は?
AIエージェントの「scaffold」と「harness」──設計を間違えないための用語整理
【Hermes Agent入門 #1】Hermes Agentとは何か? AIエージェントとして何ができるのか