BigQuant Cowork 智能体 Skill 全指南:从创建到调用的完整教程
由bqpveu9w创建,最终由bqpveu9w 被浏览 5 用户
一句话总结:本文系统介绍 BigQuant Cowork 智能体的 Skill(技能)体系——如何创建、更新、发布和调用触发,并结合高频因子投研实战案例,展示 AI 原生量化投研的新范式。
一、为什么需要 Cowork?从"马车装引擎"到"汽车工业"
与 AI 助手的传统交互,是一种即时的、一问一答的对话模式:我们提出问题,模型给出回答。但当任务涉及多个步骤、本地文件处理或长时间运行时,这种模式力不从心。
BigQuant 创始人兼 CEO 梁举指出:真正的 AI 原生并非在现有软件架构上修补或安插一个 AI 聊天窗口——这种做法如同"给马车安装内燃机",本质仍受限于旧有框架。真正的变革是从零开始设计"汽车",将 AI 视为核心引擎,对业务逻辑、研发流程及组织架构进行彻底重构。
BigQuant Cowork 正是这一理念的产物——国内首个专为量化投资设计的 AI 原生协同平台。它不只是一个辅助工具,更是一个能深度理解金融逻辑、自主执行复杂任务的"AI 研究员"基地。
Cowork vs 标准聊天:核心差异
| 特性 | 标准聊天模式 | Cowork 模式 |
|---|---|---|
| 交互模式 | 一问一答,实时对话 | 分配任务,异步执行 |
| 文件访问 | 需手动上传,无法直接修改 | 直接访问授权文件夹,可读/写/创建文件 |
| 任务复杂度 | 适合单一、简单请求 | 处理复杂、多步骤的长期任务 |
| 执行环境 | 云端服务器 | 用户本地隔离环境 |
| 输出结果 | 文本或代码片段,需手动复制 | 直接生成格式化文件(.xlsx, .pptx 等) |
| 自主性 | 被动等待指令 | 自主规划、分解子任务、并行执行 |
Cowork 的核心能力
| 能力维度 | 具体场景 |
|---|---|
| 自主研报复现 | 深度解析多模态研报逻辑,自动构建因子并还原策略原型 |
| 高频因子挖掘 | 7×24 小时不间断探索海量数据,捕捉超额收益信号 |
| 自动化策略开发 | 从灵感构思到代码实现、回测优化,全流程闭环 |
| Skill 技能扩展 | 用户可自定义、发布和复用专业投研技能 |
二、Skill:Cowork 的能力扩展引擎
什么是 Skill?
Skill(技能) 是 Cowork 智能体的能力扩展机制。简单来说,Skill 是一组被封装好的、可复用的专业知识与工作流程,它让 Cowork 从"通用助手"进化为"领域专家"。
一个 Skill 可以是:
- 一个投研流程:如"因子挖掘与清洗"的完整标准化流程
- 一组专业知识:如"华泰金工因子库"的结构化知识包
- 一个自动化任务:如"策略过拟合检测"的自动检查规则
- 一个数据 pipeline:如"研报 PDF 解析与因子提取"的处理链
Skill 的核心价值
| 价值维度 | 说明 |
|---|---|
| 复用性 | 一次定义,多次调用;团队共享,避免重复造轮子 |
| 标准化 | 将最佳实践固化为标准流程,降低人为偏差 |
| 可扩展 | 社区/团队可贡献和分享 Skill,形成能力生态 |
| 可迭代 | 随时更新优化,版本可追溯 |
Skill 的技术架构
一个完整的 Skill 包含以下核心组件:
Skill(技能)
├── SKILL.md # 技能定义文件(元数据 + 指令)
├── references/ # 参考资料(文档、API说明等)
├── scripts/ # 可执行脚本(Python/SQL等)
└── assets/ # 静态资源(模板、配置文件等)
SKILL.md 是每个 Skill 的核心,其结构如下:
---
name: factor_mining_pipeline # 技能名称
description: 高频因子挖掘与清洗的完整流程 # 技能描述
version: 1.0.0 # 版本号
author: your_name # 作者
tags: [因子挖掘, 量化投研] # 标签
triggers: # 触发词
- 挖掘因子
- 因子清洗
- factor mining
---
# 技能正文
## 目标
从自然语言描述出发,自动完成因子从构思到回测的全流程。
## 工作步骤
1. 解析用户因子逻辑描述
2. 生成 SQL/Python 因子计算代码
3. 自动回测与因子分析
4. 输出因子绩效报告
...
三、创建 Skill:从 0 到 1 构建专属能力
3.1 创建流程总览
创建一个 Skill 需要经过以下步骤:
确定技能目标 → 编写 SKILL.md → 准备参考资料 → 编写脚本 → 本地测试 → 发布
3.2 详细步骤
Step 1:确定技能目标
在创建 Skill 之前,先想清楚三个问题:
- 解决什么问题? (如:自动化因子挖掘、研报复现、过拟合检测)
- 输入是什么? (如:自然语言描述、PDF 文件、股票代码列表)
- 输出是什么? (如:因子计算代码、回测报告、可视化图表)
最佳实践:从你重复执行最多的工作流入手。如果你发现自己每周都在做类似的因子清洗,那就是一个完美的 Skill 候选。
Step 2:编写 SKILL.md
SKILL.md 是 Skill 的灵魂。它定义了技能的元数据和具体指令。
模板示例——因子挖掘 Skill:
---
name: high_freq_factor_mining
description: 高频因子低频化挖掘流程,支持傅立叶变换、量价分析等多种方法
version: 1.0.0
author: quant_researcher
tags: [因子挖掘, 高频因子, FFT]
triggers:
- 挖掘高频因子
- 因子魔改
- FFT因子
---
# 高频因子挖掘流程
## 适用场景
当用户需要从高频量价数据中挖掘低频化因子时触发此技能。
## 前置条件
- BigQuant 平台访问权限
- DAI 数据接口可用
## 工作流程
### 1. 需求解析
- 解析用户的因子逻辑描述
- 识别因子类型(量价、资金流、波动率等)
- 确定计算频率和数据范围
### 2. 因子代码生成
- 根据 BigQuant DAI 接口生成 SQL 查询
- 使用 UDF(用户自定义函数)封装复杂计算逻辑
- 自动处理数据清洗(去极值、去缺失值)
### 3. 因子回测验证
- 调用 BigQuant 因子分析模块
- 计算 IC、IR、换手率等核心指标
- 生成因子绩效图表
### 4. 因子优化建议
- 分析因子表现,给出改进方向
- 提供多角度魔改思路(频带组合、时变分析等)
Step 3:准备参考资料
将领域知识、API 文档、研报要点等放入 references/ 目录:
references/
├── dai_api_guide.md # DAI 接口使用指南
├── factor_library.md # 常用因子公式库
├── research_note_template.md # 研报笔记模板
└── best_practices.md # 量化投研最佳实践
Step 4:编写可执行脚本
将可复用的代码逻辑封装到 scripts/ 目录:
# scripts/factor_calc.py
import dai
import numpy as np
import pandas as pd
def calc_fft_factor(buy_vol, sell_vol, period=(2, 5)):
"""
计算基于傅立叶变换的成交量周期性因子
源自"滴水穿石"因子思路的魔改版本
"""
def band_power(x):
x = np.asarray(x, dtype=np.float64)
if x.size < 10:
return 0.0
# MAD去脉冲
median = np.median(x)
mad = np.median(np.abs(x - median))
if mad > 1e-8:
x = np.clip(x, median - 3*1.4826*mad,
median + 3*1.4826*mad)
# FFT流程
x = x - x.mean()
window = np.hanning(x.size)
xw = x * window
if xw.size < 256:
xw = np.pad(xw, (0, 256 - xw.size), 'constant')
FFTc = np.fft.rfft(xw)
P = np.abs(FFTc) ** 2
freq = np.fft.rfftfreq(xw.size, d=1.0)
mask = ((freq >= 1.0/period[1]) &
(freq <= 1.0/period[0]) &
(freq != 0.0))
bp = float(np.sum(P[mask]))
tp = float(np.sum(P[freq != 0.0]))
return bp / (tp + 1e-8)
return band_power(buy_vol) - band_power(sell_vol)
Step 5:本地测试
在发布前,通过 Cowork 对话测试 Skill 是否按预期工作:
提示词示例:
"使用 high_freq_factor_mining 技能,
基于滴水穿石因子的思路,
帮我挖掘一个买卖方向分离的 FFT 因子,
计算 2024 年全年的因子值。"
观察 Cowork 是否:
- 正确识别并加载了 Skill
- 按照 SKILL.md 中定义的流程执行
- 生成了符合预期的输出
3.3 创建 Skill 的最佳实践
| 原则 | 说明 |
|---|---|
| 单一职责 | 每个 Skill 只解决一类问题,避免"大而全" |
| 步骤清晰 | SKILL.md 中的工作流程要可执行、可验证 |
| 提供示例 | 在 references 中给出输入输出示例 |
| 错误处理 | 在脚本中加入异常处理和边界检查 |
| 版本管理 | 每次重大更新都递增版本号 |
四、更新 Skill:持续迭代与进化
4.1 为什么需要更新?
量化投研是一个快速演进的领域:
- 新的研报方法论不断出现
- 市场结构变化导致因子失效
- 平台 API 升级
- 用户反馈发现的问题
Skill 的更新机制让你能够持续优化,保持技能的时效性和准确性。
4.2 更新流程
分析改进需求 → 修改 SKILL.md / 脚本 → 递增版本号 → 测试验证 → 重新发布
修改 SKILL.md
直接编辑 SKILL.md 文件,更新指令内容。例如,当发现新的因子魔改方向时:
---
name: high_freq_factor_mining
description: 高频因子低频化挖掘流程,支持FFT、小波变换、量价协同等多种方法
version: 1.1.0 # ← 版本号递增
author: quant_researcher
tags: [因子挖掘, 高频因子, FFT, 小波变换]
triggers:
- 挖掘高频因子
- 因子魔改
- FFT因子
- 小波因子 # ← 新增触发词
---
# 高频因子挖掘流程(v1.1.0 更新)
## v1.1.0 更新内容
- 新增小波变换因子计算方法
- 新增量价协同分析模块
- 优化去脉冲算法(支持自适应阈值)
- 修复 NaN 值处理问题
...
更新脚本
# scripts/factor_calc.py (v1.1.0)
# 新增:自适应去脉冲
def advanced_despike(x):
"""自适应阈值去脉冲,替代固定IQR"""
x = np.asarray(x, dtype=np.float64)
median = np.median(x)
mad = np.median(np.abs(x - median))
# 滚动标准差自适应
rolling_std = pd.Series(x).rolling(
window=30, min_periods=1).std().values
lower = np.where(median - 3*1.4826*mad < median - 3*rolling_std,
median - 3*1.4826*mad,
median - 3*rolling_std)
upper = np.where(median + 3*1.4826*mad > median + 3*rolling_std,
median + 3*1.4826*mad,
median + 3*rolling_std)
return np.clip(x, lower, upper)
4.3 更新注意事项
| 注意点 | 说明 |
|---|---|
| 向后兼容 | 确保更新不破坏已有调用方的工作流 |
| 变更记录 | 在 SKILL.md 中维护 CHANGELOG |
| 回归测试 | 更新后对已有用例重新验证 |
| 通知使用者 | 重大变更时通知团队或社区 |
五、发布 Skill:共享投研智慧
5.1 发布流程
完成测试 → 填写发布信息 → 提交审核 → 审核通过 → 上线可用
5.2 发布前的检查清单
发布前请确认:
- [ ] SKILL.md 元数据完整(name, description, version, author, tags)
- [ ] 触发词(triggers)准确且无歧义
- [ ] 所有脚本经过测试,无报错
- [ ] 参考资料文档齐全
- [ ] 不包含敏感信息(密码、Token 等)
- [ ] 遵循平台规范和命名约定
5.3 发布范围
| 发布范围 | 说明 | 适用场景 |
|---|---|---|
| 个人私有 | 仅创建者可用 | 个人工作流自动化 |
| 团队共享 | 团队/组织内可见 | 机构内部标准化流程 |
| 社区公开 | 所有 BigQuant 用户可用 | 开源贡献、行业共享 |
5.4 优质 Skill 的发布标准
一个高质量的 Skill 应当具备:
- 清晰的描述:用户一眼就知道这个 Skill 能做什么
- 完整的文档:包含使用示例和参数说明
- 健壮的代码:异常处理完善,边界条件覆盖
- 合理的触发词:覆盖用户可能的自然语言表达
- 实际验证:有真实使用案例支撑
六、调用与触发:让 Skill 为你工作
6.1 触发方式
Skill 支持多种触发方式,让调用变得自然且高效:
方式一:自然语言触发
在日常对话中,Cowork 会根据你的描述自动匹配并加载合适的 Skill:
用户:"帮我用FFT方法挖掘一个高频因子,参考滴水穿石研报的思路"
Cowork → 自动识别触发词 "FFT因子" / "挖掘高频因子"
→ 加载 high_freq_factor_mining 技能
→ 按技能流程执行
方式二:显式调用
直接指定要使用的 Skill:
用户:"使用 high_freq_factor_mining 技能,计算2024年全年的买卖方向分离FFT因子"
方式三:自动化触发
在自动化工作流中,Skill 可以被其他流程自动调用:
定时任务 → 每日盘后自动运行因子更新 Skill
研报监控 → 新研报发布时自动触发研报复现 Skill
策略巡检 → 定期触发过拟合检测 Skill
6.2 触发词设计指南
好的触发词是 Skill 能否被正确调用的关键:
| 原则 | 示例 |
|---|---|
| 覆盖中文和英文 | "挖掘因子" / "factor mining" |
| 包含专业术语 | "FFT因子" / "傅立叶变换因子" |
| 包含口语表达 | "帮我找因子" / "魔改因子" |
| 避免过于宽泛 | ❌ "分析数据" ✅ "因子数据分析" |
6.3 调用示例
以下是一个完整的调用流程示例:
━━━ 用户输入 ━━━
"这是篇高频因子低频化的研报,通过傅立叶变换寻找主力的痕迹。
我复现的代码在这里:/home/aiuser/work/.../因子2历史计算.ipynb
帮我看一下这个研报有什么魔改的地方,帮我用SQL完成因子魔改。"
━━━ Cowork 执行过程 ━━━
[1/6] 🔍 识别任务类型 → 匹配 Skill: high_freq_factor_mining
[2/6] 📄 读取研报 PDF → 提取核心因子逻辑
[3/6] 💡 生成魔改思路 → 8个改进方向
[4/6] 💻 生成 SQL + UDF 代码 → 自动注册
[5/6] 🐛 自动修复 Bug → 2轮自动调试
[6/6] 📊 输出因子计算结果 → 保存 CSV
━━━ 输出结果 ━━━
✅ 因子计算完成,共 50,000+ 条记录
✅ 已保存至 /factors/drip_stone_buysel_202401.csv
📊 因子统计:mean=0.012, std=0.085, IC=0.05
七、实战案例:用 Cowork Skill 进行高频因子投研
7.1 案例背景
以方正金工《滴水穿石》因子为例,展示从自然语言到因子交付的完整流程。
因子核心逻辑:通过傅立叶变换识别日内成交量的周期性节奏——机构分批买入形成 2-5 分钟周期性脉冲 → 预示持续吸筹 → 未来表现更好。
7.2 全流程展示
第一步:告诉 Cowork 要做什么
提示词:
"这是篇高频因子低频化的研报,通过傅立叶变换寻找主力的痕迹。
我复现的代码在这里:/home/aiuser/work/AIQuANT/私享会/DEMO/因子更新/因子2历史计算.ipynb
帮我看一下这个研报有什么魔改的地方,可以从什么其他角度改进,
帮我用我的例子(SQL)去完成因子魔改。"
第二步:Cowork 自动分析并给出魔改方向
Cowork 识别到因子挖掘 Skill 后,自动给出了 8 个魔改方向:
| 序号 | 魔改方向 | 核心改进 |
|---|---|---|
| 1 | 多周期频带组合 | 同时计算 1-2/2-5/5-10/10-20 分钟多频带,PCA 降维 |
| 2 | 频谱形态特征 | 提取峰度、主频稳定性、峰值个数等频谱形状信息 |
| 3 | 时变频谱分析 | 用短时傅立叶变换观察盘中周期性变化趋势 |
| 4 | 去脉冲方法优化 | 用 MAD 替代 IQR,支持自适应阈值 |
| 5 | 买卖方向分离 | 分别计算买方/卖方频谱,对比周期性差异 |
| 6 | 量价协同分析 | 计算成交量-价格协同周期性 |
| 7 | 跨股票相对排名 | 横截面排名 + 行业中性化 |
| 8 | 因子稳定性筛选 | 计算多日稳定性,筛选持续周期性股票 |
第三步:自动生成代码
Cowork 自动生成了包含 UDF 定义和 SQL 查询的完整代码:
# UDF: 买卖方向分离的 FFT 因子
def volume_net_buy_safe(buy_vol_array, sell_vol_array,
period=(2, 5)) -> float:
"""计算净买入周期性因子"""
def calc_band_power(x_array):
x = np.asarray(list(x_array), dtype=np.float64)
x = x[np.isfinite(x)]
if x.size < 10:
return 0.0
# MAD去脉冲
median = np.median(x)
mad = np.median(np.abs(x - median))
if mad > 1e-8:
x = np.clip(x, median - 3*1.4826*mad,
median + 3*1.4826*mad)
# FFT计算
x = x - x.mean()
window = np.hanning(x.size)
xw = x * window
if xw.size < 256:
xw = np.pad(xw, (0, 256 - xw.size), 'constant')
FFTc = np.fft.rfft(xw)
P = np.abs(FFTc) ** 2
freq = np.fft.rfftfreq(xw.size, d=1.0)
mask = ((freq >= 1.0/period[1]) &
(freq <= 1.0/period[0]) &
(freq != 0.0))
bp = float(np.sum(P[mask]))
tp = float(np.sum(P[freq != 0.0]))
return bp / (tp + 1e-8) if tp > 1e-8 else 0.0
return calc_band_power(buy_vol_array) - \
calc_band_power(sell_vol_array)
第四步:自动修复 Bug
在实际运行中,Cowork 自动处理了两轮 Bug:
| 轮次 | 问题 | 解决方式 |
|---|---|---|
| 第1轮 | UDF 注册失败 | 自动修正注册参数 |
| 第2轮 | NaN 值过多 | 加入 np.isfinite() 过滤和异常兜底 |
第五步:因子计算与测试
- 使用按月计算策略,避免内存溢出
- 计算环境规格:K3
- 2年高频因子数据仅耗时 15 分钟
第六步:因子绩效对比
| 指标 | 原版因子 | 魔改后(未平滑) | 魔改后(平滑后) |
|---|---|---|---|
| 换手率 | 基准 | 0.8 | 优化降低 |
| IC | 基准 | 0.05 | 稳定提升 |
| 方向 | 无方向 | 买力分离 | 买力分离+平滑 |
7.3 案例总结
从 Prompt 到获得结果,总共用了不到 20 分钟,进行 4 轮对话,代码改了不到 10 行。
对一个从事多年因子研究的人来说,除了震撼,还是震撼。
八、常用 Skill 场景一览
BigQuant Cowork 的 Skill 体系可以覆盖量化投研的全光谱场景:
| Skill 场景 | 描述 | 典型触发词 |
|---|---|---|
| 因子挖掘自动化 | 从自然语言到可回测因子的全自动流程 | "挖掘因子"、"因子魔改" |
| 研报逻辑秒级复现 | 解析研报公式,自动生成回测代码 | "复现研报"、"解析研报" |
| 量化数据分析 | 多维度数据探索与可视化分析 | "数据分析"、"数据探索" |
| 策略复现与部署 | 复现博主策略并部署实盘 | "复现策略"、"部署实盘" |
| 过拟合检测 | 自动检测策略是否过拟合 | "检测过拟合"、"策略体检" |
| 全频段因子融合 | 华泰全频段因子融合流程 | "因子融合"、"频段融合" |
| 代码生成与调试 | 自动生成量化代码并修复 Bug | "写代码"、"修复报错" |
| 投资逻辑翻译 | 将主观投资逻辑转化为可编程因子 | "翻译投资逻辑"、"因子化" |
效率提升对比
| 业务流程 | 传统人工模式 | Cowork 智能体模式 | 提升倍数 |
|---|---|---|---|
| 因子挖掘与清洗 | 10-14 天 | 15-30 分钟 | >500 倍 |
| 研报逻辑复现 | 3-5 天 | 2 分钟 | >1000 倍 |
| 代码编写与调试 | 占用资深开发数小时 | AI 生成,秒级审核 | 10-20 倍 |
九、垂类模型 vs 通用模型:为什么需要专门的投研 Skill?
在量化投资的专业场景下,通用大模型虽然具备极强泛化能力,但在面对金融领域的极高精度要求、实时性约束以及复杂合规性时,往往力不从心。
| 维度 | 通用大模型 | BigQuant Cowork + Skill |
|---|---|---|
| 专业知识深度 | 覆盖广泛但深度不足,易产生金融幻觉 | 深度集成 BigQuant 因子库与金融知识库 |
| 数据实时性 | 训练数据滞后,难以捕捉盘中异动 | 实时接入实盘数据流,秒级响应 |
| 代码生成精度 | 通用脚本尚可,复杂因子报错率高 | 针对量化平台 API 优化的高精度生成 |
| 闭环执行能力 | 通常限于信息检索与建议 | 从因子挖掘到实盘执行的端到端能力 |
| 安全与合规 | 隐私泄露风险较高 | 隔离的 PaaS 环境,行列级权限 |
Cowork Skill 的核心竞争力在于"垂类深度"而非"通用广度":
- 外脑级能力:深度集成专业因子和实盘逻辑,具备"感知-决策-行动-优化"闭环
- 端到端交付:从灵感到实盘,全流程自动化
- AI 原生驱动:90% 以上代码由 AI 生成,效率提升百倍甚至千倍
十、安全使用指南
赋予 AI 直接操作文件和数据的能力是一把双刃剑。在使用 Cowork Skill 时,请遵循以下最佳实践:
| 安全原则 | 具体建议 |
|---|---|
| 审慎授权 | 避免将含财务信息、密码凭证的敏感文件夹授权 |
| 专用工作目录 | 创建专门用于 Cowork 的工作目录 |
| 监控执行过程 | 留意 Cowork 的行动计划,发现异常立即停止 |
| 指令清晰 | 尤其涉及删除/修改操作时,语言必须明确无歧义 |
| 防范提示词注入 | 谨慎处理来自网页/文件的不可信内容 |
十一、总结与展望
本文核心要点回顾
| 模块 | 核心内容 |
|---|---|
| 什么是 Skill | Cowork 的能力扩展机制,封装可复用的专业知识与工作流程 |
| 如何创建 | 编写 SKILL.md → 准备 references → 编写 scripts → 测试 |
| 如何更新 | 修改内容 → 递增版本号 → 回归测试 → 重新发布 |
| 如何发布 | 完成检查清单 → 选择发布范围(私有/团队/社区) |
| 如何调用 | 自然语言触发 / 显式调用 / 自动化触发 |
| 实战验证 | 20 分钟完成因子魔改,4 轮对话,效率提升 >500 倍 |
新时代 Quant 的角色转变
在 BigQuant Cowork 的愿景下,人类工程师的角色正在发生根本性转变:
从繁重的 Coder → 到 Goal Setter & Reviewer
- Goal Setter:设定战略目标和投资逻辑
- Reviewer:审核 AI 生成内容的严谨性
- Skill Architect:设计和维护投研技能体系
人类的智慧得以释放,用于探索更深层次的金融市场规律。
未来已来
2025 年是智能体(Agent)元年。技术应用正从简单的指令响应式交互,转向具备自主目标设定与执行能力的端到端协作模式。
BigQuant Cowork 的 Skill 体系,正是这一趋势在量化投资领域的具体落地。通过创建、更新、发布和调用 Skill,每一个 Quant 都能构建属于自己的"数字员工"集群。
一人即私募的时代,也许离我们很近。
附录:快速上手 Checklist
创建第一个 Skill
- □ 确定你要解决的投研问题
- □ 创建 SKILL.md 文件,填写元数据和指令
- □ 准备参考资料放入 references/
- □ 编写可执行脚本放入 scripts/
- □ 在 Cowork 中测试触发和执行
- □ 修复问题,迭代优化
- □ 发布并分享
相关资源
- 直播回放:使用 CoWork 进行端到端因子投研
- 方正因子研报:滴水穿石因子原文
- SQL 复现 Baseline:BigQuant 代码分享
\