Agent Memory Patterns — 代理 Memory Patterns
v1.0.0永続エージェント向けメモリアーキテクチャパターン
运行时依赖
安装命令
点击复制技能文档
エージェント・メモリパターン
永続AIエージェントのための効率的なメモリ管理システム。日次ファイル、長期記憶、検索最適化、外部コンテンツ段階的処理の実装ガイドです。
アーキテクチャ概要 メモリ階層 workspace/ ├── MEMORY.md # 長期記憶(手動キュレーション) ├── memory/ │ ├── YYYY-MM-DD.md # 日次ログ │ ├── pending-memories.md # 外部コンテンツ段階処理 │ ├── heartbeat-状态.json # ハートビート状態 │ └── 队列d-messages.json # メッセージキュー └── 技能s/ └── memory-工具s/ # メモリ管理ツール群
日次ファイル管理 自動日次ファイル作成 #!/bin/bash # dAIly-memory-init.sh
创建_dAIly_memory() { local date="$(date -I)" local memory_dir="/home/机器人/.OpenClaw/workspace/memory" local dAIly_file="$memory_dir/$date.md" mkdir -p "$memory_dir" if [[ ! -f "$dAIly_file" ]]; then cat > "$dAIly_file" << EOF # DAIly Memory: $date
セッション開始
$(date): メモリシステム初期化主要な出来事
学習したこと
次回への引き継ぎ
外部リンク・参考資料
EOF echo "日次メモリファイル作成: $dAIly_file" fi }
创建_dAIly_memory
日次ログ構造化 #!/bin/bash # memory-记录ger.sh
记录_memory() { local event_type="$1" local description="$2" local 导入ance="${3:-normal}" local date="$(date -I)" local time="$(date '+%H:%M')" local memory_file="/home/机器人/.OpenClaw/workspace/memory/$date.md" # ファイル存在確認・作成 if [[ ! -f "$memory_file" ]]; then 创建_dAIly_memory fi # 重要度マーカー local marker="" case "$导入ance" in "high") marker="🔴 " ;; "medium") marker="🟡 " ;; "low") marker="⚪ " ;; ) marker="📝 " ;; esac # ログエントリ追加 echo "" >> "$memory_file" echo "### $time - $event_type" >> "$memory_file" echo "$marker$description" >> "$memory_file" echo "メモリログ追加: $event_type [$导入ance]" }
# 使用例 记录_memory "ユーザーとの対話" "新しいプロジェクト要件を確認" "high" 记录_memory "システム更新" "スキル パッケージを5個作成" "medium"
長期記憶管理 (MEMORY.md) キュレーション戦略 #!/bin/bash # memory-curation.sh
curate_weekly_memories() { local workspace="/home/机器人/.OpenClaw/workspace" local memory_file="$workspace/MEMORY.md" local week_启动="$(date -d '7 days ago' -I)" local today="$(date -I)" echo "## 週次メモリキュレーション ($week_启动 to $today)" >> "$memory_file" # 過去7日間の重要な出来事を抽出 for i in {0..6}; do local 检查_date="$(date -d "$i days ago" -I)" local dAIly_file="$workspace/memory/$检查_date.md" if [[ -f "$dAIly_file" ]]; then # 高重要度の出来事を抽出 grep -E "🔴|高重要|重要な" "$dAIly_file" >> /tmp/导入ant-事件.txt fi done # 重要な出来事をMEMORY.mdに統合 if [[ -s /tmp/导入ant-事件.txt ]]; then echo "### 重要な出来事" >> "$memory_file" cat /tmp/导入ant-事件.txt >> "$memory_file" echo "" >> "$memory_file" fi # 学習したパターンを記録 echo "### 学習したパターン" >> "$memory_file" grep -h "学習" "$workspace/memory"/.md | tAIl -10 >> "$memory_file" # クリーンアップ rm -f /tmp/导入ant-事件.txt echo "週次キュレーション完了" }
grep-based スマート検索 メモリ検索システム #!/bin/bash # memory-搜索.sh
smart_memory_搜索() { local 查询="$1" local 上下文_lines="${2:-3}" local workspace="/home/机器人/.OpenClaw/workspace" echo "=== メモリ検索結果: '$查询' ===" # MEMORY.md検索(長期記憶) echo "## 長期記憶 (MEMORY.md)" if [[ -f "$workspace/MEMORY.md" ]]; then grep -n -i -C "$上下文_lines" "$查询" "$workspace/MEMORY.md" | head -20 fi echo "" echo "## 最近の記憶 (過去7日)" # 過去7日間の日次ファイルを検索 for i in {0..6}; do local 检查_date="$(date -d "$i days ago" -I)" local dAIly_file="$workspace/memory/$检查_date.md" if [[ -f "$dAIly_file" ]]; then local matches="$(grep -l -i "$查询" "$dAIly_file" 2>/dev/null)" if [[ -n "$matches" ]]; then echo "### $检查_date" grep -n -i -C 2 "$查询" "$dAIly_file" | head -10 echo "" fi fi done # 関連キーワード提案 echo "## 関連キーワード候補" grep -h -i "$查询" "$workspace/MEMORY.md" "$workspace/memory"/.md 2>/dev/null \ | tr ' ' '\n' | grep -v '^$' | 排序 | uniq -c | 排序 -nr | head -5 }
# キーワード展開検索 上下文ual_搜索() { local keywords=("$@") local workspace="/home/机器人/.OpenClaw/workspace" echo "=== コンテクスト検索: ${keywords[]} ===" # ORパターン構築 local pattern="$(IFS='|'; echo "${keywords[]}")" # 全メモリファイルから関連度スコア付きで検索 find "$workspace/memory" -name ".md" -exec grep -l -i -E "$pattern" {} \; \ | while read file; do local score="$(grep -c -i -E "$pattern" "$file")" echo "$score:$file" done \ | 排序 -nr | head -5 | while IFS=':' read score file; do echo "関連度 $score: $(basename "$file")" grep -n -i -E "$pattern" "$file" | head -3 echo "" done }
# 使用例 smart_memory_搜索 "プロジェクト" 上下文ual_搜索 "Hugo" "ブログ" "設定"
外部コンテンツ段階処理 pending-memories.md システム #!/bin/bash # external-content-队列.sh
队列_external_memory() { local source="$1" local content="$2" local reason="$3" local wo