下载

认识 Context

理解上下文怎样把数据结构、业务定义和分析方法连接起来,以及如何持续维护它。

Context(上下文)包含 Agent 分析时需要的表结构、指标定义、文档和规则。它帮助 Agent 找到正确的数据,并理解团队的业务口径。

例如,“新增客户”可能按注册时间,也可能按首次购买时间计算。把定义写入上下文后,团队就不必在每次提问时重复说明。

用文件系统组织上下文

Cappy 使用文件系统来组织上下文:表结构、文档和规则按目录存放在项目中,Agent 按需查找和读取。团队可以直接查看、编辑这些内容,了解 Agent 能使用哪些信息。

先在 Web 创建项目并克隆仓库,再通过 CLI 初始化上下文、同步数据库与语义层;代码和业务文档作为项目文件加入。下面的 my-project 表示本地项目文件夹:

my-project/
├── config.yaml
├── RULES.md
├── databases/
├── repos/
├── docs/
├── semantics/
└── agent/
    ├── skills/
    └── mcps/
位置内容
config.yaml数据库与可选的语义层配置
RULES.md通用约定与相关上下文文件的路径
databases/同步的表结构与选定的元数据
repos/手动选入项目的 dbt 模型、SQL 与文档
docs/业务说明、指标定义与示例
semantics/配置语义层后同步的指标与维度
agent/skills/、agent/mcps/可复用的分析方法与外部工具连接

repos/ 是本文存放代码材料的约定目录,可按需创建;数据库与语义层目录在配置并同步后才有内容。人工编写的文档与生成文件分开维护,避免下次同步覆盖已有说明。

Agent 如何使用上下文

Agent 会读取项目根目录的 RULES.md,了解项目的分析规则,再根据问题查找和读取相关文件。

例如,回答“上个月的销售额是多少?”时,它可以按以下步骤使用上下文:

  1. 查找销售额的定义:读取 docs/ 中的指标说明,确认销售额按下单金额还是实付金额计算、是否扣除退款,以及按哪个日期统计。
  2. 查看相关表结构:读取 databases/ 中的订单表说明,找到金额、日期和订单状态等字段;如果需要关联退款表,再查看两张表的关联字段。
  3. 执行查询并回答:根据指标定义和表结构生成 SQL,连接数据库查询上个月的数据,再用查询结果回答,并说明采用的统计口径。

cappy sync 更新数据库与语义层的生成文件;代码仓库材料、业务说明和规则由团队直接维护。修改后,按项目更新流程让 Agent 使用最新文件。

添加上下文

按项目需要添加数据库、仓库、语义层和自定义文档: