ruflo 市场数据 Agent 实战:OHLCV 归一化、K 线形态库与 HNSW 向量检索的实现解析
【免费下载链接】ruflo🌊 The original agent meta-harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, RAG integration, and native Claude Code / Codex / Hermes and many more Integrated项目地址: https://gitcode.com/GitHub_Trending/cl/ruflo
本文以 ruflo 插件ruflo-market-data中的data-engineerAgent 定义文档为核心,系统讲解该 Agent 如何将原始行情数据归一化为 OHLCV 向量、用固定维度向量编码 K 线形态,并通过 HNSW 索引实现历史形态的快速近邻检索;同时结合插件的 ADR 契约、冒烟测试与技能文件,剖析"命名空间路由 vs 分层路由"这一关键工程细节,读完后你能够完整复刻一条从数据摄入到形态检索的可运行数据管道。
一、data-engineer Agent 的定位与职责
data-engineer是 ruflo-market-data 插件 中唯一的 Agent,其角色定义见 agents/data-engineer.md。该文件使用标准 Agent frontmatter 声明元数据:
--- name:>bash plugins/ruflo-market-data/scripts/smoke.sh # Expected: "11 passed, 0 failed"六、神经学习与记忆学习:Agent 的自训练闭环
data-engineer.md还定义了数据摄入/形态检测之后的两条学习回路。
神经学习(每次成功摄入或检测后触发):
npx @claude-flow/cli@latest hooks post-task --task-id "TASK_ID" --success true --train-neural true npx @claude-flow/cli@latest neural train --pattern-type market-data --epochs 15第一条通过 post-task hook 上报任务成功并开启神经训练开关,第二条针对market-data模式类型执行 15 个 epoch 的训练。
记忆学习(把摄入摘要与形态元数据持久化到命名空间):
npx @claude-flow/cli@latest memory store --namespace market-data --key "symbol-SYMBOL" --value "OHLCV_SUMMARY_JSON" npx @claude-flow/cli@latest memory store --namespace market-patterns --key "pattern-PATTERN_ID" --value "PATTERN_METADATA_JSON" npx @claude-flow/cli@latest memory search --query "bearish reversal patterns for AAPL" --namespace market-patterns注意这里的 key 约定:market-data命名空间下用symbol-<代码>作为 key,market-patterns下用pattern-<ID>。两个技能文件的 "CLI alternative" 小节进一步给出了更细粒度的真实键名示例,如symbol-SYMBOL-DATE(每根 K 线一个条目)与pattern-AAPL-2026-05-04-doji(含形态名与日期),可直接复制使用。
七、端到端流程:market 命令的 5 个子命令
commands/market.md 把上述能力封装为 5 个子命令,每个子命令都注明了底层工具调用链:
market ingest <symbol> [--period 1D] # 摄入并归一化 OHLCV 数据 market patterns <symbol> # 检测 K 线形态 market search <pattern-name> # 检索历史形态出现 market history <symbol> # 展示摄入历史与数据覆盖 market compare <sym1> <sym2> # 对比两个标的的形态画像各子命令的执行细节:
market ingest:取数 → 按第二节公式归一化 → 每根 K 线编码为 64 维向量 →memory_store --namespace market-data落盘 →ruvllm_hnsw_add写入 HNSW 索引 → 报告摄入 K 线数、日期区间、价格 min/max/avg、成交量画像;market patterns:从market-data命名空间召回近期 OHLCV → 扫描单/多 K 线形态 → 按第四节结构分类评分 → 走第五节的双写路径存储 → 展示形态名、日期、方向、可靠度、K 线区间;market search:通过ruvllm_hnsw_route在 HNSW 索引中检索匹配向量 → 从market-patterns召回对应条目 → 按相似度与时间新旧排序 → 展示 symbol、日期、匹配分与后续价格走势(如有);market history:统计已存 K 线总数、日期区间、覆盖缺口、最后摄入时间戳,以及按类型分组的形态计数;market compare:从market-patterns召回两个标的的形态数据,计算共享形态类型、时间重叠度、方向一致性,并高亮可能指向交易机会的分歧点。
八、生态位与相关插件
data-engineer输出的结构化数据是 ruflo 多 Agent 生态中的数据底座,原文档 "Related Plugins" 一节列出了四个协作方:
- ruflo-neural-trader:消费市场形态作为策略信号做交易决策;
- ruflo-ruvector:提供 HNSW 索引引擎,是
ruvllm_hnsw_*工具族的实现方(其版本钉扎见 ADR-0001); - ruflo-agentdb:持久化存储 OHLCV 数据与形态向量,并拥有命名空间约定;
- ruflo-observability:数据源健康度与摄入延迟的指标看板。
插件安装方式为:
claude --plugin-dir plugins/ruflo-market-data需要说明的适用前提:该插件 CLI 钉扎于@claude-flow/cliv3.6(major+minor),依赖 ruflo 核心插件提供mcp__plugin_ruflo-core_ruflo__*前缀的 MCP 工具族;验证插件契约一致性的唯一官方途径是运行scripts/smoke.sh并得到 "11 passed, 0 failed"。
九、小结
data-engineer虽然只是一个 Agent 定义文件,但它承载了 ruflo 市场数据管道最核心的四份契约:OHLCV 归一化公式(相对收益 + Z-score)、12 种形态库(类型/K 线数/可靠度)、64 维 padding 向量接口、以及memory_*与agentdb_hierarchical-*/agentdb_pattern-*的路由边界。前两者保证了向量的可比性与形态评分的标准化,后者决定了数据能否真正按命名空间隔离存取——这正是 ADR-0001 修复三个静默失效 bug 并把 11 项冒烟检查固化为契约的原因。理解这条"归一化 → 向量化 → 命名空间存储 → HNSW 检索 → 双路径记忆"的完整链路,就掌握了在 ruflo 中自建其他时序数据管道的参考范式。
【免费下载链接】ruflo🌊 The original agent meta-harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, RAG integration, and native Claude Code / Codex / Hermes and many more Integrated项目地址: https://gitcode.com/GitHub_Trending/cl/ruflo
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考