maestro/docs/tools/updateuseragents.md
oss-sync b1292e34b2
Some checks failed
CI / build-and-test (push) Has been cancelled
sync: update from private repo (edc775f2)
2026-07-06 01:04:12 +00:00

3.0 KiB
Raw Blame History

ReadUserAgents / UpdateUserAgents

ユーザーごとの常時指示書 AGENTS.md を読み書きするツール。AGENTS.md は各タスクのシステムプロンプトに自動注入される「このユーザーが常に守ってほしいこと」を書いた個人ファイル。memoryUpdateUserMemory)が事実の断片を貯めるのに対し、AGENTS.md は振る舞いの方針そのもの。

両ツールは META_TOOL常時利用可能。ワークスペースのツール設定に関係なく使える。per-user 機能なので、認証済みユーザーのコンテキスト(ctx.userId)が必要。

ReadUserAgents

引数なし。現在の AGENTS.md 全文を切り詰めずに返す。編集前に必ず呼ぶことreplace は原文と完全一致する文字列が必要で、システムプロンプトへの注入版は 64KB で切り詰められている場合があるため。

ファイルが無い/空のときは、その旨と「append で新規作成できる」案内を返す(エラーではない)。

UpdateUserAgents

AGENTS.md を 2 モードで編集する。書き込み前に旧版を trash/agents-history/AGENTS.md.{timestamp}.bak に自動退避(直近 10 件を保持)。事故時はそこから復元できる。

パラメータ

名前 必須 説明
mode "replace" または "append"
old_text replace時○ 置換対象の既存文字列。ちょうど 1 回だけ一致する必要がある
new_text replace の置換後テキストappend で末尾に足すテキスト

mode="replace"

old_textnew_text に置き換える。コアの Edit ツールと同じ「一意一致」セマンティクス。

  • 0 回一致 → エラー(ReadUserAgents で原文を確認するよう促す)
  • 2 回以上一致 → エラー(前後の文脈を含めて一意にするよう促す)
  • ファイルが空 → エラー(append を案内)

new_text 内の $&$1 は特殊扱いされない(リテラルとして入る)。

mode="append"

new_text を末尾に追記する。既存末尾の空行を整理し、空行 1 行を挟んで足す。ファイルが空なら new_text がそのまま新規ファイルになる。

制限・エラー

  • 結果が 64KB を超えると writeUserAgentsMd が拒否(AGENTS.md exceeds 65536 bytes
  • ctx.userId が無い(認証なし)→ エラー
  • 監査ログ user_agents_updatedmode / バイト数 / スナップショット有無)を記録

典型フロー

  1. ReadUserAgents で現在の内容を取得
  2. ユーザー依頼に応じて UpdateUserAgents({ mode: "replace", old_text: "...", new_text: "..." }) または mode: "append"
  3. 戻り値でバイト数とスナップショット退避を確認

関連

  • UpdateUserMemory / ReadUserMemory — 事実の断片を貯める個人 memorydocs/tools の該当 doc 参照)
  • UI からの編集は Settings 経由HTTP GET/PUT/DELETE /agents-md