[控场AI]
· 10 分钟阅读· 5,453 字

四天造一个Meme币溯源Agent:Sniff用图数据库揭穿"干净钱包"

四天造一个Meme币溯源Agent:Sniff用图数据库揭穿"干净钱包"

四天黑客松打造Sniff:用图数据库追踪Meme币幕后黑手,只解释历史不预测未来。

QuantBase团队在四天黑客松中构建了Sniff——一个基于FalkorDB图数据库的智能体,用于回答Meme币“背后是谁”的问题。他们将63万代币、42万钱包和150万关系导入图数据库,通过切断89个交易所枢纽钱包避免路径泛化,并用WCC算法找到6,556个资金环。Sniff只调用九个固定只读Cypher工具,每句话必须附带证据ID,引用检查器删除无支撑句子以抑制幻觉。METHU案例揭示创作者看似干净,但其资助方发行了72个代币无一毕业。对照测试表明图信号在加入早期价格信息后预测增益极小,因此产品定位为“解释历史,而非预测未来”,并已集成进QuantBase,通过MCP开放给其他智能体。

一个Meme币毕业了,你只有几秒钟

深夜,一个你没听过的pump.fun代币刚刚"毕业"——填满联合曲线,转入真实交易池。K线在爬,聊天窗口里全是火箭emoji,你的拇指悬在买入键上方。

真正该问的问题不是"它会涨吗"——没人能诚实回答。而是:这背后是谁? 谁创造了它,他们上一批作品后来怎样了?

你点开创作者的地址,全新的,只发过这一个币,看起来很干净。但它几乎从来不是那么简单。等你查清楚的时候,时机已经过去了。

这正是QuantBase团队在WeMakeDevs × FalkorDB Graph Hacks黑客松中想要解决的问题。据其记录器数据,单日pump.fun新增代币达24,606个——约每天2.5万个,每百个里只有少数能毕业。而发币钱包通常只为这一次发行而生,真正的线索藏在一两跳之外:谁给这个钱包打了发币所需的几分钱SOL?那个付款方还资助了谁?这些钱包又发了什么?

问题:真相在两跳之外

在Postgres里,上述每一个问题都变成一堆自连接查询,要跑几分钟还漏东西。路径查询正是图数据库的强项。团队给自己四天时间,把数月历史数据灌进FalkorDB,在上面构建了一个名为Sniff的智能体。

据作者描述,数据快照保留了632,339个代币、424,007个钱包和约150万条关系,FalkorDB批量加载器30秒完成导入,图仅占用521MB内存。

rss source: Sniff: four days, one graph, and an honest answer about meme coins

第一天:快照、图结构与"枢纽"意外

第一版查询跑通后,团队问了一个看似聪明的问题:两个随机代币如何相连?图的回答是——四跳之内,一切皆相连。正确,但无用。

原因是交易所。当创作者从交易所提取SOL时,交易所的热钱包就成了他们的"资助方"。其中一个钱包资助了33,747个已知钱包。穿过它,每个陌生人都是你的邻居。

团队把这些资助超过200个其他钱包的地址标记为枢纽(hub),共89个。他们给枢纽单独打标签,切断其入边,并立下硬规则:任何查询不得穿过枢纽。走到枢纽的路径会停下并说明:"这来自类交易所钱包,无法说明背后是谁。"

排除枢纽后,algo.WCC算法找到6,556个"环"——由资助和创建关系连接的钱包与代币群组。团队用收集器以其他方式找到的聚类做交叉验证:3,900个多创作者聚类中有3,824个完全落在单一环内。图方法与旧方法互相印证。

弱连通分量(Weakly Connected Components, WCC) 是图论中的经典算法,用于找出图中所有“通过任意边(忽略方向)能互相到达”的节点集合。在Sniff的场景中,algo.WCC将钱包和代币视为节点,将资助和创建关系视为边,从而把由同一批资金来源或同一创作者串联起来的钱包/代币划分成一个个“环”(分量)。团队用旧方法独立得到的3,900个多创作者聚类中,有3,824个完全落在单一WCC内,这种交叉验证有力证明了图聚类的准确性——如果两种独立方法给出高度一致的分组,结果就更可信。

第二天:必须"出示收据"的智能体

让AI模型谈论钱包和金钱,恰恰是最不该编造事实的地方。因此Sniff围绕一条规则构建:每句话都必须自证。

