3.0 KiB
3.0 KiB
ReadUserAgents / UpdateUserAgents
ユーザーごとの常時指示書 AGENTS.md を読み書きするツール。AGENTS.md は各タスクのシステムプロンプトに自動注入される「このユーザーが常に守ってほしいこと」を書いた個人ファイル。memory(UpdateUserMemory)が事実の断片を貯めるのに対し、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_text を new_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_updated(mode / バイト数 / スナップショット有無)を記録
典型フロー
ReadUserAgentsで現在の内容を取得- ユーザー依頼に応じて
UpdateUserAgents({ mode: "replace", old_text: "...", new_text: "..." })またはmode: "append" - 戻り値でバイト数とスナップショット退避を確認
関連
UpdateUserMemory/ReadUserMemory— 事実の断片を貯める個人 memory(docs/toolsの該当 doc 参照)- UI からの編集は Settings 経由(HTTP
GET/PUT/DELETE /agents-md)