> ## Documentation Index
> Fetch the complete documentation index at: https://nvd-54.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 记忆与技能

> 深度智能体 CLI 的持久记忆、AGENTS.md 文件和可复用技能，包括创建、发现和调用。

自定义任何智能体有两种主要方式：

* **[记忆](#memory)**：`AGENTS.md` 文件和跨会话持久保存的自动记忆。用于通用的编码风格、偏好和已学习的约定。

* **[技能](#skills)**：全局和项目特定的上下文、约定、指南或指令。用于执行特定任务时适用的上下文。

使用 `/remember` 显式提示智能体从当前对话中更新其记忆和技能。

<Tip>
  使用 SDK 构建自定义智能体？请参见[记忆](/oss/python/deepagents/memory)了解编程式记忆后端。
</Tip>

## 记忆

### 自动记忆

当你使用智能体时，它会自动将信息存储在 `~/.deepagents/<agent_name>/memories/` 目录中，以 Markdown 文件的形式，遵循记忆优先协议：

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

智能体按主题组织记忆，使用描述性文件名：

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

当你教智能体各种约定时：

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
deepagents --agent backend-dev
> Our API uses snake_case and includes created_at/updated_at timestamps
```

它会在未来的会话中记住：

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
> Create a /users endpoint
# 无需提示即应用约定
```

### AGENTS.md 文件

[`AGENTS.md` 文件](https://agents.md/)提供在每次会话开始时始终加载的持久上下文：

* **全局**：`~/.deepagents/<agent_name>/AGENTS.md` — 每次会话都加载。
* **项目**：任何 git 项目根目录下的 `.deepagents/AGENTS.md` — 在该项目内运行 CLI 时加载。

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

### 记忆工作原理

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

当你提供关于智能体应如何表现的信息、对其工作的反馈或要求它记住某些内容时，智能体会更新 `AGENTS.md`。
如果智能体从你的交互中识别出模式或偏好，它也会更新记忆。

要在额外的记忆文件中添加更结构化的项目知识，请将它们添加到 `.deepagents/` 并在 `AGENTS.md` 文件中引用它们。
你必须在 `AGENTS.md` 文件中引用额外的文件，智能体才能感知到它们。
额外的文件不会在启动时读取，但智能体可以在需要时引用和更新它们。

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

使用全局 `AGENTS.md`（`~/.deepagents/agent/AGENTS.md`）用于：

* 你的个性、风格和通用编码偏好
* 通用的语气和沟通风格
* 通用编码偏好（格式化、类型提示等）
* 适用于所有场景的工具使用模式
* 不因项目而变的工作流程和方法论

使用项目 `AGENTS.md`（项目根目录下的 `.deepagents/AGENTS.md`）用于：

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

## 技能

技能是提供专门工作流程和领域知识的可复用智能体能力。
你可以使用[技能](/oss/python/deepagents/skills)为深度智能体提供新的能力和专业知识。
深度智能体技能遵循 [Agent Skills 标准](https://agentskills.io/)。
添加技能后，深度智能体会自动使用它们，并在你使用智能体和提供额外信息时更新它们。

### 添加技能

<Steps>
  <Step title="创建技能">
    ```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
    # 用户技能（存储在 ~/.deepagents/<agent_name>/skills/）
    deepagents skills create test-skill

    # 项目技能（存储在 .deepagents/skills/）
    deepagents skills create test-skill --project
    ```

    这将生成：

    ```plaintext theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
    skills/
    └── test-skill
        └── SKILL.md
    ```
  </Step>

  <Step title="编辑 SKILL.md">
    打开生成的 `SKILL.md` 并编辑文件以包含你的指令。
  </Step>

  <Step title="添加可选资源">
    可选地向 `test-skill` 文件夹添加额外的脚本或其他资源。更多信息请参见[示例](/oss/python/deepagents/skills#example)。
  </Step>
</Steps>

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

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
mkdir -p ~/.deepagents/<agent_name>/skills
cp -r examples/skills/web-research ~/.deepagents/<agent_name>/skills/
```

### 安装社区技能

你可以使用 Vercel 的 [Skills CLI](https://github.com/vercel-labs/skills) 等工具在你的环境中安装社区 [Agent Skills](https://agentskills.io/)，并使它们可供你的深度智能体使用：

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
# 全局安装技能
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/` 中，使其可供在该项目中运行的任何智能体使用，与智能体名称无关。

<Note>
  全局安装仅针对默认的 `agent` 目录。如果你使用自定义命名的智能体，请使用项目级安装或手动将技能符号链接到 `~/.deepagents/{your-agent}/skills/`。
</Note>

### 技能发现

启动时，CLI 从深度智能体和共享别名目录中发现技能：

```text theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
~/.deepagents/<agent_name>/skills/
~/.agents/skills/
.deepagents/skills/
.agents/skills/
~/.claude/skills/          （实验性）
.claude/skills/            （实验性）
```

当存在重复的技能名称时，后优先级目录会覆盖前优先级目录（参见[应用数据](/oss/python/deepagents/data-locations#skills)）。

对于项目特定的技能，项目的根文件夹必须有一个 `.git` 文件夹。
当你从项目文件夹内的任何位置启动 CLI 时，CLI 会通过检查包含 `.git` 文件夹来查找项目的根文件夹。

对于每个技能，CLI 从 `SKILL.md` 文件的 frontmatter 中读取名称和描述。
当你使用 CLI 时，如果任务匹配技能的描述，智能体将读取技能文件并遵循其指令。

你也可以使用 `/skill:<name> [args]` 直接调用技能。技能发现在启动时运行，并在 `/reload` 时再次运行。

### 从命令行调用技能

使用 `--skill` 在启动时调用技能，无需交互式输入斜杠命令：

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
# 打开 TUI 并立即运行技能
deepagents --skill code-review

# 使用 -m 向技能传递请求
deepagents --skill code-review -m 'review the auth module'

# 通过管道向技能输入内容
cat diff.txt | deepagents --skill code-review

# 管道输入内容并添加请求
cat diff.txt | deepagents --skill code-review -m 'focus on security'
```

`--skill` 也可在非交互模式下使用：

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
# 以无头模式运行技能
deepagents --skill code-review -n 'review this patch'

# 静默模式（仅在标准输出中显示智能体输出）
deepagents --skill code-review -n 'review this patch' -q
```

<Note>
  `--skill` 与 `--quiet` 或 `--no-stream` 一起使用时需要 `-n`（非交互模式）。
</Note>

### 列出技能

```bash theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
# 列出所有用户技能
deepagents skills list

# 列出项目技能
deepagents skills list --project

# 获取特定技能的详细信息
deepagents skills info test-skill
deepagents skills info test-skill --project
```

***

<div className="source-links">
  <Callout icon="terminal-2">
    [连接这些文档](/use-these-docs)到 Claude、VSCode 等工具，通过 MCP 获取实时答案。
  </Callout>

  <Callout icon="edit">
    [在 GitHub 上编辑此页面](https://github.com/langchain-ai/docs/edit/main/src/oss/deepagents/cli/memory-and-skills.mdx)或[提交问题](https://github.com/langchain-ai/docs/issues/new/choose)。
  </Callout>
</div>
