dolphindb-vectorization-programminglisted
Install: claude install-skill dolphindb/DolphinX_Skill
# DolphinDB 向量化编程
本技能帮助你在编写、优化和审查 DolphinDB 代码时,遵循向量化思维,把计算任务从逐元素的脚本控制流转向高层的批量原语、SQL、窗口函数、流引擎或适当的执行层升级。遵循此流程可以显著减少冗余循环、临时变量和语义模糊的表达,使代码更简洁、高效、易维护。
## 使用方式
整个工作流是“判明任务 → 生成初版 → 场景对照优化 → 最终审查”的循环。请严格按以下步骤执行,不要跳过中间的判断和对照步骤。
1. **读取规则与理解任务**
首先读取本文件(`SKILL.md`)和核心规则文件 [references/core-rules.md](references/core-rules.md)。重点理解:
- 编码前的固定判断顺序(对象 → 输出 → 依赖 → 执行层 → 升级)。
- 第一组:先描述清楚任务的对象、输出形式和结果依赖关系。
- 第二组:确保数据放在正确的结构(向量、矩阵、表等)中,计算维度与对象形态对齐。
- 第三组:优先使用专用批量原语,识别条件、序列、查找、整列处理等典型问题。
- 第四组:当数据已在表中或进入流处理时,优先让 SQL 或流引擎完成工作。
- 第五组:最后才考虑 JIT、并行或分布式升级。
明确这些规则后,再开始动手写代码。
2. **初步生成符合规则的代码**
基于你对任务的理解,直接生成一版尽可能遵循上述规则的 DolphinDB 代码。即使还不够完美,也应先给出一个清晰的批量表达式或 SQL 路线,而不是先写显式循环再改造。
3. **读取场景索引,定位相关场景**
初次生成的代码通常还可以进一步优化。此时阅读 [references/scene-index.md](references/scene-index.md),根据当前代码的特征(如是否包含低效的模式)找到对应的场景文件 `references/scene-XX-*.md`。这些场景文件包含了常见的低效写法、识别标记(`tag`)和推荐改写方法。
4. **对照场景文档,吸收改写思路**
仔细阅读命中的场景文档,重点关注:
- 该场景下典型的错误模式及命中证据。
- 提供的改写路线和推荐的���数/语法入口。
- 案例中展示的改写前后对比。
然后基于这些信息修改你的代码,使之更符合向量化规范。
5. **输出优化后的代码**
将经过场景对照优化后的代码作为结果输出。此时代码应已经过两轮打磨:一轮基于规则生成,一轮基于具体场景案例修正。
6. **再次审查与迭代**
输出后再次审视改写后的代码。如果发现仍然存在其他异常模式(例如又命中了另一个 `scene`),则回到第 3 步,继续通过场景文档进行修正,直到不再有可识别的低效模式为止。
## 规则读取
处理任何实质性的编写、优化或审查任务时,都必须先读取 [references/core-rules.md](references/core-rules.md)。该文件是全部判断的总纲。它包含:
- **编码前固定判断顺序**:在写任何代码前,先确定处理对象(向量、矩阵、表、数组向量、流批次等)、输出形式、结果依赖关系和逻辑应当放置的执行层,最后再判断是否需要升级执行层。
- **向量、矩阵、表、数组向量、流数据等对象的路线判断**:规则 03-05 帮你将数据放在合适的数据结构里,并让计算维度对齐。
- **条件、序