文档 / 智能体

记忆、技能与规则

如何通过项目记忆、技能、提示词、钩子和规则为智能体提供持久上下文,以及它如何从错误中学习。

智能体不会在每次对话时从零开始。它会记住项目中的重要信息,根据任务加载相应的流程,并遵循团队的规则。

这一切都在项目面板的 代理 标签页中管理,包含 技能、提示词、钩子、规则 和 安装 子标签页。在顶部选择作用范围:Platform(Yuli 智能体)或 订阅(Claude Code、Kiro、Codex 和 Antigravity)。

项目记忆

智能体需要记住的内容:项目的指令、决策、约定和数据。

  • **保存:**在聊天中说“记住……”,或手动添加。
  • **查看和编辑:**聊天标题栏 → 更多操作 → 项目记忆。
  • 存放位置:.ai/memory/,可随项目进行版本管理。
分组 示例
指令 “始终用 Java 17 的示例回答。”
决策 “支付模块采用六边形架构。”
约定 “DTO 以 Dto 结尾,放在 api/dto 中。”
项目信息 “本地配置文件使用 orders_dev 数据库。”

随仓库一起带来的条目会显示为“来自仓库 — 未确认”,在你确认之前不会发送给模型。这样,外部仓库就无法向智能体下达指令。

团队记忆

团队共享的记忆保存在 .ai/team.json 中,随项目进行版本管理。可在 全局选项 → 团队 中查看。

技能

技能是智能体仅在任务需要时才加载的流程。Yuli 内置 19 个技能:

领域 技能
代码 解释代码、实现功能、安全重构、refactor-or-evolve
测试 编写单元测试、测试策略
质量与评审 代码评审、安全评审、集成评审
诊断 调试直至找到根因、修复编译错误、gradle-java-build
设计 需求分析、架构设计、ui-ux-design
数据 数据库浏览器
文档 document-system(按需为系统编写文档)、sdlc-documentation
Git 提交信息

内置技能为 只读,并随应用一起更新。如需调整某个技能,请使用 复制以自定义。

自定义技能

在 技能 子标签页中创建你自己的技能,或通过 导入技能、提示词和钩子 导入。Yuli 支持 SKILL.md、PROMPT.md、Claude Code 命令、Copilot 的 .prompt.md 和 hooks.json。

你的技能、提示词和钩子保存在用户文件夹中(Windows 上为 %APPDATA%\.yulicode\),因此会伴随你的所有项目。

如何组合

在 智能体配置 中:

模式 使用的内容
自动 只使用 Yuli 提供的。
自定义 只使用你自己的。
推荐 + 我的(默认) 两者都用。名称相同时,以你的为准。

提示词

提示词是智能体的基础指令:身份、大型任务的生命周期、团队主导者、子智能体…… Yuli 内置的提示词均已调校好。你可以复制并调整它们。

内部提示词使用英文,以获得更高的精度并减少令牌消耗。回复始终使用提问者的语言。

钩子

钩子用于拦截智能体的某个操作:例如格式化修改过的内容,或在应用前校验提议。脚本为 Node.js,以 JSON 形式接收事件,非零退出码会阻止该操作。阻止原因会传给智能体,以便它调整计划。

事件 时机
使用工具前 每次使用工具之前。
使用工具后 每次使用工具之后。
提议完成时 智能体完成一项更改提议时。
批准前 在你批准之前。
应用更改后 更改写入磁盘后。

Yuli 内置了一些现成的钩子:阻止危险命令、不读取机密、保护敏感文件、代码中无机密、无冲突标记 和 无超大文件。

项目规则

规则是智能体在该项目中始终遵循的指令。

文件 作用范围
根目录下的 .agentrules、yuli.md 或 .cursorrules 整个项目。
子文件夹中的 .agentrules 该文件夹。离得最近的文件优先。
.ai/rules/*.md 团队规则。

在 规则 子标签页中:+ 创建 .agentrules、推荐规则 和 导入包 (.zip)。

习得的规则

Yuli 会从反复出现的错误中学习。当同一发现项在 30 天内的至少 2 个任务中出现 3 次或以上时,它会变成 .ai/rules/learned.md 中的一条规则。

在治理中心 → 智能体 → 学习 中审查这些规则。你可以拒绝某条候选规则;只有当其证据翻倍时才会再次提出。

针对你的订阅智能体

在 订阅 作用范围中,每个智能体都有自己的区域,显示 Yuli 交给它的规则文件、其状态以及“Yuli 交给它的内容”:会话规则以及每个 Yuli 技能及其令牌开销。