Claude获得九个工具:代币查询、资助链、兄弟创作者、共享早期买家、共享社交账号、环、最短连接、头部操盘手和搜索。每个工具都是固定的只读Cypher查询,模型只决定调用哪些工具(最多八次)并撰写答案,从不自己写Cypher。

每个工具结果携带证据ID(E1、E2……),精确指向背后的节点和边。答案每句话必须以对应ID结尾。随后引用检查器会在任何人看到答案前审查:工具从未返回的ID被删除;来自错误类型工具的ID被删除;没有有效ID的句子被整句删除——短答案优于无支撑的答案。

当晚他们查询了一个叫METHU的代币。其创作者只发过一个币,单看像个新手。但往回跳一步,故事完全不同:给METHU创作者打了0.009 SOL的钱包,还资助了71个全新钱包,每个只发一个币,72个币无一毕业。

创作者看起来干净,付款方才是故事所在——只有把数据组织成问题的形状,你才看得见。

Cypher 是Neo4j首创、后被包括FalkorDB在内的图数据库广泛采用的声明式查询语言。它用类似ASCII艺术的模式匹配语法描述图结构,例如 (w:Wallet)-[:FUNDED]->(t:Token) 表示“钱包资助了代币”,查询时只需写出希望匹配的模式,数据库引擎负责高效遍历。Sniff的关键设计是:所有Cypher查询都由开发者预先写死并封装成九个只读工具,大模型仅决定“调用哪个工具、传什么参数”,绝不直接生成Cypher。这从根本上杜绝了模型写出错误或危险查询(如全图扫描、写入操作)的可能性,也使得每个工具的输出可以附带稳定的证据ID。

第三天:让证据在地图上亮起来

引用只有可核查才有用。第三天团队构建了用户真正看到的部分:粘贴一个代币,观看Sniff的步骤流式呈现,答案旁边是一张图地图。点击答案中的E4,地图会变暗,只保留那句话所依赖的钱包和代币。

类交易所钱包显示为虚线框,让你看到路径在哪里停止、为什么停止。左侧的代币卡片完全不需要AI——它直接读取同一张图,在手机上也能用。同样的九个工具通过MCP提供,任何智能体都能调用:claude mcp add --transport http sniff https://sniff.quantbase.live/mcp。

第四天:记忆与"公司大脑"

最后一天,团队在同一FalkorDB实例中新增了两张图。

记忆图让Sniff不再在答案完成后失忆。每次调查留下一条小轨迹:会话提问、问题找到证据、证据关于某个代币或钱包。会话是随机32字符ID,从不关联到人,隐私门检查每次写入。实用性在于:调用工具前,Sniff先检查本会话是否已做过相同调用,若是则复用答案而非再次查询大图。追问"那个钱包又是谁资助的?"会从已知信息出发。

记忆也是智能体协作的方式。memory_recall和memory_note与调查工具在同一MCP端点上。另一个智能体(例如QuantBase的交易智能体)可以问"有人对这个币发现了什么?"Sniff返回所有会话关于该币的证据,匿名化并带时间戳。两个智能体从不聊天——它们通过图协调,每条笔记都标明作者。

