> For the complete documentation index, see [llms.txt](https://tinyhumans.gitbook.io/openhuman/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tinyhumans.gitbook.io/openhuman/zh/gong-neng/personalization.md).

# 个性化与自学习

OpenHuman 了解你的方式就像一个优秀助手那样：不是让你填写设置表单，而是通过留意。随着你聊天、连接账户并纠正它，它会静静收集你喜欢的工作方式的证据，对这些证据的稳定性打分，并把持久的信号提升到你的 **`PROFILE.md`** 并进入每次未来轮次的系统提示词中。

不会因一条消息而锁定任何内容。某个偏好必须反复出现，才会在你的资料中占据一席之地；任何逐渐消退的内容都会停止注入。你始终掌控：资料是一个你可以编辑的纯 Markdown 文件，你可以固定或忘记任何已学到的事实。

***

## 学习内容

学习被组织为六种 **维度类别**。每个类别都有自己的衰减率和预算，因此某个噪声很多的类别不会挤占其他类别。

| 类       | 它捕获什么       | 示例                                   |
| ------- | ----------- | ------------------------------------ |
| **风格**  | 你喜欢回复如何写    | `冗长程度=简洁`, `格式=项目符号`, `表情符号=跳过`      |
| **身份**  | 关于你的稳定事实    | `姓名=Alice`, `时区=PST`, `角色=工程师`       |
| **工具链** | 你的开发者工具链    | `包管理器=pnpm`, `编辑器=neovim`, `语言=rust` |
| **否决**  | 你明确拒绝过的内容   | `避免使用破折号`, `不使用嵌套项目符号`               |
| **目标**  | 当前目标和进行中的项目 | 自由格式的目标句子                            |
| **频道**  | 你偏好的交流场所    | `主=desktop-chat`                     |

反复出现的人物、主题和过往线程都 **不** 存储在这里。它们位于 [记忆树](/openhuman/zh/gong-neng/obsidian-wiki/memory-tree.md) 中，并由 `memory_recall`.

***

## 学习流水线

证据会经过四个阶段： **捕获 → 评分 → 渲染 → 注入**.

```
 你的活动                 候选缓冲区            稳定性检测器
 ────────────                  ────────────────            ──────────────────
 聊天轮次        ──┐
 纠正            ──┤
 邮件签名        ──┼──→  LearningCandidate ──→  每 30 分钟重建一次
 已连接账户      ──┤      （类别、键、值、      + 事件驱动（约 60 秒
 LinkedIn（可选）──┘       线索族，证据）   新数据到来后）
                                                          │
                                                          │  对每个（类别、键）评分
                                                          │  解决值冲突
                                                          │  应用每类预算
                                                          ▼
                                                   user_profile 维度
                                                   （Active / 暂定 /
                                                    候选 / 已丢弃）
                                                          │
                                          CacheRebuilt ───┤
                                                          ▼
                                  ┌───────────────────────┴───────────────┐
                                  ▼                                        ▼
                            PROFILE.md                            系统提示词
                       （受管理块）                     （“你的固定偏好”）
```

**捕获。** 生产者会监视你的活动并推送一个 `LearningCandidate` 到一个有界缓冲区中。每个候选项都会记录 `（类别、键、值）` 它所主张的内容、指向证据的指针，以及一个 **线索族** 来描述信号有多强： `显式` （你直接说出来的）， `结构性` （来自账户数据或文件）， `行为性` （根据你的行为推断），或 `重复出现` （统计模式）。

**评分。** 后台 **稳定性检测器** 大约每 30 分钟重建一次缓存，在新的邮件或文档到来时会更早。它会聚合某个事实的所有候选项并计算稳定性分数：更强的线索族权重更高，较新的证据比陈旧证据更重要（每个类别都有半衰期），而你明确说出的陈述会让权重翻倍。

| 类        | 证据半衰期 |
| -------- | ----- |
| 身份       | 90 天  |
| 否决       | 60 天  |
| 工具链 / 目标 | 30 天  |
| 风格       | 14 天  |
| 频道       | 7 天   |

分数决定每个事实的生命周期状态：

| 状态         | 含义                             |
| ---------- | ------------------------------ |
| **Active** | 足够强，可渲染到 `PROFILE.md` 并注入到提示词中 |
| **暂定**     | 已存储并跟踪，但尚未显示                   |
| **候选**     | 仍在收集证据                         |
| **已丢弃**    | 衰减到阈值以下；已移除                    |

当两个值争夺同一事实时（例如 `冗长程度=简洁` 还是 `冗长程度=详细`），稳定性更高的值获胜。失败者会被丢弃，如果它再次变成真实，就会自然重新赢回位置。

***

## 存储位置： `PROFILE.md`

学习得到的资料会落地为 **`PROFILE.md`** 在你的工作区中，一个真实可编辑的 Markdown 文件。每个维度类别都拥有一个受管理的块（`## 风格`, `## 身份`, `## 工具链`, `## 否决项`, `## 目标`），而且只有 **Active** 这些维度会被写入，并按稳定性排序。被固定的条目标记为 `*(已固定)*`.

渲染器只会处理它自己管理的块。你在这些块之外手工写入的任何内容（以及由集成层拥有的独立 `## 已连接账户` 块）都会保持不变。空类别会显示一个 `*(暂无条目)*` 占位符，而不会消失。

> **按会话冻结。** `PROFILE.md` 会在会话开始时折叠进代理的系统提示词，并在该会话的整个生命周期内保持稳定，这让提示缓存保持快速。你在会话中途所做的编辑会在下一次重建和下一次会话中生效，而不会回溯到当前会话。

***

## 它如何在回复中呈现

在每一轮中，代理都会读取 Active 维度，并将它们作为精简的 **“你的固定偏好”** 系统提示词中的一个部分，同时还有一条始终保留的指令，要求调用 `memory_recall` 在回答任何依赖过往会话的内容之前。结果是，代理会默认采用你的冗长程度、工具和否决项，而无需提醒；而具体细节则会从记忆中取用。

***

## 可选的 LinkedIn 增强

在入职过程中，你可以让 OpenHuman 从 LinkedIn 为你的身份启动引导。流程会在你连接的 Gmail 中搜索一个 `linkedin.com/in/...` 个人资料 URL，并且（如可用）抓取公开资料，然后将其发现压缩为 `PROFILE.md` 通过 `learning_save_profile` 步骤。它只运行一次，作为一次即发即弃的处理。它完全由你选择启用；如果未找到资料，则会干净地跳过。

***

## 审阅并控制已学内容

所有已学内容都可检查且可逆：

* **编辑 `PROFILE.md` 直接。** 文件归你所有。修正、添加或删除任何内容；下一次重建会尊重你的编辑。
* **Brain 页面** （底部栏中间凸起的按钮， `/brain`）是记忆和智能的主页。知识图谱、目标、来源和同步状态都在这里。
* **固定** 某个事实，使其保持 Active 并免受衰减，或 **忘记** 忘记某个事实，以将其丢弃并阻止其回来。底层上，这些是 `learning_pin_facet`, `learning_unpin_facet`，以及 `learning_forget_facet` 针对 `openhuman.learning_*` RPC 接口，以及 `learning_list_facets` 以及 `learning_rebuild_cache`.

***

## 另请参阅

* [记忆树](/openhuman/zh/gong-neng/obsidian-wiki/memory-tree.md)，在这里，反复出现的人物、主题和线程都存放并按轮次召回。
* [目标与待办](/openhuman/zh/gong-neng/goals-and-todos.md)，与已学习的 `goal/*` 维度。
* [潜意识循环](broken://pages/8f1b13c03e1006c2498f2a57983552beefceb5ac)，在轮次之间持续思考你的工作区的后台引擎。
