PandaAI投研Skills构建思路文档

sUPinesUPine··650 浏览

PandaAI投研Skills 构建思路文档

设计理念

1. 零代码部署

PandaAI投研Skills采用Kiro原生Steering机制实现,无需编写额外的后端代码或部署服务。整个Skills以一个Markdown文件的形式存在,通过Kiro的Steering功能自动加载和解析。

设计优势:

  • 部署简单:只需将Steering文件放入指定目录
  • 维护方便:直接编辑Markdown文件即可更新Skills
  • 版本控制:可与项目代码一起进行Git版本管理

2. 知识同步

通过Kiro的文件引用语法 #[[file:]],Skills可以直接引用外部文档作为知识库。当官方文档更新时,Skills自动获取最新内容,无需手动同步。

引用机制:

#[[file:PandaAI 因子编写与函数参考手册.md]]
#[[file:PandaAI工作流-数据API说明.md]]

3. 即时可用

用户无需安装额外插件或配置复杂环境,只需在聊天中使用 #PandaAI 标签即可激活Skills,立即获得投研辅助能力。

4. 可扩展性

Steering文件采用模块化设计,每个功能模块独立成章,便于后续添加新功能或修改现有功能。

Steering文件结构设计

整体架构

pandaai-research.md
├── Front Matter(元数据配置)
├── 平台简介
├── 知识库引用
├── 交互规则
│   ├── 请求类型识别规则
│   ├── 上下文理解规则
│   └── 响应格式规则
├── 因子编写模块
│   ├── 公式模式知识库
│   ├── 公式代码模板
│   ├── Python模式知识库
│   └── Python代码模板
├── 数据查询模块
│   ├── 数据API知识库
│   └── 数据查询代码模板
├── 技术指标模块
│   ├── 技术指标知识库
│   └── 技术指标代码模板
├── 因子分析模块
│   ├── 因子分析知识库
│   └── 因子分析代码模板
├── 股票筛选模块
│   ├── 筛选条件知识库
│   └── 筛选代码模板
└── 代码库集成模块
    ├── 集成知识库
    └── 集成代码模板

Front Matter配置

---
inclusion: manual
---

配置说明:

  • inclusion: manual:设置为手动激活模式,用户需要使用 #PandaAI 标签显式激活
  • 可选值:
    • always:始终加载(默认)
    • manual:手动激活
    • fileMatch:文件匹配时激活

模块设计原则

1. 知识库模块

每个知识库模块包含:

  • 概念定义:清晰的术语解释
  • 参数说明:函数/API的参数表格
  • 使用场景:何时使用该功能
  • 注意事项:常见陷阱和最佳实践

2. 代码模板模块

每个代码模板包含:

  • 模板结构:可复用的代码框架
  • 参数占位符:明确标注需要替换的部分
  • 完整示例:可直接运行的示例代码
  • 注释说明:关键步骤的解释

3. 交互规则模块

交互规则定义了AI如何理解和响应用户请求:

  • 识别关键词:触发特定功能的关键词列表
  • 识别模式:用户请求的常见模式
  • 响应策略:针对不同请求的响应方式
  • 格式规范:输出内容的格式要求

与PandaAI平台的集成方式

1. 代码库集成

Skills与panda_factor代码库的集成通过以下方式实现:

Factor基类集成:

from panda_factor.generate.factor_base import Factor

class CustomFactor(Factor):
    def calculate(self, factors):
        # 因子计算逻辑
        pass

FactorUtils工具类集成:

from panda_factor.generate.factor_utils import FactorUtils

# 使用静态方法
result = FactorUtils.RANK(series)

因子分析集成:

from panda_factor.analysis.factor import factor
from panda_factor.analysis.factor_analysis import factor_analysis

2. 数据API集成

Skills生成的数据查询代码直接调用panda_data模块:

import panda_data

panda_data.init()
df = panda_data.get_market_data(...)

3. 文档同步

通过文件引用保持与官方文档同步:

  • 因子编写规范来自 PandaAI 因子编写与函数参考手册.md
  • 数据API说明来自 PandaAI工作流-数据API说明.md

如何扩展和定制Skills

1. 添加新的知识模块

在Steering文件中添加新的章节:

## 新功能模块

### 新功能知识库

[添加概念定义、参数说明等]

### 新功能代码模板

[添加代码模板和示例]

2. 扩展交互规则

在交互规则部分添加新的识别模式:

#### 新功能请求识别

**识别关键词:**
- 关键词1、关键词2、关键词3

**识别模式:**
1. 用户请求模式1 → 响应策略1
2. 用户请求模式2 → 响应策略2

**响应策略:**
- 策略说明

3. 添加新的代码模板

在对应模块中添加新的模板:

#### 新模板名称

```python
# 模板代码
from xxx import yyy

class NewTemplate:
    def method(self):
        pass

使用说明:

  • 说明1
  • 说明2

### 4. 引用新的外部文档

在知识库引用部分添加新的文件引用:

```markdown
## 知识库引用

#[[file:PandaAI 因子编写与函数参考手册.md]]
#[[file:PandaAI工作流-数据API说明.md]]
#[[file:新文档.md]]

5. 定制响应格式

修改响应格式规则部分:

### 响应格式规则

#### 自定义输出格式

```markdown
# 输出格式模板
**标题**:[内容]
**说明**:[内容]

**代码**:

[代码内容]


最佳实践

1. 保持模块独立性

每个功能模块应该相对独立,避免过多的交叉引用,便于单独维护和更新。

2. 提供完整示例

代码模板应该是可以直接运行的完整代码,而不是片段,减少用户的理解成本。

3. 明确参数说明

所有函数和API的参数都应该有清晰的说明,包括类型、是否必填、默认值和取值范围。

4. 保持文档同步

定期检查引用的外部文档是否有更新,确保Skills提供的信息是最新的。

5. 测试验证

添加新功能后,应该进行测试验证,确保生成的代码可以正常运行。

技术细节

Steering文件加载机制

  1. Kiro启动时扫描 .kiro/steering/ 目录
  2. 解析每个Steering文件的Front Matter
  3. 根据 inclusion 配置决定加载时机
  4. 解析 #[[file:]] 引用,加载外部文档内容
  5. 将Steering内容注入到AI上下文中

文件引用解析

#[[file:path]] 语法的解析规则:

  • 路径相对于项目根目录
  • 支持Markdown文件
  • 引用的文件内容会被完整加载到上下文中

手动激活机制

inclusion: manual 时:

  • 用户需要在聊天中使用 #文件名 标签
  • Kiro识别标签后加载对应的Steering文件
  • Steering内容在当前会话中生效

评论

还没有评论,来说点什么吧
0 / 2000