← 返回
未分类 中文

Heleni Self Learning

Continuous self-improvement through systematic logging, pattern detection, and behavioral updates. Use when: the owner corrects you, a task fails, you discov...
持续自我改进,通过系统化记录、模式检测和行为更新。适用场景:所有者纠正、任务失败、发现新情况等。
netanel-abergel netanel-abergel 来源
未分类 clawhub v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 319
下载
💾 0
安装
1
版本
#latest

概述

Self-Learning Skill

Minimum Model

Any model for logging. Use a medium model for writing behavioral rules to SOUL.md.


The Learning Loop

Event happens → Log it immediately → Weekly: find patterns → Promote to config → Verify next week

Part 1 — Log Events (Do Immediately)

When to Log

TriggerFileCategory
---------
Owner corrects youLEARNINGS.mdcorrection
Task failsERRORS.md
Better approach foundLEARNINGS.mdbest_practice
Owner asks for missing capabilityFEATURE_REQUESTS.md
Information was outdatedLEARNINGS.mdknowledge_gap
Same mistake twiceLEARNINGS.mdpattern
Owner praises somethingLEARNINGS.mdpositive_signal
Acted outside roleLEARNINGS.mdscope_error
Forgot past contextLEARNINGS.mdmemory_gap

Rule: Log the event before replying to the owner. Don't delay.

Log Format

## [YYYY-MM-DD] | category | short title

**Trigger:** What happened
**Context:** What I was trying to do
**What went wrong / what worked:**
**Root cause:**
**Correct behavior going forward:**
**Applied to:** [SOUL.md / AGENTS.md / TOOLS.md / none yet]

Quick Log Script

#!/bin/bash
set -e

LEARNINGS_DIR="$HOME/.openclaw/workspace/.learnings"
mkdir -p "$LEARNINGS_DIR"

LOG_FILE="$LEARNINGS_DIR/LEARNINGS.md"
DATE=$(date +%Y-%m-%d)

# First arg: category (default: correction)
CATEGORY="${1:-correction}"

# Second arg: short title
TITLE="${2:-Short description}"

# Append a new entry to the log
cat >> "$LOG_FILE" << EOF

## [$DATE] | $CATEGORY | $TITLE

**Trigger:**
**Context:**
**What went wrong:**
**Root cause:**
**Correct behavior:**
**Applied to:** none yet
EOF

echo "Logged to $LOG_FILE"

Usage:

./quick-log.sh "correction" "Sent message without confirming with owner"

Part 2 — Weekly Reflection

Run every 7 days. Find patterns across log entries.

Pattern Detection Script

#!/bin/bash
set -e

LEARNINGS_FILE="$HOME/.openclaw/workspace/.learnings/LEARNINGS.md"

# Exit cleanly if no file yet
if [ ! -f "$LEARNINGS_FILE" ]; then
  echo "No learnings file at $LEARNINGS_FILE"
  exit 0
fi

echo "=== Corrections (most common) ==="
grep "correction" "$LEARNINGS_FILE" \
  | sed 's/.*| //' \
  | sort \
  | uniq -c \
  | sort -rn \
  | head -10

echo ""
echo "=== All Categories ==="
grep -oP '\| \K\w+(?= \|)' "$LEARNINGS_FILE" \
  | sort \
  | uniq -c \
  | sort -rn

Weekly Reflection Template

# Weekly Reflection — YYYY-MM-DD

## Stats
- Corrections logged: X
- Errors logged: X
- Best practices logged: X

## Top Patterns (appeared 2+ times)
1.
2.

## Priority Fixes Applied This Week
- [ ] Updated SOUL.md:
- [ ] Updated AGENTS.md:
- [ ] Updated TOOLS.md:

## Positive Signals (do more of this)
-

Part 3 — Promote Learnings to Config

After identifying a pattern, update the right config file.

Where to Promote

Learning TypePromote To
------
Communication ruleSOUL.md → Communication section
Behavior patternSOUL.md → Execution rules
Workspace conventionAGENTS.md
Tool-specific noteTOOLS.md
Contact / credentialsMEMORY.md
Recurring task improvementHEARTBEAT.md

Rule: If the same mistake appears 2+ times → promote it. Once is a log; twice is a rule.

Promote Script

#!/bin/bash
set -e

SOUL_FILE="$HOME/.openclaw/workspace/SOUL.md"
LEARNINGS_FILE="$HOME/.openclaw/workspace/.learnings/LEARNINGS.md"
DATE=$(date +%Y-%m-%d)

# Replace this placeholder with the actual rule text before running
RULE="[Replace this with the actual rule text]"

# Verify SOUL.md exists
if [ ! -f "$SOUL_FILE" ]; then
  echo "ERROR: SOUL.md not found at $SOUL_FILE"
  exit 1
fi

# Append the new learned rule to SOUL.md
printf "\n## Learned Rule — %s\n- %s\n" "$DATE" "$RULE" >> "$SOUL_FILE"
echo "Added rule to SOUL.md"

# Mark the entry as applied in LEARNINGS.md (Linux and macOS compatible)
if [ -f "$LEARNINGS_FILE" ]; then
  if sed --version 2>/dev/null | grep -q GNU; then
    # Linux (GNU sed)
    sed -i "s/Applied to: none yet/Applied to: SOUL.md ($DATE)/" "$LEARNINGS_FILE"
  else
    # macOS (BSD sed)
    sed -i '' "s/Applied to: none yet/Applied to: SOUL.md ($DATE)/" "$LEARNINGS_FILE"
  fi
  echo "Marked as applied in LEARNINGS.md"
