Skip to content
LangChain 文档版本 跟随上游 源快照 51fefb9d 更新于 2026-10-08

记忆与技能

适用于 Deep Agents Code 的持久化记忆、AGENTS.md 文件和可复用技能,包括其创建、发现与调用。

在 Deep Agents Code 中定制智能体主要有两种方式:

  • 记忆:AGENTS.md 文件以及跨会话持久保存的自动记忆。用记忆承载通用的编码风格、偏好和习得的约定。

  • 技能:可复用的按需能力,智能体只在相关时才去发现并读取它们。用技能承载任务特有的上下文,例如工作流、最佳实践和参考文档。

在实践中,技能与记忆处于一个连续的光谱上。有关何时该使用哪一种的更多信息,参见技能、记忆与工具。

使用 /remember 可以显式提示智能体根据当前对话更新其记忆和技能。

TIP

正在用 SDK 构建自定义智能体?有关可编程的记忆后端,参见记忆。

记忆

自动记忆

在你使用智能体的过程中,它会采用记忆优先协议,自动将信息以 Markdown 文件的形式存储到 ~/.deepagents/<agent_name>/memories/ 中:

  1. 检索:在任务开始前搜索记忆中的相关上下文
  2. 响应:执行过程中遇到不确定时查阅记忆
  3. 学习:自动保存新信息,供后续会话使用

若要在停止自动保存的同时继续加载记忆,参见自动记忆。

智能体会按主题组织记忆,并使用具有描述性的文件名:

~/.deepagents/backend-dev/memories/
├── api-conventions.md
├── database-schema.md
└── deployment-process.md

当你向智能体传授约定时:

bash
dcode --agent backend-dev
> Our API uses snake_case and includes created_at/updated_at timestamps

它会在后续会话中记住:

bash
> Create a /users endpoint
# Applies conventions without prompting

AGENTS.md 文件

AGENTS.md 文件 提供始终在会话开始时加载的持久化上下文:

  • 全局:~/.deepagents/<agent_name>/AGENTS.md——每次会话都会加载。
  • 项目:任意 git 项目根目录下的 .deepagents/AGENTS.md——当 Deep Agents Code 在该项目中运行时加载。

这两个文件都会在启动时追加到系统提示词中。

TIP

要生成仓库 wiki,并把指针写入供编码智能体使用的 AGENTS.md 和 CLAUDE.md,参见 OpenWiki。

记忆的工作原理

在回答项目特定的问题,或当你提及过去的工作或模式时,智能体也可能读取其记忆文件。

当你提供关于它应如何行为的信息、对其工作的反馈,或让它记住某事的指令时,智能体会更新 AGENTS.md。 如果它从你们的交互中识别出某些模式或偏好,也会更新自己的记忆。

要在额外的记忆文件中添加更多结构化的项目知识,请把它们放在 .deepagents/ 中,并在 AGENTS.md 文件中引用它们。 你必须在 AGENTS.md 文件中引用这些额外文件,智能体才能知道它们的存在。 这些额外文件不会在启动时被读取,但智能体可以在需要时引用和更新它们。

何时使用全局 AGENTS.md,何时使用项目 AGENTS.md

在以下场景使用全局 AGENTS.md(~/.deepagents/agent/AGENTS.md):

  • 你的个性、风格和通用编码偏好
  • 整体的语气与沟通风格
  • 通用的编码偏好(格式化、类型注解等)
  • 处处适用的工具使用模式
  • 不随项目变化的工作流与方法论

在以下场景使用项目级 AGENTS.md(项目根目录下的 .deepagents/AGENTS.md):

  • 项目特有的上下文与约定
  • 项目架构与设计模式
  • 该代码库特有的编码约定
  • 测试策略与部署流程
  • 团队规范与项目结构

技能

技能把领域专长(例如工作流、最佳实践、脚本和参考文档)打包成可复用的目录,智能体只在相关时才去发现并读取它们。 Deep agent 的技能遵循 Agent Skills 规范。有关技能的工作原理以及如何编写有效的技能,参见技能。

启动时,Deep Agents Code 会从每个 SKILL.md 文件的 frontmatter 中读取名称和描述。当某个任务与某技能的描述相匹配时,智能体会读取该技能文件并遵循其中的指示。执行 /reload 时会再次进行发现。

添加技能

Create a skill

bash
# User skill (stored in ~/.deepagents/<agent_name>/skills/)
dcode skills create test-skill

# Project skill (stored in .deepagents/skills/)
dcode skills create test-skill --project

这会生成:

plaintext
skills/
└── test-skill
    └── SKILL.md

Edit SKILL.md

打开生成的 SKILL.md,并编辑该文件以加入你的指示。

Add optional resources

你也可以向 test-skill 文件夹中添加更多脚本或其他资源。更多信息参见用法。

你也可以直接把已有的技能复制到智能体的文件夹中:

bash
mkdir -p ~/.deepagents/<agent_name>/skills
cp -r examples/skills/web-research ~/.deepagents/<agent_name>/skills/

安装社区技能

你可以使用 Vercel 的 Skills CLI 之类的工具,在你的环境中安装社区 Agent Skills,并将其提供给你的 deep agents:

bash
# Install a skill globally
npx skills add vercel-labs/agent-skills --skill web-design-guidelines -a deepagents -g -y

# List installed skills
npx skills ls -a deepagents -g

全局安装(-g)会以符号链接方式把技能放进 ~/.deepagents/agent/skills/——即默认智能体的用户级技能目录。项目级安装(省略 -g)会把技能放在相对于当前目录的 .deepagents/skills/ 中,使该项目中运行的任何智能体都能使用它们,而与智能体名称无关。

NOTE

全局安装只针对默认的 agent 目录。如果你使用自定义名称的智能体,请使用项目级安装,或手动以符号链接方式把该技能放入 ~/.deepagents/{your-agent}/skills/。

技能发现

启动时,技能会从以下目录加载:

text
~/.deepagents/<agent_name>/skills/
~/.agents/skills/
.deepagents/skills/
.agents/skills/
~/.claude/skills/          (experimental)
.claude/skills/            (experimental)

当存在重复的技能名称时,优先级较后的目录会覆盖优先级较前的目录(参见应用数据)。

对于项目专属技能(位于 .deepagents/skills/ 或 .agents/skills/ 下),项目根目录通过其所在位置是否包含 .git 目录来识别。

在会话中途调用技能

在交互式会话中,可以直接用 /skill:<name> 斜杠命令运行技能:

text
/skill:code-review
/skill:code-review review the auth module

该技能的 SKILL.md 指令会连同你传入的参数一起注入到提示词中。

启动时使用技能

--skill 标志可在启动时立即调用某个技能,交互式(TUI)与非交互式(headless)模式均可用:

bash
# Open the TUI and immediately run a skill
dcode --skill code-review

# Pass a request to the skill with -m
dcode --skill code-review -m 'review the auth module'

# Pipe content into a skill
cat diff.txt | dcode --skill code-review

# Pipe content and add a request
cat diff.txt | dcode --skill code-review -m 'focus on security'

# Run a skill headlessly
dcode --skill code-review -n 'review this patch'

# Quiet mode (only agent output on stdout)
dcode --skill code-review -n 'review this patch' -q

NOTE

--skill 与 --quiet 或 --no-stream 同时使用时需要加 -n(非交互模式)。

列出技能

bash
# List all user skills
dcode skills list

# List project skills
dcode skills list --project

# Get detailed info about a specific skill
dcode skills info test-skill
dcode skills info test-skill --project

BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。