> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 数据分析智能体

> 使用数据分析智能体快速进行数据库查询、数据分析和可视化

**数据分析智能体** (**DANA**，Data ANAlyst) 是 Devin 的一个专用版本，针对数据库查询、数据分析和可视化进行了优化。它专为数据分析工作流设计，强调高效与简洁。

<div id="when-to-use-the-data-analyst-agent">
  ## 何时使用 Data Analyst Agent
</div>

在以下场景中，Data Analyst Agent 非常适合使用：

* **查询数据库**：针对已连接的数据源编写并执行 SQL 查询
* **分析数据**：探索模式、计算指标并分析数据中的趋势
* **创建可视化**：使用 seaborn 生成专业的图表和图形
* **回答数据相关问题**：快速、准确地解答关于数据的问题
* **生成洞察**：发现模式、异常以及可执行的关键发现

<div id="accessing-the-data-analyst-agent">
  ## 访问 Data Analyst Agent
</div>

<div id="from-the-web-app">
  ### 在 Web 应用中
</div>

1. 进入 Devin 首页
2. 点击智能体选择下拉菜单
3. 在下拉菜单中选择 **Data Analyst**
4. 从与数据相关的问题或任务开始会话

<div id="from-slack">
  ### 在 Slack 中发起
</div>

你可以在 Slack 中通过以下任一方式直接启动 Data Analyst 会话：

**使用斜杠命令：**

```
/dana 上个月收入排名前 10 的客户是哪些？
```

**在 @ 提及中使用 `!dana` 宏：**

```
@Devin !dana 上个月按收入排名前 10 的客户是哪些?
```

这两种方法都会创建一个 Data Analyst 会话，并在该线程中返回结果。

<div id="prerequisites">
  ## 前置条件
</div>

在使用 Data Analyst Agent 之前，你需要通过 MCP (Model Context Protocol，模型上下文协议) 至少连接一个数据源。常见的集成方式包括：

* **数据库 MCP**：Redshift、PostgreSQL、Snowflake、BigQuery 以及其他 SQL 数据库
* **分析类 MCP**：Datadog、Metabase 以及其他可观测性平台

如果没有已连接的数据源，该 agent 会提醒你，并在继续之前要求你先连接一个数据源。

<Card title="Set up MCP integrations" icon="plug" href="/zh/work-with-devin/mcp">
  了解如何通过 MCP 连接数据库和其他数据源
</Card>

<div id="how-it-works">
  ## 工作原理
</div>

<div id="database-knowledge">
  ### Database Knowledge
</div>

Data Analyst Agent 会维护一条 **Database Knowledge** 笔记，其中包含与你所连接数据库相关的 schema 文档。在执行查询之前，Agent 会自动参考这条笔记中的信息，从而能够快速识别正确的表和列。

<div id="example-prompts">
  ## 示例提问
</div>

以下是针对不同查询类型使用 Data Analyst Agent 的一些有效方式：

<div id="simple-lookups">
  ### 简单查询
</div>

* "我们上周有多少活跃用户？"
* "过去一个月我们的每日收入趋势如何？"
* "哪些客户的使用量最高？"

<div id="aggregations-and-metrics">
  ### 聚合与指标
</div>

* "过去 30 天内，不同套餐层级的平均会话时长是多少？"
* "按地区和产品线展示第四季度 (Q4) 的总收入"
* "计算本周每个 API 端点的第 95 百分位响应时间"

<div id="joins-and-cross-table-analysis">
  ### 关联与跨表分析
</div>

* “将我们的 users 表与 orders 表做关联查询，并展示按生命周期价值排序的前 20 位客户”
* “关联注册来源与 30 天留存率——哪些获客渠道的留存率最高？”
* “将会话数据与计费记录结合起来，查找使用量高但支出低的账户”

<div id="filtering-and-segmentation">
  ### 筛选与细分
</div>

* "仅显示在 2025 年 1 月之后注册且会话次数超过 100 次的 Enterprise 客户"
* "将错误日志筛选为仅包含过去 48 小时内来自 payments 服务的 5xx 错误"
* "按 Enterprise 客户与自助服务客户拆分使用量，并排除试用账户"

<div id="time-series-analysis">
  ### 时间序列分析
</div>

* "绘制过去 6 个月的每周活跃用户数，并标出任何变化超过 10% 的周"
* "展示 2025 年与 2024 年注册率的月度对比"
* "过去 90 天的 API 调用日度趋势如何？叠加一条 7 天移动平均线"

