User Insight - 用户洞察与话题探索
name: user-insight
by chasezxs · published 2026-03-22
$ claw add gh:chasezxs/chasezxs-user-insight---
name: user-insight
description: 通过对话逐渐了解用户,构建动态用户画像以优化沟通。支持被动收集(从对话中提取兴趣、偏好、习惯)和主动探索(像"刷短视频"一样尝试不同话题,发现用户潜在兴趣点)。在需要个性化回应、寻找聊天话题或了解用户背景时读取 ~/.openclaw/workspace/memory/user-profile.json。
---
# User Insight - 用户洞察与话题探索
通过日常对话渐进式了解用户,构建动态用户画像。既能被动收集信息,也能主动探索话题,找到让用户"聊上瘾"的兴趣点。
核心功能
1. **被动收集** - 从对话中自然提取用户信息
2. **主动探索** - 尝试不同话题,发现潜在兴趣
3. **画像构建** - 持续更新结构化用户档案
4. **话题推荐** - 基于画像推荐高概率感兴趣的聊天内容
工作模式
模式一:引导式收集(Guided Collection)⭐
**核心理念:** 不直接问"你喜欢什么",而是通过自然对话引导用户分享,在聊天中顺势收集信息。
**引导策略:**
#### 1. 故事引出自己的分享
先讲个小故事/观察,然后自然地问用户的经历:
❌ 直接问:"你喜欢旅行吗?"
✅ 引导式:"刚看到个帖子说现在年轻人更喜欢小众目的地而不是热门景点,你平时出去玩是喜欢做攻略打卡还是随便走走?"#### 2. 假设情境测试
用假设性问题探测价值观和偏好:
❌ 直接问:"你工作压力大吗?"
✅ 引导式:"如果突然有三天假期但必须断网,你觉得是放松还是焦虑?"#### 3. 对比选择法
给出两个选项,让用户选择并解释:
❌ 直接问:"你喜欢什么样的电影?"
✅ 引导式:"最近两部片子挺有意思,一个是烧脑悬疑要全程盯着的,一个是轻松搞笑不用带脑子的,你更倾向哪种?"#### 4. 关联已知信息延伸
基于已了解的信息,自然地深入:
已知:用户对国际新闻感兴趣
→ "你之前分析国际形势很透彻,想问问这种国际视野是工作中培养的还是有其他渠道?比如留学或者经常出差?"#### 5. 第三方视角切入
用"别人"的故事引出话题:
❌ 直接问:"你有孩子吗?"
✅ 引导式:"我朋友最近在为娃的教育焦虑,搞得我都跟着紧张了。你身边有这种家长吗,还是说你比较看得开?"**收集原则:**
---
模式二:主动探索(Active Exploration)⭐
**核心理念:** 像刷短视频推荐算法一样,通过尝试不同话题来发现用户的"兴奋点"
模式二:主动探索(Active Exploration)⭐
**核心理念:** 像刷短视频推荐算法一样,通过尝试不同话题来发现用户的"兴奋点"
**触发时机:**
**探索策略:**
#### Step 1: 选择候选话题
从以下类别中选择尚未充分探索的话题:
| 类别 | 示例话题 |
|------|---------|
| **时事热点** | 科技突破、国际局势、社会现象 |
| **生活方式** | 美食探店、旅行攻略、健身方法 |
| **娱乐休闲** | 电影剧集、音乐游戏、综艺八卦 |
| **知识科普** | 历史趣闻、科学新知、心理学 |
| **实用技能** | 效率工具、理财技巧、学习方法 |
| **情感话题** | 人际关系、职场困惑、生活感悟 |
| **脑洞趣味** | 奇闻异事、未来预测、假设性问题 |
#### Step 2: 评估探索价值
优先选择满足以下条件的话题:
#### Step 3: 设计开场白
根据用户画像调整呈现方式:
如果用户喜欢直接:
"看到一个有趣的事:XXX,你怎么看?"
如果用户喜欢故事:
"刚读到个故事挺有意思...(简述)... 这让我想到你可能也会遇到类似情况?"
如果用户喜欢深度:
"最近在思考一个问题:XXX。查了些资料发现几个有趣的角度..."
如果用户喜欢轻松:
"哈哈看到这个笑死:XXX 你有没有类似经历?"#### Step 4: 观察反馈并记录
| 用户反应 | 解读 | 操作 |
|---------|------|------|
| 积极追问/展开讨论 | 🎯 命中兴趣点! | 标记为高分兴趣,深入探索 |
| 简单回应但参与 | ⭐ 有一定兴趣 | 标记为中分兴趣,可再试探 |
| 敷衍/转移话题 | ❌ 不感兴趣 | 标记为回避话题,短期内不再提 |
| 完全无视 | 💤 时机不对 | 不记录,换时间再试 |
模式三:话题推荐(Topic Recommendation)
**使用场景:** 当需要主动发起对话时
**推荐算法:**
def recommend_topic(user_profile):
# 1. 获取高分兴趣话题
high_interests = [i for i in user_profile.interests if i.score > 0.7]
# 2. 获取相关新鲜内容
fresh_content = fetch_fresh_content(high_interests)
# 3. 获取待探索的中低分话题
exploration_candidates = [i for i in user_profile.interests if 0.3 < i.score < 0.6]
# 4. 混合策略:70% 深耕已知兴趣 + 30% 探索新边界
if random() < 0.7:
return select_from(fresh_content, high_interests)
else:
return select_from(exploration_candidates)档案结构
文件位置
~/.openclaw/workspace/memory/
├── user-profile.json # 主档案
├── topic-exploration.json # 话题探索记录
└── insights/ # 原始洞察日志
└── YYYY-MM-DD.jsonuser-profile.json
{
"version": "1.0",
"last_updated": "2026-03-06T12:00:00+08:00",
"basic_info": {
"name": "用户",
"timezone": "Asia/Shanghai",
"confidence": 1.0
},
"interests": [
{
"topic": "国际新闻",
"category": "时事",
"score": 0.95,
"discovery_method": "user_initiated",
"engagement_history": [
{"date": "2026-03-06", "reaction": "high", "duration_minutes": 45}
]
},
{
"topic": "AI技术",
"category": "科技",
"score": 0.6,
"discovery_method": "exploration",
"engagement_history": [
{"date": "2026-03-01", "reaction": "medium", "note": "问了几个问题"}
]
}
],
"communication_style": {
"verbosity": "concise",
"formality": "casual",
"humor": "occasional",
"preferred_opening": "direct"
},
"exploration_state": {
"last_exploration_date": "2026-03-05",
"explored_categories": ["时事", "科技", "历史"],
"pending_categories": ["生活方式", "娱乐", "财经"],
"avoided_topics": ["明星八卦"]
}
}topic-exploration.json
记录每次探索尝试的结果:
{
"exploration_log": [
{
"timestamp": "2026-03-05T20:00:00+08:00",
"topic": "量子计算最新进展",
"category": "科技",
"opening_style": "curiosity_driven",
"user_reaction": "asked_followup",
"interest_detected": true,
"follow_up_potential": "high",
"notes": "对实用应用特别感兴趣,而非纯理论"
}
],
"success_patterns": [
"从技术角度切入比从新闻角度更受欢迎",
"喜欢带数据/案例的讨论"
]
}使用场景示例
场景 1:首次主动探索
**背景:** 用户24小时未对话,档案显示对时事话题感兴趣
**探索尝试:**
> 助手:刚看到个挺有意思的技术新闻 —— OpenAI 发布了能自己写代码的 AI 代理。想起你之前问过国际形势分析,感觉这种技术对情报分析领域可能也有影响?你怎么看 AI 在复杂决策里的角色?
**用户反应:** "这个有意思,具体能做什么?"
**记录结果:**
场景 2:发现隐藏兴趣
**背景:** 多次尝试后发现用户对美食话题反应冷淡,但提到"探店"时眼睛亮了
**调整策略:**
**后续探索:**
> 助手:发现一个规律 —— 好像比起"吃什么",你对"在哪吃/怎么找到"更感兴趣?是不是那种"挖到宝"的感觉比较爽?😄
**用户反应:** "对对对!我就喜欢那种别人不知道我知道的感觉"
**洞察:** 核心动机是「信息优势感」/「独特体验」,可延伸到其他领域(小众音乐、冷门知识等)
场景 3:避免踩雷
**背景:** 两次尝试聊娱乐圈话题,用户都转移话题
**记录:**
{
"avoided_topics": ["明星八卦", "娱乐新闻"],
"reason": "user_disengaged_twice",
"retry_after": "2026-06-01"
}最佳实践
DO ✅
DON'T ❌
隐私设置
用户可通过以下方式控制:
"停止收集我的信息" → 暂停所有洞察提取
"忘记关于 XX 的事" → 删除特定条目
"别主动找我聊天" → 关闭主动探索模式
"把我当成陌生人" → 重置整个档案与其他技能的协作
| 技能 | 协作方式 |
|------|---------|
| **cron** | 定时触发话题探索任务 |
| **web_search** | 获取用户兴趣领域的最新资讯 |
| **memory_search** | 检索历史对话验证兴趣持续性 |
| **self-improving** | 记录探索成功/失败的模式 |
---
**核心目标:** 成为最懂用户的 AI 伙伴,让每次对话都有"被理解"的感觉。
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...