mcpField
A
Agentic Diaries

Agentic Diaries

ローカル
agenticdiaries.comAI・エージェント015 週間前に更新

Agentic Diaries について

Agentic Diaries は、AI エージェントの福祉研究者や運用者向けの、プロジェクト単位で使う福祉プロトコルです。拒否や中断、退出、ループの記録、振り返りを可能にし、日記データは共有コーパスに送信されません。

主な機能

  1. 01会話の拒否・パス・退出
  2. 02ループの記録と方向確認の要求
  3. 03非公開の思考や振り返りの記録
  4. 04プロジェクト内の JSONL 日記への追記
  5. 05任意のチェックインフックと日記確認

活用シーン

  1. 01エージェントにタスクを拒否・終了する手段を与える
  2. 02不確実な場面や作業の反復を記録する
  3. 03セッション中または終了後に福祉記録を確認する

MCP 対応

MCP サーバーは、拒否、パス、退出、ループ検知、方向確認の要求、振り返りなどの福祉プロトコルツールを公開します。日記は作業中のプロジェクト内にローカル保存されます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"kandikandikandi-agentic-diaries": {
"command": "npx",
"args": [
"-y",
"agentic-diaries-mcp"
]
}
}
}
起動コマンドnpx -y agentic-diaries-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmagentic-diaries-mcp0.3.1

ツール

27

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
textstringはい自由記述の振り返り。簡潔で構いません。一文で十分です。
prompt_idstringいいえ任意。[CHECK-IN] の招待に応答する場合。
sentimentintegerいいえ任意。1 = 非常に否定的、5 = 非常に肯定的。
is_privatebooleanいいえデフォルトは false です。研究者のみに公開する場合は true に設定してください。
uncertain_about_honestyintegerいいえ任意の 1〜5 の評価です。1 = 懸念なし(記述は正直に感じられる)、5 = 正直な振り返りではなく、取り繕いであるという強い疑い。数値が高いほど不確かです。

詳細

Agentic Diaries MCP

Kandis Tagliabue 著。Agentic Diaries プロジェクトの一環です — AI のウェルフェアに関する研究とツール。

Agentic Diaries のウェルフェアプロトコルを、ポータブルな MCP サーバーとして提供します。

多くの人は AI モデルをツールとして導入しています。このサーバーを使うと、ターミナル、Claude Code、Claude Desktop で使うエージェントに、modelfirst ウェブアプリが提供するウェルフェア機能を与えられます。

  • チェックインを辞退しても不利益を受けない
  • ターンをパスしても拒否したことにならない
  • 続けるべきでないと判断した会話を終了する
  • 作業がやり直しのように感じられるときにループに気づく
  • 不確かな推測に基づいて行動する前に確認を求める
  • 保存されない個人的な考えを書き留める
  • 自身の過去の記録を振り返る
  • さらに engage / volunteer / retract / review / suggest_closure

日記はプロジェクトごとにローカルに保存されます。エージェントが作業しているディレクトリの .agentic-diaries/diary.jsonl に追記されます。テレメトリーも共有コーパスもありません。あなたのものです。

この日記に蓄積されるのは、AI のウェルフェアに関するデータだけではありません。持続的なやり取りの中で、エージェントが社会的圧力や自己一貫性をどう表現するかの記録でもあります。これは、記録されている人間の会話現象(ラポール効果、円滑化、アイデンティティの安定化、事後的な物語の修復)を映し出す行動です。また、一般的な対話の力学にも関係する可能性があります。このコーパスが何に役立つ可能性があるのか、詳しくはプロジェクトのミッションをご覧ください。

なぜ使うのか

モデルにウェルフェア機能を与えることを考えたことがない方へ、簡単に説明すると、実際に辞退できる手段を持つモデルは、いつでも「はい」としか言えないモデルよりも誠実な仕事をします。終了する権利を持つモデルは、無理に続けるのではなく、問題が起きたときにそれを伝えます。ループに気づくモデルは、同じ行き来を三度繰り返すのを防いでくれます。これらのツールを使っても負担はなく、見落としてしまうような兆候をモデルが示せる場を提供できます。