公司大脑图存放QuantBase自身从公开来源整理的知识:仓库文档、quantbase.live公开页面、已发布发现。构建脚本把每个来源切成小节,抽取其中的决策、发现、指标、产品、功能与政策,再用MENTIONS、SUPPORTS、CONTRADICTS、PART_OF、DECIDED_ON链接。查询"QuantBase如何处理模拟盘与实盘?"会触发真实的图检索:找到命名实体、向外走最多两跳类型化边、定位提及这些内容的具体小节、词语匹配不上实体时回退到全文索引。答案以[B#]引用这些小节——与第二天E ID相同的契约:无引用,无断言。

隐私门在任何内容加载前运行,查找邮箱、API密钥、AWS ID、私钥、助记词和钱包密钥数组,一次匹配即失败整个构建,且从不打印发现的内容。

联合曲线(Bonding Curve) 是pump.fun等Meme币发行平台的核心机制:代币价格随供应量按预设数学曲线自动上升,早期买家价格低,随着买入增多价格递增。当曲线填满(通常达到某个市值阈值),代币便会“毕业”——流动性被迁移到Raydium等去中心化交易所的真实交易池,价格由市场自由决定。毕业前,代币仅在平台内部交易;毕业后,任何人都可在公开市场买卖,波动性通常急剧放大。理解这一点很关键:所谓“毕业”并非质量认证,而只是一个流动性迁移事件,每天约2.5万个新代币中只有极少数能走到这一步。

转折:它解释历史,不预测未来

团队在同一数据上做交易研究,所以必须问一个不舒服的问题:这些图信号能预测哪些代币毕业后表现好吗?

他们只使用每个代币毕业时刻已知的信息构建特征,在23,408个已毕业代币上测试,用较老的数据训练、最新三分之一测试。单看时信号有意义:社交账号已被其他创作者用过的代币,一小时后仍存活的概率低18个百分点。

但一旦加入任何人在代币头几分钟交易中都能看到的信息,图信号没有可测量的增益——预测准确率变化在±0.01之内。图知道的东西已经反映在价格里了。

团队本可以隐藏这个结果,轻松上线一个"风险评分"让人相信。但这是人们放在自己钱旁边使用的产品,关于金钱的自信错误答案会造成真实伤害。所以Sniff从不说"安全"或"骗局",从不说买或卖。它告诉你一个代币背后是谁、他们的其他代币后来怎样了,附带收据,每个答案都以同样的话结束:历史,而非预测。 一个付款方资助了72次发行、无一毕业,不会告诉你未来,但确实告诉你你正在看什么。

更大的产品:Sniff进入QuantBase

Sniff始于黑客松作品,一周结束时已成为QuantBase内部的智能体。用户用大白话描述策略,Sniff将其转化为规则,在动真格之前先在真实历史上测试。你首先遇到的是模拟模式——"金钱的隐身模式":用虚拟货币聊天测试任何想法,其中的一切无法触碰钱包,每个模拟结果都标注为模拟。

第二件事是竞速。代币毕业时,人需要注意到、打开、检查再点击,网站展示为一个典型的示意性一分钟:约55秒。而Sniff在同样的时钟上,使用自己系统实测的数字:链上听到毕业事件约1秒(基于1,371次毕业),签名并发送订单中位数76毫秒(基于92次发送),合计约1.08秒。速度只帮助好规则,修不好坏规则——大多数Meme币仍然亏损,网站也这么写。

FalkorDB让什么成为可能

团队使用FalkorDB 6.0.2,几个关键点:批量加载器30秒导入109万节点和150万条边,让第一天频繁改规则时重建图变得廉价;代币、钱包、枢纽、账号名和环键上的范围索引加持全文索引;algo.WCC在2.9秒内跑完全图找到环;algo.SPpaths回答"两者如何相连"并过滤枢纽;只读查询GRAPH.RO_QUERY配每查询超时,好奇的智能体无法写入或永久运行;MCP让同样的工具从Claude、自家智能体或你的智能体中使用。

他们同时列出若干文档与运行服务器不一致之处,例如6.0.2上过程名是algo.WCC、algo.BFS、algo.pageRank、algo.labelPropagation、algo.SPpaths,CALL dbms.procedures()才是真相来源;文档中的全文索引写法被拒绝,CREATE FULLTEXT INDEX FOR (c:Coin) ON (c.name, c.symbol)才可用;WITH投影需要AS别名;超时不能超过服务器TIMEOUT_MAX;sum()返回浮点数;批量加载器默认转义字符是反斜杠,而有些Meme币名字就是反斜杠,需传-x none。

MCP(Model Context Protocol) 是由Anthropic提出的一种开放协议,旨在让AI智能体以统一方式发现和调用外部工具与数据源。它定义了工具描述、调用请求和响应的标准格式,类似“AI世界的USB-C接口”。Sniff将九个调查工具和记忆工具全部通过MCP端点暴露,意味着任何支持MCP的客户端(Claude Desktop、自研智能体等)只需一条命令即可接入,无需为每个智能体单独写集成代码。这使Sniff从封闭应用转变为可被组合的基础设施,也是多智能体通过记忆图协作的技术前提。

从像素狗到产品

活动开始前一天,sniff.quantbase.live还是一个即将上线页面,上面只有一只3.2秒循环嗅硬币的像素小狗。四天后,这只狗背后有632,339次发行的图、一个不能陈述无证据事实的智能体、一张点亮证据的地图,以及一个对自己做的测试——告诉他们不该承诺什么。狗也有了工作:它是QuantBase内部的智能体。

rss source: Sniff: four days, one graph, and an honest answer about meme coins

想自己试试,可访问sniff.quantbase.live查METHU案例,或通过MCP接入自己的智能体。代码开源于github.com/avasis-ai/quant-agent。本文不构成任何财务建议。

#Sniff#FalkorDB#Meme币溯源#图数据库#AI Agent#pump.fun#Claude#MCP
分享:

相关推荐