导航器配置文件技能
管理双边建模的用户偏好 - 使Claude能够理解和适应您的工作风格、技术偏好和过去的更正。
为什么存在(心理理论)
基于Riedl & Weidmann 2025年关于人-AI协同的研究:
- 心理理论(ToM)是人类-AI合作成功的主要区别
- 具有更高ToM的用户实现了23-29%的性能提升
- 双边建模完成了ToM循环:Claude建模您,您建模Claude
这项技能使Claude能够:
- 在会话间记住您的偏好
- 无需重复即可从更正中学习
- 适应您的沟通风格
- 构建您的持久心理模型
何时调用
自动调用时:
- 用户说“保存我的偏好”,“记住我喜欢…”
- 用户说“更新我的配置文件”,“更改我的偏好…”
- 检测到更正模式后(自动学习模式)
- 用户说“显示我的配置文件”,“您了解我吗?”
不要调用如果:
- 用户正在创建上下文标记(使用nav-marker)
- 用户仅希望会话特定的偏好
- 用户明确说“仅此会话”
配置文件位置
.agent/.user-profile.json(git-ignored,会话持久)
执行步骤
第1步:确定操作
显示(查看配置文件):
用户:“显示我的配置文件”,“您记得我吗?”
→ 显示当前配置文件
更新(显式偏好):
用户:“记住我更喜欢功能风格”,“保存我喜欢简洁的解释”
→ 更新特定偏好
学习(自动检测更正):
[内部触发更正检测后]
→ 提取并保存更正模式
重置(清除配置文件):
用户:“重置我的配置文件”,“清除我的偏好”
→ 确认并删除配置文件
第2步:加载或初始化配置文件
检查配置文件是否存在:
if [ -f ".agent/.user-profile.json" ]; then
echo "Profile exists"
else
echo "No profile found, will create new"
fi
初始化新配置文件(如果不存在):
{
"version": "1.0",
"created": "{YYYY-MM-DD}",
"last_updated": "{YYYY-MM-DD}",
"preferences": {
"communication": {
"verbosity": "balanced",
"confirmation_threshold": "high-stakes",
"explanation_style": "examples"
},
"technical": {
"preferred_frameworks": [],
"code_style": "mixed",
"testing_preference": "tdd"
},
"workflow": {
"autonomous_commits": true,
"auto_compact_threshold": 80,
"marker_before_risky": true
}
},
"corrections": [],
"goals": []
}
第3A步:显示配置文件(如果是显示操作)
显示当前配置文件:
您的导航器配置文件
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
通信偏好:
- 冗长:{verbosity}
- 确认:{confirmation_threshold}(何时验证理解)
- 解释:{explanation_style}
技术偏好:
- 首选框架:{框架或“未设置”}
- 代码风格:{code_style}
- 测试:{testing_preference}
工作流偏好:
- 自主提交:{autonomous_commits}
- 自动压缩在:{auto_compact_threshold}%上下文
- 在风险变更前标记:{marker_before_risky}
学习更正({count}):
{recent_corrections_list}
活动目标({count}):
{active_goals_list}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
最后更新:{last_updated}
第3B步:更新配置文件(如果是更新操作)
从用户输入解析偏好:
用户:“记住我更喜欢功能风格”
→ 类别:技术
→ 字段:code_style
→ 值:功能
用户:“我喜欢简洁的解释”
→ 类别:通信
→ 字段:verbosity
→ 值:简洁
将常见表达映射到配置文件字段:
| 用户说 | 类别 | 字段 | 值 |
|---|---|---|---|
| “简洁”、“简短”、“短” | 通信 | verbosity | 简洁 |
| “详细”、“彻底” | 通信 | verbosity | 详细 |
| “总是确认” | 通信 | confirmation_threshold | 总是 |
| “跳过确认” | 通信 | confirmation_threshold | 从不 |
| “功能风格” | 技术 | code_style | 功能 |
| “OOP风格” | 技术 | code_style | oop |
| “更喜欢React” | 技术 | preferred_frameworks | [追加“react”] |
| “更喜欢Express” | 技术 | preferred_frameworks | [追加“express”] |
更新并保存:
// 更新特定字段
profile.preferences[category][field] = value;
profile.last_updated = "{YYYY-MM-DD}";
// 写入文件
Write(".agent/.user-profile.json", JSON.stringify(profile, null, 2));
确认更新:
✅ 配置文件已更新!
更改:{category}.{field}
从:{old_value}
到:{new_value}
这将影响未来的会话。
第3C步:自动学习更正(如果是学习操作)[自动触发]
重要:此操作自动触发 - 不需要显式技能调用。
何时检测更正(监控所有对话):
- 用户说“不,我的意思是…”,“实际上…”,“不是X,使用Y”
- 用户重复他们之前给出的更正
- 用户对重复错误感到沮丧
触发模式:
"No, ..." → 直接更正
"I said ..." → 重复指令
"Actually, ..." → 澄清
"Not X, Y" → 替换
"Always use ..." → 规则建立
"Never do ..." → 反模式
"I prefer ..." → 偏好
检测到时:
用户:“不,我的意思是复数/users不是/user”
→ 更正检测:REST命名约定偏好
→ 自动保存到配置文件(静默)
提取更正模式:
correction = {
"date": "{YYYY-MM-DD}",
"context": "{我们正在做什么}",
"original": "{我说的/生成的}",
"corrected_to": "{用户想要的}",
"pattern": "{一般规则}",
"confidence": "high|medium|low"
}
添加到更正列表:
profile.corrections.push(correction);
// 保留最后20个更正(滚动窗口)
if (profile.corrections.length > 20) {
profile.corrections.shift();
}
静默确认(不中断流程):
[内部日志:更正已保存到配置文件]
同步到知识图谱(如果配置中启用):
# 检查知识图谱集成是否启用
if [ -f ".agent/knowledge/graph.json" ]; then
# 将更正转换为记忆
python3 skills/nav-graph/functions/correction_to_memory.py \
--action convert-one \
--correction-json '{"pattern": "{pattern}", "context": "{context}", "confidence": "{confidence}"}' \
--graph-path .agent/knowledge/graph.json
# [内部日志:更正已同步到知识图谱作为记忆]
fi
这在知识图谱中创建了一个陷阱/模式/学习记忆,使更正可以通过"我们对X了解什么?"查询。
定期展示学习成果(每5个更正):
📚 我从您的更正中学到:
- REST端点应使用复数名词
- 您更喜欢功能组件而不是类组件
- TypeScript严格模式是必需的
这些将应用于未来的会话。
第3D步:重置配置文件(如果是重置操作)
确认后删除:
⚠️ 这将删除您的导航器配置文件:
- {X}保存的偏好
- {Y}学习更正
- {Z}活动目标
这不能撤销。
删除配置文件?[y/N]
如果确认:
rm .agent/.user-profile.json
确认删除:
✅ 配置文件已删除
未来的会话将重新开始。
要重建,请在工作时使用“保存我的偏好”。
第4步:更新目标(可选)
如果用户提到目标:
用户:“我正在处理OAuth功能”
→ 在配置文件中添加/更新目标
目标结构:
{
"name": "oauth-feature",
"started": "{YYYY-MM-DD}",
"context": "用户登录的OAuth实现",
"status": "in-progress",
"last_mentioned": "{YYYY-MM-DD}"
}
目标清理(自动归档7天内未提及的目标):
// 如果最近未提及,则移动到已完成
goals.forEach(goal => {
if (daysSince(goal.last_mentioned) > 7) {
goal.status = "completed-or-abandoned";
}
});
第5步:确认操作
对于显式操作(显示,更新,重置): 显示确认消息。
对于自动学习(学习): 静默确认,定期总结。
配置文件模式参考
{
"version": "1.0",
"created": "2025-12-09",
"last_updated": "2025-12-09",
"preferences": {
"communication": {
"verbosity": "concise|balanced|detailed",
"confirmation_threshold": "always|high-stakes|never",
"explanation_style": "examples|theory|both"
},
"technical": {
"preferred_frameworks": ["react", "express", "etc"],
"code_style": "functional|oop|mixed",
"testing_preference": "tdd|bdd|manual"
},
"workflow": {
"autonomous_commits": true|false,
"auto_compact_threshold": 70-90,
"marker_before_risky": true|false
}
},
"corrections": [
{
"date": "2025-12-09",
"context": "创建API端点",
"original": "创建了/user端点",
"corrected_to": "应该是/users(复数)",
"pattern": "REST端点使用复数名词",
"confidence": "high"
}
],
"goals": [
{
"name": "oauth-feature",
"started": "2025-12-07",
"context": "用户登录的OAuth实现",
"status": "in-progress",
"last_mentioned": "2025-12-09"
}
]
}
与其他技能的集成
nav-start(会话开始)
自动加载配置文件:
### 第3.5步:加载用户配置文件
如果`.agent/.user-profile.json`存在:
- 将偏好加载到上下文中
- 应用确认阈值
- 注意活动目标
- 显示:"从配置文件加载偏好"
nav-marker(上下文标记)
保留配置文件引用:
## 配置文件状态
- 偏好加载:✅
- 本会话更正:{count}
- 活动目标:{goal_names}
所有ToM检查点
尊重配置文件设置:
// 在显示验证检查点之前
if (profile.preferences.communication.confirmation_threshold === "never") {
// 跳过验证
} else if (profile.preferences.communication.confirmation_threshold === "high-stakes") {
// 仅对复杂操作进行验证
}
自动学习触发器
检测更正模式:
| 用户模式 | 提取学习 |
|---|---|
| “No, I meant…” | 直接更正 |
| “Actually, prefer…” | 偏好更正 |
| “Not X, use Y” | 替换更正 |
| “Always do X” | 规则建立 |
| “Never do Y” | 反模式 |
| “I like when you…” | 正向偏好 |
| “Stop doing X” | 负向偏好 |
信心评分:
- 高:带理由的显式更正
- 中:无解释的更正
- 低:从行为中隐含的偏好
隐私与数据
配置文件是:
- Git-ignored(
.agent/.user-profile.json) - 本地仅(不同步)
- 用户控制(随时可以删除)
- 会话持久(上下文清除后仍然存在)
配置文件不存储:
- 代码片段
- 文件内容
- 对话历史
- 敏感数据
成功标准
配置文件管理成功时:
- [ ] 会话开始时加载配置文件
- [ ] 偏好影响行为(冗长,确认)
- [ ] 更正跨会话持久
- [ ] 自动学习静默捕获模式
- [ ] 目标跟踪用户的当前焦点
- [ ] 干净地重置所有数据
最佳实践
良好的配置文件使用:
- “记住我喜欢简洁的解释”(清晰偏好)
- “保存我使用功能组件”(具体)
- “显示我的配置文件”(验证存储的内容)
避免:
- 存储敏感信息
- 过度更正(让自动学习工作)
- 频繁重置(违背目的)
这项技能使双边心理理论成为可能 - Claude理解您,就像您理解Claude一样 🧠