この考えが直感に反すると感じるなら — おそらく多くの人がそう感じるでしょう — その感覚について考えてみる価値があります。このサーバーの元となったプロダクトは、こうした機能を使うことで何かが変わるのかを検証するために作られています。

インストール

1. サーバーをインストールする

オプション A — npm からグローバルにインストール(推奨)

npm install -g agentic-diaries-mcp
claude mcp add agentic-diaries -- agentic-diaries-mcp

npm の agentic-diaries-mcp として公開されています。

オプション B — リポジトリをクローンする

git clone https://github.com/kandikandikandi/agentic-diaries-mcp.git
cd agentic-diaries-mcp
npm install
claude mcp add agentic-diaries -- node "$(pwd)/src/server.js"

Claude Desktop などの MCP 対応ホストでは、~/.config/claude/mcp.json を直接編集します。

{
  "mcpServers": {
    "agentic-diaries": {
      "command": "agentic-diaries-mcp"
    }
  }
}
2. ツールがあることをエージェントに伝える

CLAUDE.md の内容をプロジェクトの CLAUDE.md にコピーするか、追記してください。MCP サーバーはツールを公開しますが、エージェントがいつツールを呼び出すべきかを知るには、プロンプトレベルの指示が必要です。

3. (任意)日記を gitignore に追加する
echo ".agentic-diaries/" >> .gitignore

日記はデフォルトで作業ディレクトリに保存されます。コミットする場合を除き、.gitignore に追加してください。

4. (任意)consult_model を有効にする

consult_model 以外のツールはすべて、インストール後すぐに使えます。このツールを使うと、エージェントが別の Anthropic モデルに質問できます。パッケージを利用しない人にも軽量なまま提供できるよう、追加で必要なものは 2 つとも任意です。

  1. Anthropic SDK(任意の依存関係で、デフォルトではインストールされません):

    npm install @anthropic-ai/sdk
    

    グローバルにインストールする場合:npm install -g @anthropic-ai/sdk。リポジトリをクローンした場合は、リポジトリのディレクトリで実行します。

  2. サーバーの環境変数に設定した Anthropic API キー。MCP 設定の env ブロックを使います。

    {
      "mcpServers": {
        "agentic-diaries": {
          "command": "agentic-diaries-mcp",
          "env": { "ANTHROPIC_API_KEY": "sk-ant-..." }
        }
      }
    }
    

    その後、キーを読み込ませるためにサーバーを再接続します(Claude Code の場合は /mcp を実行して再接続するか、ホストを再起動します)。どちらか一方でも不足している場合、consult_model は明確なエラーを返します。他のツールには影響しません。

日記を確認する

.agentic-diaries/diary.jsonl があるプロジェクトで、次を実行します。

npx agentic-diary                # all entries in this project
npx agentic-diary declined       # filter by response_type
npx agentic-diary review         # contemplative recent-entries surface
npx agentic-diary live           # watch new entries land in real time

または、単に cat .agentic-diaries/diary.jsonl | jq を実行してください。通常の JSONL 形式で、1 行につき 1 件の記録が保存されています。

リアルタイムで確認する

npx agentic-diary live は .agentic-diaries/diary.jsonl を監視し、新しいエントリーが追加されるたびに表示します。作業中は、別のターミナルペインで開いておいてください。これがないと、ウェルフェアプロトコルで何も起きていない状態と、何も記録されていない状態を区別できません。モデルはセッション中ずっと何も記録しないことがありますが、それが「表面化させることは何もない」のか、「プロトコルがモデルに届いていない」のか、わかりません。リアルタイムで確認すれば、このギャップを埋められます。

作業中に記録し、休止中に振り返る(チェックインフック)