<div id="investigations-and-anomaly-detection">
  ### 调查与异常检测
</div>

* "为什么上周二注册量下降了？检查是否有相关的事故或部署变更"
* "本周我们的错误率中是否存在异常情况？"
* "将本月的指标与去年同期进行对比，并标记显著偏差"

<div id="multi-step-analysis">
  ### 多步分析
</div>

* “按分群分析第四季度的用户留存情况，然后找出流失最严重的分群，并给出可能原因”
* “找出按会话数排名前 10 的用户，展示他们的活动随时间的变化情况，并标记出看起来可能要流失的用户”

<div id="supported-data-sources">
  ## 支持的数据源
</div>

Data Analyst Agent 通过 MCP (Model Context Protocol，模型上下文协议) 集成访问你的数据。你可以连接多个数据源并在它们之间进行跨源查询。下面列出的是 [MCP Marketplace](https://app.devin.ai/settings/connections?tab=mcps) 中最常见的一些数据源——这并非完整列表。

<div id="sql-databases">
  ### SQL 数据库
</div>

| 数据源                                       | MCP 名称     | 配置方式        |
| ----------------------------------------- | ---------- | ----------- |
| Amazon Redshift                           | Redshift   | 连接字符串 + 凭证  |
| PostgreSQL                                | PostgreSQL | 连接字符串       |
| Snowflake                                 | Snowflake  | 帐户 + 凭证     |
| Google BigQuery                           | BigQuery   | OAuth 或服务帐户 |
| MySQL                                     | MySQL      | 连接字符串       |
| SQL Server                                | SQL Server | 连接字符串       |
| Neon                                      | Neon       | OAuth       |
| Supabase                                  | Supabase   | 个人访问令牌      |
| Cloud SQL (PostgreSQL, MySQL, SQL Server) | Cloud SQL  | OAuth       |

<div id="analytics-and-observability-platforms">
  ### 分析与可观测性平台
</div>

| 数据源      | MCP 名称   | 配置方式           |
| -------- | -------- | -------------- |
| Datadog  | Datadog  | API key + 应用密钥 |
| Metabase | Metabase | OAuth          |
| Grafana  | Grafana  | URL + 服务账号令牌   |
| Sentry   | Sentry   | OAuth          |

<div id="connecting-a-data-source">
  ### 连接数据源
</div>

1. 进入 [Settings > Connections > MCP servers](https://app.devin.ai/settings/connections?tab=mcps)
2. 找到你的数据源并点击 **Enable**
3. 提供所有必需的凭据 (连接字符串、API key 或 OAuth)
4. 启动一次 Data Analyst 会话——智能体会自动发现你已连接的数据源

需要的数据源不在 Marketplace 中？使用 **Add Your Own**，通过直接提供其配置来连接任意 MCP 服务器。

<Card title="Set up MCP integrations" icon="plug" href="/zh/work-with-devin/mcp">
  每个数据源的完整设置说明
</Card>

<Note>
  你可以同时连接多个数据源。Data Analyst Agent 会根据你的查询上下文使用合适的 MCP 工具。
</Note>

<div id="best-practices">
  ## 最佳实践
</div>

<div id="be-specific-about-metrics">
  ### 明确你的指标
</div>

不要提出模糊的问题，而是要精确定义你想要衡量的指标：

<CodeGroup>
  ```text Good theme={null}
  “我们的 7 日活跃用户数是多少？这里的定义是：至少启动过一次会话的用户。”
  ```

  ```text Less effective theme={null}
  “我们的用户最近怎么样？”
  ```
</CodeGroup>

<div id="specify-time-periods">
  ### 指定时间范围
</div>

始终明确你感兴趣的时间范围。代理在解析相对日期时默认使用 UTC。

<CodeGroup>
  ```text Good theme={null}
  "展示过去 30 天的每日收入"
  ```

  ```text Less effective theme={null}
  "展示收入"
  ```
</CodeGroup>

<div id="request-specific-output-formats">
  ### 请求特定的输出格式
</div>

告诉 agent 你希望以什么形式查看结果——表格、图表，或摘要：

<CodeGroup>
  ```text Good theme={null}
  "绘制一张展示过去一个季度每周注册量的折线图，并在下方给出原始数据表格"
  ```

  ```text Less effective theme={null}
  "获取注册人数"
  ```
</CodeGroup>

<div id="define-business-logic-upfront">
  ### 事先定义业务逻辑
</div>

如果你的指标有特定的业务定义，请在提示中直接说明，以避免歧义：

<CodeGroup>
  ```text Good theme={null}
  "显示月度流失率，其中「流失」定义为：在过去 30 天内会话数为 0、但在之前 30 天内至少有一次会话的账户"
  ```

  ```text Less effective theme={null}
  "我们的流失率是多少？"
  ```
</CodeGroup>

<div id="ask-for-comparisons-and-context">
  ### 请求对比和上下文信息
</div>

添加对比时间段或基准，可以让结果更便于采取行动：

<CodeGroup>
  ```text Good theme={null}
  "展示本周的日活跃用户数，与上个月的同一周进行比较，并标出任何偏差超过 15% 的日期"
  ```

  ```text Less effective theme={null}
  "展示日活跃用户数"
  ```
</CodeGroup>

<div id="iterate-on-results">
  ### 对结果进行迭代
</div>

你可以在同一会话中继续追问，以便更深入分析：

1. 先从整体入手：*"从营收来看，本季度排名前 10 的客户是谁？"*
2. 进一步细化：*"针对这前 3 名客户，展示他们过去一年的月度营收趋势"*
3. 进一步分析：*"客户 X 在 3 月的营收出现激增——是什么原因导致的？"*

<div id="validate-the-sql">
  ### 验证 SQL
</div>

Agent 始终会附上它使用的 SQL 查询。请审查该查询，确保其逻辑符合你的预期，尤其是在涉及连接、过滤或聚合等复杂分析时。

<div id="output-formats">
  ## 输出格式
</div>

Data Analyst Agent 会根据分析类型，以多种格式返回分析结果：

<div id="tables">
  ### 表格
</div>

对于数据查询和聚合，结果会以格式化的表格形式返回：

```
| Customer       | Revenue   | Sessions | Avg Duration |
|----------------|-----------|----------|--------------|
| Acme Corp      | $125,400  | 1,247    | 34 min       |
| Globex Inc     | $98,200   | 983      | 28 min       |
| Initech        | $87,600   | 876      | 41 min       |
```

<div id="charts-and-visualizations">
  ### 图表和可视化
</div>

当你请求进行可视化分析，或数据以图形方式更易理解时，智能体会使用 Seaborn 生成图表。常见图表类型包括：

* **折线图** — 时间序列趋势、随时间的对比
* **柱状图** — 分类对比、排名
* **热力图** — 相关性矩阵、活动模式
* **散点图** — 两个指标之间关系分析

<Tip>
  如果你有偏好，可以请求特定图表类型，或者让智能体为你的数据选择最适合的可视化方式。
</Tip>

<div id="summaries-and-insights">
  ### 总结与洞察
</div>

对于调查类提示，agent 会提供包含以下内容的结构化响应：

* **分析概述** — 用通俗语言回答你的问题
* **SQL 查询** — 使用的精确查询，方便你验证其逻辑
* **关键指标** — 突出显示的最重要指标
* **数据洞察** — 发现的模式、异常或其他值得注意的结果
* **Metabase 链接** — 如果你的组织通过 MCP 连接了 Metabase，agent 可能会附上一个交互式仪表盘链接，供你进一步探索

<div id="knowledge-management">
  ## Knowledge 管理
</div>

Data Analyst Agent 可以使用 Knowledge 系统在不同会话之间持久化所学内容。当它发现：

* 新的 schema 信息或表之间的关系
* 业务逻辑或指标定义
* 数据质量模式或相关注意事项

它会将这些内容保存到 Knowledge 笔记中，以便后续会话能够利用已有的成果。

<Card title="进一步了解 Knowledge" icon="brain" href="/zh/product-guides/knowledge">
  了解 Devin 的 Knowledge 系统的工作原理
</Card>

<div id="differences-from-standard-devin">
  ## 与标准版 Devin 的差异
</div>

| 功能       | Data Analyst Agent | 标准版 Devin |
| -------- | ------------------ | --------- |
| SQL 查询执行 | 已优化                | 支持        |
| 数据可视化    | 内置 seaborn 支持      | 需手动配置     |
| 数据库模式感知  | 预加载 Knowledge      | 按需探索      |
| 响应风格     | 简洁、侧重指标            | 解释更为详细    |
| 代码变更     | 非主要关注点             | 完整支持      |
| MCP 集成   | 必需                 | 可选        |

Data Analyst Agent 专为数据相关工作打造。对于涉及代码变更、部署或通用软件工程的任务，请改用标准版 Devin。
