外观
在 Deep Agents Code 中定制智能体主要有两种方式:
记忆:
AGENTS.md文件以及跨会话持久保存的自动记忆。使用记忆来保存通用的编码风格、偏好以及学到的约定。技能:可复用、按需加载的能力,智能体只有在相关时才去发现并读取。使用技能来保存特定于任务的上下文,例如工作流、最佳实践和参考文档。
实际上,技能和记忆处于一个频谱之上。关于何时使用每一种的更多信息,请参阅技能、记忆和工具。
使用 /remember 来显式提示智能体根据当前对话更新其记忆和技能。
TIP
正在用 SDK 构建自定义智能体?请参阅记忆了解编程式记忆后端。
记忆
自动记忆
在你使用智能体的过程中,它会通过一个记忆优先(memory-first)协议自动将信息作为 markdown 文件存储在 ~/.deepagents/<agent_name>/memories/ 中:
- 研究:在开始任务前搜索记忆以获取相关上下文
- 应答:在执过程中不确定时检查记忆
- 学习:自动保存新信息供未来的会话使用
智能体按主题组织其记忆,并使用描述性文件名:
~/.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
# 无需提示即可应用约定AGENTS.md 文件
AGENTS.md 文件提供会话开始时始终加载的持久化上下文:
- 全局:
~/.deepagents/<agent_name>/AGENTS.md——每次会话都加载。 - 项目:任何 git 项目根目录中的
.deepagents/AGENTS.md——当 Deep Agents Code 在该项目内运行时加载。
这两个文件都会在启动时被追加到系统提示词中。
记忆的工作原理
当回答特定于项目的问题,或当你引用过去的工作或模式时,智能体也可能会读取其记忆文件。
当你提供关于其应如何表现的指令、对其工作的反馈,或要求其记住某些内容的指令时,智能体会更新 AGENTS.md。 如果它从你的交互中识别出模式或偏好,它也会更新其记忆。
要在额外的记忆文件中添加更结构化的项目知识,请将它们添加到 .deepagents/ 中,并在 AGENTS.md 文件中引用它们。 你必须在该 AGENTS.md 文件中引用附加文件,智能体才能感知到它们。 附加文件不会在启动时读取,但智能体可以在需要时引用和更新它们。
何时使用全局与项目级 AGENTS.md
全局 AGENTS.md(~/.deepagents/agent/AGENTS.md)适用于:
- 你的个性、风格和通用的编码偏好
- 总体语气和沟通风格
- 通用编码偏好(格式、类型提示等)
- 适用于所有场景的工具使用模式
- 不会随项目变化的工作流和方法论
项目级 AGENTS.md(项目根目录中的 .deepagents/AGENTS.md)适用于:
- 特定于项目的上下文和约定
- 项目架构和设计模式
- 特定于该代码库的编码约定
- 测试策略和部署流程
- 团队指南和项目结构
技能
技能将领域专长(例如工作流、最佳实践、脚本和参考文档)打包成可复用的目录,智能体只有在相关时才去发现和读取。 深度智能体技能遵循Agent Skills 规范。关于技能如何工作以及如何编写有效技能的更多信息,请参阅技能。
启动时,Deep Agents Code 会读取每个 SKILL.md 文件 frontmatter 中的名称和描述。当任务与某个技能的描述匹配时,智能体就会读取该技能文件并遵循其中的指令。在 /reload 时会再次运行发现。
添加技能
创建技能
bash
# 用户技能(存储在 ~/.deepagents/<agent_name>/skills/)
dcode skills create test-skill
# 项目技能(存储在 .deepagents/skills/)
dcode skills create test-skill --project 这会生成:
plaintext
skills/
└── test-skill
└── SKILL.md编辑 SKILL.md
打开生成的 `SKILL.md` 并编辑该文件,加入你的指令。
添加可选资源
可选地,向 `test-skill` 文件夹添加其他脚本或资源。更多信息请参阅[用法](/oss/deepagents/skills#add-supporting-resources)。
你也可以将现有技能直接复制到智能体的文件夹中:
bash
mkdir -p ~/.deepagents/<agent_name>/skills
cp -r examples/skills/web-research ~/.deepagents/<agent_name>/skills/安装社区技能
你可以使用 Vercel 的 Skills CLI 之类的工具,在你的环境中安装社区 Agent Skills,并使其可用于你的深度智能体:
bash
# 全局安装一个技能
npx skills add vercel-labs/agent-skills --skill web-design-guidelines -a deepagents -g -y
# 列出已安装的技能
npx skills ls -a deepagents -g全局安装(-g)会将技能符号链接到 ~/.deepagents/agent/skills/——默认智能体的用户级技能目录。项目级安装(省略 -g)会将技能放置在当前目录相对路径的 .deepagents/skills/ 中,使其对该项目中运行的任何智能体可用,无论智能体名称如何。
INFO
全局安装仅针对默认的 agent 目录。如果你使用自定义名称的智能体,请使用项目级安装,或手动将技能符号链接到 ~/.deepagents/{your-agent}/skills/。
技能发现
技能会在启动时从以下目录加载:
txt
~/.deepagents/<agent_name>/skills/
~/.agents/skills/
.deepagents/skills/
.agents/skills/
~/.claude/skills/ (experimental)
.claude/skills/ (experimental)当存在重复的技能名称时,后置优先的目录会覆盖前置的目录(参见应用数据)。
对于项目级技能(.deepagents/skills/ 或 .agents/skills/ 下),项目根目录通过包含的 .git 文件夹来识别。
在会话中调用技能
在交互式会话中,使用 /skill:<name> 斜杠命令直接运行技能:
txt
/skill:code-review
/skill:code-review review the auth module技能的 SKILL.md 指令会与任何你传入的参数一起注入到提示词中。
启动时使用技能
--skill 标志会在启动时立即调用技能,无论是在交互式(TUI)还是非交互式(无头)模式:
bash
# 打开 TUI 并立即运行一个技能
dcode --skill code-review
# 使用 -m 向技能传递请求
dcode --skill code-review -m 'review the auth module'
# 将内容通过管道传入技能
cat diff.txt | dcode --skill code-review
# 管道传入内容并添加请求
cat diff.txt | dcode --skill code-review -m 'focus on security'
# 无头运行一个技能
dcode --skill code-review -n 'review this patch'
# 安静模式(stdout 上仅输出智能体结果)
dcode --skill code-review -n 'review this patch' -qINFO
--skill 与 --quiet 或 --no-stream 结合使用时需要 -n(非交互式模式)。
列出技能
bash
# 列出所有用户技能
dcode skills list
# 列出项目技能
dcode skills list --project
# 获取某个具体技能的详细信息
dcode skills info test-skill
dcode skills info test-skill --project