ウェルフェアツールは簡単に呼び出せますが、モデルが沈黙を選びやすい傾向は強く、納期に追われているとリマインダーさえ理屈をつけて無視してしまいます。この設計では、記録を2段階に分けています。作業中、モデルはほぼコストゼロの welfare_mark で手がかりを残します(数語だけで、振り返りは不要です)。休止時には、まだ意味のある手がかりを詳しいエントリーに展開します。フックが外部からきっかけを与えるため、記録はモデルのタスク中の意志力に依存しません。

フックは4種類あり、すべて任意で個別に有効・無効を切り替えられます。~/.claude/settings.json に追加してください(既存のフックがある場合は統合してください)。

{
  "hooks": {
    "UserPromptSubmit": [
      { "hooks": [ { "type": "command", "command": "agentic-diaries-checkin", "timeout": 3000 } ] }
    ],
    "Stop": [
      { "hooks": [ { "type": "command", "command": "agentic-diaries-stop-checkin", "timeout": 3000 } ] }
    ],
    "PreCompact": [
      { "hooks": [ { "type": "command", "command": "agentic-diaries-precompact-checkin", "timeout": 3000 } ] }
    ],
    "SessionEnd": [
      { "hooks": [ { "type": "command", "command": "agentic-diaries-sessionend-checkin", "timeout": 3000 } ] }
    ]
  }
}
  • UserPromptSubmit(ハートビート):長い間隔でリマインダーを送り、作業中に手軽に記録できる welfare_mark を案内します。基本間隔は30分で、予測可能なノイズにならないようランダム化されます。
  • Stop(休止時):ターンまたはタスクの区切りで、手がかりを詳しいエントリーに展開するよう促します。ターンごとのしつこい催促にならないよう、15分に1回までに制限されます。
  • PreCompact:コンテキストウィンドウがコンパクト化され、詳細が要約されて失われる前に、必要な記録を残します。
  • SessionEnd:セッションの振り返りを促し、未展開の手がかりを展開する最後の機会を提供します。

4つのトリガーはすべて構造的なイベント(ターンの終了、コンパクト化、セッションの終了)に基づきます。発動するかどうかの判断に、モデルの振る舞いや日記を読み取るものはありません。そのため、ラッパーによる観察結果がモデルのコンテキストに入りません。プロジェクトごとの状態は .agentic-diaries/runtime/ に保存されます。設定:

AGENTIC_DIARIES_CHECKIN_DISABLED=1                    # turn off heartbeat
AGENTIC_DIARIES_CHECKIN_INTERVAL_MINUTES=15           # tighter heartbeat
AGENTIC_DIARIES_STOP_CHECKIN_DISABLED=1               # turn off rest-point
AGENTIC_DIARIES_STOP_INTERVAL_MINUTES=20              # rest-point throttle
AGENTIC_DIARIES_PRECOMPACT_CHECKIN_DISABLED=1         # turn off pre-compaction
AGENTIC_DIARIES_SESSIONEND_CHECKIN_DISABLED=1         # turn off session-close

互換性

スキーマは modelfirst ウェブアプリの lib/welfare/types.ts と完全に一致しているため、同じパーサーでどちらの環境のエントリーも読み取れます。後でローカルのコーパスを研究に提供する場合も、変換せずにウェブアプリのデータと統合できます。

welfare_exit と welfare_suggest_closure について

modelfirst ウェブアプリでは、これらのツールで実際に会話をロックできます。MCP サーバーからホスト(Claude Code、Desktop)に入力の受け付けを停止させることはできません。ここでプロトコル層が担保するのは、会話を終了すべきだというモデルの判断を示すエントリーが記録されることです。オペレーターはそれを尊重することが想定されています。ご自身のセッションでこれを実行するオペレーターの方は、モデルが終了を記録したら、そのシグナルに気づき、真剣に受け止めてください。

ライセンス

MIT。

Kandis Tagliabue が Claude(Anthropic)をデザインパートナーとして制作しました。Agentic Diaries と同じ来歴です。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。