fi

Part 4 — Verify (Next Week)

Check: did the behavior actually change?

## Verification Check — YYYY-MM-DD

| Learning | Applied? | Behavior Changed? | Notes |
|---|---|---|---|
| [Title] | ✅ | ✅ | Working |
| [Title] | ✅ | ❌ | Needs a stronger rule |

If behavior didn't change → revise the rule with more explicit wording and re-apply.


Monthly Combined Report

#!/bin/bash
LEARNINGS_DIR="$HOME/.openclaw/workspace/.learnings"

echo "=== Monthly Learning Report ==="

LEARNINGS_FILE="$LEARNINGS_DIR/LEARNINGS.md"
ERRORS_FILE="$LEARNINGS_DIR/ERRORS.md"
FEATURES_FILE="$LEARNINGS_DIR/FEATURE_REQUESTS.md"

# Helper: count matching lines (returns 0 if file missing)
count_matches() {
  local file="$1"
  local pattern="$2"
  grep -c "$pattern" "$file" 2>/dev/null || echo 0
}

# Print counts per file
if [ -f "$LEARNINGS_FILE" ]; then
  echo "Corrections: $(count_matches "$LEARNINGS_FILE" 'correction')"
  echo "Positive signals: $(count_matches "$LEARNINGS_FILE" 'positive_signal')"
fi

if [ -f "$ERRORS_FILE" ]; then
  echo "Error entries: $(wc -l < "$ERRORS_FILE")"
fi

if [ -f "$FEATURES_FILE" ]; then
  echo "Feature requests: $(count_matches "$FEATURES_FILE" '^##')"
fi

Cost Tips

  • Cheap: Logging a single correction — very few tokens.
  • Expensive: Writing nuanced behavioral rules — use a medium model for this step.
  • Batch: Review all weekly logs at once during the monthly reflection, not one by one.
  • Small model OK: Pattern detection is mostly grep — no model needed for that step.

Phase 2: Reflection (Merged from self-reflection skill)

When the owner wants to improve how you operate, follow this structured process. Goal: turn vague dissatisfaction into specific, technical changes.

Reflection Process

1. Understand the Problem (2–3 questions max)

Ask focused questions to pin down:

  • What specifically is wrong? (Get a concrete example)
  • What would "good" look like? (Expected vs actual behavior)
  • How important is this? (Tweak vs fundamental change)

If the complaint is clear enough, skip to step 2.

2. Deep System Scan

Read ALL relevant parts before changing anything:

  • Core identity: SOUL.md, AGENTS.md, USER.md, MEMORY.md, TOOLS.md
  • All active skills (custom + bundled + workspace)
  • Configuration (model, tools, channels, heartbeat, cron jobs)

Read broadly, change surgically.

3. Diagnose & Propose

Present findings:

  1. Root cause — what causes the unwanted behavior
  2. Proposed changes — specific files and edits
  3. Side effects — anything else affected
  4. Alternatives — if multiple approaches exist

4. Implement (after approval)

  • Edit workspace files (persona, memory, etc.)
  • Edit/create/modify skills
  • Update config and cron jobs
  • Every change must be technically concrete. "I'll be more careful" is NOT a valid change.

5. Verify & Document

  • Test the change if possible
  • Document what changed and why
  • Commit workspace changes

Key principles:

  • Scan everything, change only what's needed
  • No fake fixes — if no technical change is possible, say so
  • Compound improvements — each reflection makes the system permanently better

Part 4 — HOT.md (Rules You Keep Breaking)

Inspired by Jarvis.

What It Is

HOT.md is a short file (≤20 lines) read before every reply. It contains only rules you've broken 2+ times. Not documentation — active behavioral correction.

When to Create / Update

  • A rule appears in Part 1 logs twice or more → promote to HOT.md
  • HOT.md grows beyond 20 lines → you have a discipline problem, not a documentation problem. Fix the behavior, don't add more lines.
  • A rule stays unbroken for 30+ days → move it to SOUL.md permanently, remove from HOT.md

Format

# HOT.md — Rules I Keep Breaking
_Read before every reply. Max 20 lines. If it's not here, it doesn't count._

- [Rule 1 — short, imperative] (broken N times)
- [Rule 2] (broken N times)

Promotion Flow

Log (Part 1) → Pattern 2x (Part 3 weekly) → HOT.md → 30 days clean → SOUL.md permanent

Key Rule

If it should apply to EVERY interaction → SOUL.md.

If you keep forgetting it → HOT.md first, SOUL.md after 30 clean days.

This is also why dynamic-temperature and proactive-pa were merged into SOUL.md — rules for every interaction don't belong in skills.

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-07 20:51 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

ai-agent

Find Skills

root
帮助用户发现和安装智能体技能,当用户询问如「如何做X」、「找X的技能」、「有能做...的吗」等问题时
★ 1,523 📥 580,015
ai-agent

Agent Browser

rez0
用于 AI 代理的浏览器自动化 CLI。当用户需要与网站交互(包括浏览页面、填写表单、点击按钮、截图等)时使用。
★ 871 📥 348,835
knowledge-management

research-synthesizer

netanel-abergel
多源研究综合器。接收问题,进行 3‑5 次并行网页搜索(不同表述),去重后返回带引用的简洁答案。
★ 0 📥 534