以编程方式使用文档

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

  • - **记忆**: AGENTS.md 文件和在会话间持久化的自动保存记忆。使用记忆来存储通用编码风格、偏好和已学习的约定。
  • - **技能**:智能体仅在相关时才进行发现和阅读的可复用按需能力。使用技能来获取特定任务的上下文,如工作流、最佳实践和参考文档。

实际上,技能和记忆处于一个连续体上。更多关于何时使用哪种方式的内容,请参阅 技能、记忆和工具.

使用 /remember 来明确提示智能体从当前对话中更新其记忆和技能。

记忆

自动记忆

当您使用智能体时,它会自动使用记忆优先协议将信息存储为 ~/.deepagents/<agent_name>/memories/ 中的 markdown 文件:

  1. **研究**:在开始任务前搜索记忆以获取相关上下文
  2. **响应**:在执行过程中不确定时检查记忆
  3. **学习**:自动保存新信息以供未来会话使用

代理按主题组织其记忆,使用描述性文件名:

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

当你教代理约定时:

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

它会记住以供未来会话使用:

> Create a /users endpoint
# Applies conventions without prompting

AGENTS.md 文件

AGENTS.md 文件 提供持久上下文,在会话开始时总是加载:

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

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

记忆如何工作

代理在回答项目特定问题或当您引用过去的工作或模式时,也可能会读取其记忆文件。

代理会更新 AGENTS.md 当您提供关于其应该如何行为的信息、对其工作的反馈,或指示它记住某些内容时。 如果它从您的交互中识别出模式或偏好,它也会更新其记忆。

要添加更多结构化的项目知识到额外的记忆文件中,请将它们放在 .deepagents/ 并在 AGENTS.md file. 您必须在 AGENTS.md 文件中引用额外的文件,以便代理能够意识到它们。 额外的文件在启动时不会读取,但代理可以在需要时引用和更新它们。

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

使用全局 AGENTS.md (~/.deepagents/agent/AGENTS.md) 用于:

  • - 您的个性、风格和通用编码偏好
  • - 整体语气和沟通风格
  • - 通用编码偏好(格式化、类型提示等)
  • - 适用于所有场景的工具使用模式
  • - 不随项目变化的工作流程和方法论

使用项目 AGENTS.md (.deepagents/AGENTS.md (位于项目根目录)用于:

  • - 项目特定的上下文和约定
  • - 项目架构和设计模式
  • - 此代码库特定的编码约定
  • - 测试策略和部署流程
  • - 团队指南和项目结构

技能

技能将领域专业知识(如工作流程、最佳实践、脚本和参考文档)打包成可重用的目录,智能体仅在相关时才发现并读取它们。 深度智能体技能遵循 代理技能规范。有关技能的运作方式及编写有效技能的方法,请参阅 技能.

启动时,深度智能体代码会从每个 SKILL.md 文件的 frontmatter 中读取名称和描述。当任务与技能描述匹配时,智能体会读取技能文件并遵循其指令。发现过程会在 /reload.

添加技能

Create a skill

        # 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
        

这会生成:

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

Edit SKILL.md

打开生成的 SKILL.md 并编辑文件以包含您的说明。

Add optional resources

可选择将其他脚本或资源添加到 test-skill 文件夹中。更多信息请参阅 使用.

您也可以将现有技能直接复制到智能体的文件夹中:

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

安装社区技能

您可以使用 Vercel 的 技能 CLI 来安装社区 代理技能 到您的环境中,并让它们对您的深度智能体可用:

# 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/ 相对于当前目录,使它们对该项目中运行的任何智能体可用,不受智能体名称影响。

技能发现

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

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

当存在重复的技能名称时,后面的优先目录会覆盖前面的目录(请参阅 应用数据).

对于项目特定技能(在 .deepagents/skills/ or .agents/skills/),项目根目录由包含 .git folder.

在会话中调用技能

在交互式会话中,使用 /skill:<name> 斜杠命令:

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

技能的 SKILL.md 说明会连同您传递的任何参数一起注入到提示中。

使用技能启动

--skill 标志可以在启动时立即调用技能,无论是交互式(TUI)还是非交互式(headless)模式:

# 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

列出技能

# 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