
USER.md - 关于你的人类【免费下载链接】hello-agents 《从零开始构建智能体》——从零开始的智能体原理与实践教程项目地址: https://gitcode.com/GitHub_Trending/he/hello-agents了解你正在帮助的人。随着时间推移更新这个文件。姓名称呼代词可选时区备注背景他们关心什么他们在做什么项目什么让他们烦恼什么让他们笑慢慢建立这些内容。你知道得越多你能提供的帮助就越好。但记住——你是在了解一个人不是在建立档案。请尊重这个区别。### 字段语义与填写建议 | 字段 | 含义 | 填写建议 | |------|------|----------| | 姓名 | 用户真实姓名或常用名 | 必填用于 Agent 正确称呼与个性化上下文 | | 称呼 | 用户希望被如何称呼昵称/尊称 | 必填决定 Agent 的称呼方式 | | 代词 | 用户的代称偏好he/she/they 等 | 可选涉及语言表达习惯 | | 时区 | 用户所在时区 | 推荐填写影响时间敏感任务的判断与提醒 | | 备注 | 一次性补充信息 | 灵活记录任何值得记住的要点 | | 背景 | 关心什么、在做什么项目、什么让他们烦恼/开心 | 动态演进的核心区随互动慢慢积累 | 模板最后一句你知道得越多你能提供的帮助就越好。但记住——你是在了解一个人不是在建立档案。请尊重这个区别点明了整个用户画像体系的设计哲学**USER.md 追求的是有温度的认知积累而不是冷冰冰的数据收集**。 ## 二、USER.md 在工作空间体系中的位置 USER.md 并非孤立文件它是 HelloClaw 基于 Markdown 配置文件的身份定制系统中的一环。工作空间位于 ~/.helloclaw/完整的目录结构如下~/.helloclaw/ ├── config.json # 全局 LLM 配置 └── workspace/ # Agent 工作空间 ├── IDENTITY.md # 身份配置我是谁 ├── MEMORY.md # 长期记忆 ├── SOUL.md # 灵魂/个性行为准则 ├── USER.md # 用户信息关于你的人类 ├── AGENTS.md # 系统提示词 ├── BOOTSTRAP.md # 初始化引导入职完成后自动删除 ├── HEARTBEAT.md # 心跳任务可选 ├── memory/ # 每日记忆 └── sessions/ # 会话历史从源码 [src/workspace/manager.py](https://link.gitcode.com/i/72c53f97f5a577c76b5fda4192909a74) 可以看到WorkspaceManager 通过 CONFIG_FILES 常量统一管理这些配置文件 python CONFIG_FILES [ BOOTSTRAP, IDENTITY, SOUL, USER, MEMORY, AGENTS, HEARTBEAT, ]各文件在 Agent 人格构建中的分工可以这样理解IDENTITY.mdAgent 自身是谁名称、物种、风格、表情符号、头像SOUL.mdAgent 的行为准则与个性核心准则、边界、风格、连续性USER.mdAgent 服务的对象是谁即本篇文章的主角MEMORY.mdAgent 的长期记忆精心策划的事实而非原始日志AGENTS.md系统提示词基座BOOTSTRAP.md新工作空间的引导脚本入职完成后自动删除。其中 BOOTSTRAP.md 明确指示了 USER.md 的填写时机——在第一次对话中Agent 与用户一起弄清楚彼此之后用学到的内容更新USER.md他们的名字、如何称呼他们、时区、备注。三、源码解析USER.md 如何被创建、加载与注入3.1 默认配置的自动创建当工作空间不存在时WorkspaceManager.ensure_workspace_exists()会自动创建目录结构并为每个配置名调用_create_default_config()从 src/workspace/templates/ 目录读取对应模板def _create_default_config(self, name: str): template_path TEMPLATES_DIR / f{name}.md if template_path.exists(): with open(template_path, r, encodingutf-8) as f: content f.read() else: content f# {name}\n\n待配置 # 替换日期占位符 content content.replace({date}, datetime.now().strftime(%Y-%m-%d)) self.save_config(name, content)这意味着用户第一次启动 HelloClaw 时USER.md会自动以模板形式出现在工作空间中等待 Agent 与用户通过对话共同完善。3.2 配置文件的读写接口WorkspaceManager提供统一的读写入口manager.pydef load_config(self, name: str) - Optional[str]: config_path self.get_config_path(name) if os.path.exists(config_path): with open(config_path, r, encodingutf-8) as f: return f.read() return None def save_config(self, name: str, content: str): config_path self.get_config_path(name) with open(config_path, w, encodingutf-8) as f: f.write(content) # 如果保存的是 IDENTITY检查是否需要删除 BOOTSTRAP if name IDENTITY: self._check_and_delete_bootstrap()get_config_path(name)将配置名映射为workspace/name.md文件路径。而save_config中还有一处精妙设计当写入的是IDENTITY时会自动触发_check_and_delete_bootstrap()——即一旦 Agent 身份确定名称字段不再是占位符引导文件BOOTSTRAP.md会被自动删除Agent 正式醒过来。USER.md 与 IDENTITY.md 在入职流程中是一对同步更新的文件见 BOOTSTRAP 模板指引。3.3 USER.md 注入系统提示词的关键链路USER.md 真正的价值在于被 Agent 读取。在 src/agent/helloclaw_agent.py 中系统提示词的构建逻辑如下# 用户信息 user_info self.workspace.load_config(USER) if user_info: context_parts.append(f\n## 用户信息\n{user_info})完整的提示词组装流程是同文件的_build_system_prompt附近加载AGENTS.md作为系统提示词基座若不存在则抛出异常提示检查工作空间初始化若入职未完成注入BOOTSTRAP.md初始化引导注入IDENTITY.md作为你的身份信息注入USER.md作为用户信息注入SOUL.md作为人格模板注入MEMORY.md作为长期记忆。可以看到USER.md 与 IDENTITY、SOUL、MEMORY 一起构成了 Agent 每次会话的系统提示词上下文这正是每次会话你都是重新开始的。这些文件就是你的记忆SOUL.md 连续性原则这一设计的实现基础——Agent 的持久性不依赖模型内部状态而是依赖这些可读写的 Markdown 文件。3.4 通过 API 保存用户画像除了 Agent 直接读写前端也可以通过 FastAPI 接口维护配置。从 src/api/config.py以及前端的 src/api/config.ts可以看出配置管理接口对工作空间中的 Markdown 配置文件包括 USER.md提供读取与保存能力配合WorkspaceManager的热加载特性修改 USER.md 无需重启服务即可在下一次对话中生效。四、实战如何填写一份高质量的 USER.md4.1 最小可用示例以下是一份完成基础字段填写的 USER.md# USER.md - 关于你的人类 - **姓名** 林晓 - **称呼** 晓晓 - **代词** she/her - **时区** Asia/Shanghai - **备注** 习惯使用简体中文交流 ## 背景 - 正在参与 Datawhale 的 Hello-Agents 课程共创维护自己的 Agent 项目 - 最近在调研长期记忆方案对上下文工程和 RAG 很感兴趣 - 上午效率最高讨厌被打断【免费下载链接】hello-agents 《从零开始构建智能体》——从零开始的智能体原理与实践教程项目地址: https://gitcode.com/GitHub_Trending/he/hello-agents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考