ENZH

为了打 AI Agent 邪修赛道,我把算命产品拆了

事情是这样的。

赛博半仙坐在三支烛火和三枚铜钱中间,身后是哗啦啦掉下来的代码赛博半仙坐在三支烛火和三枚铜钱中间,身后是哗啦啦掉下来的代码

飞书办了一个 AI Agent Skill 的比赛,有四个赛道,其中一个叫「邪修」。意思就是不用做正经办公提效那种 skill,整点好玩的、邪门的、有点不正经的就行。

看到这俩字我就想报名。

但邪修最容易翻车的地方在哪呢,就在于绝大多数人理解的「邪修」 = 写一段花哨的 prompt 让 LLM 演一个角色,然后让它现编。比如演个塔罗师、演个算命先生、演个赛博女巫,张口就来。

这种东西演 30 秒还行,多聊两句就露馅。读者不是傻子,AI 一开始胡编世界观立刻就能感觉到。这不叫邪修,这叫 AI slop 套了一层戏服。

所以我看完赛道介绍第一个反应是想报名,第二个反应是这玩意得想想怎么搞才不烂大街。

然后我突然想起来,我手里正好有 panpanmao。

panpanmao 是我之前 29 天搞出来的中文玄学 AI 平台,里面有 9 个产品线,其中 3 个是真正的东方占卜,小六壬、梅花易数、六爻。这三个模块我做的时候是死磕过的,因为玄学这个领域我本来一窍不通,要让产品立得住就必须把算法、知识、规矩全部搬进去。

当时为了让小六壬能算准时辰,我啃了好几个晚上的农历转换。为了让六爻的世应、六亲、飞伏神都对,我把 64 卦每一卦的纳甲表都抄了一遍。每一卦的卦辞、爻辞、变卦、互卦的解读,我让 AI 帮我从典籍里逐条整理,然后人工校对。还有那些「不该占的事」,比如别人替你算病、算彩票号、算别人的私事,传统占卜师本来就有规矩,我把这些规矩全编码进了产品的 edge case 里。

这些活儿是真累,但当时做完了就锁在那个 monorepo 里,除了 panpanmao 自己用,没别的地方调得到。

我当时就愣住了。

如果我把这三个占卜模块从 panpanmao 里抠出来,重新打包成一个 skill,那不就是邪修赛道梦寐以求的那种东西吗。半仙人设给你套上邪修的皮,底下跑的是真算法、真 64 卦、真规矩。读者可以在 Claude Code 里、在 Codex 里、在任何 agent 平台直接召唤一个赛博半仙出来给自己算一卦。

外皮邪修,内核硬核。

想清楚之后我就坐下来跟 Claude 一起把整个 skill 的设计走了一遍。我没急着写代码,因为这种比赛性质的东西,方向定错了写多少都白搭。我们就一个一个决策抠,抠了 8 个关键问题。

下面我挑里面最折腾我的 4 个聊聊。

第一个决策是关于人设的,是只做一个半仙,还是做双模式让用户能切换严肃模式和半仙模式。

我一开始是投票双模式的,理由听上去特别合理,反正算法和知识库底下是同一套,外面套两个 prompt 多简单。严肃模式的用户也能用,半仙模式的用户也能用,两边讨好。

Claude 一句话把我噎回去了,意思是你都报邪修赛道了你还想做严肃模式,那评委要问你为啥不直接报商业赛道呢。

是这个理。邪修赛道的评分点就是看你够不够 commit 这个邪门劲儿,骑墙就是减分项。3 分钟视频拿出来,演一遍严肃模式再演一遍半仙模式,密度就垮了。一个角色一个故事,记忆点才立得住。半仙就是半仙,不演别的。

而且仔细想想,所谓「严肃模式」其实是个伪需求。市面上严肃的占卜 app 一抓一大把,我做出来跟它们没差异化,是凑数的。半仙才是这个 skill 的灵魂,是只有这个 skill 才有的东西。

把这个决策定了之后我反而更兴奋。专注一件事永远比骑两边痛快。

第二个决策是关于三种占卜方法的关系,是让用户每次先选「我想用小六壬还是梅花还是六爻」,还是让半仙根据问题自己挑。

如果你想做工具感,让用户选是对的。但我们做的不是工具感,是半仙感。

你想想看,你去找一个真的占卜先生,他会问你「请问您今天想用哪种方法呀」吗?不会的吧。他听你讲完事儿,自己就拍板了,「这事儿大,得起一卦六爻」「这事儿急,依时辰当下定卦」「这事儿是你心里突然冒出来的念头,那就给我报三个数」。

这个「主动拍板」的姿态,就是半仙感的核心。让用户选反而扫兴,因为你把「懂行」这个最值钱的部分让给了用户。

所以路由规则我是这么写的,三种方法不是冗余,是工具箱里的三件不同工具。

小六壬适合当下小事,吃啥午饭、钱包丢哪、今天去见客户顺不顺。最快,靠时辰加报数就能算。梅花易数适合那种「一念之事」,你心里突然想到某个人、刚才出门看见一只奇怪的鸟、做了个奇怪的梦想知道是啥意思,靠数字起卦。六爻适合大事,跳槽、结婚、买房、官司,得摇钱六次,整套程序走下来才严肃。

半仙听完用户的问题,脑子里走一遍这三个适用场景,定了方法之后还会跟用户解释一句「你这事儿是 XX 性质的,所以咱用 XX 法」。这一解释就是最专业的瞬间,因为它证明了半仙不是随便挑的,是基于事情性质判断的。

这种「我不仅给你算,我还告诉你为啥用这种方法」的姿态,是真懂行才有的余地。

第三个决策是关于算法的,是让 LLM 现场算还是写 py 脚本算好了再交给 LLM 解读。

这个是我反复纠结最久的一个,因为它直接决定了我要不要去把 panpanmao 的 TypeScript 算法重新移植成 Python。

理论上 LLM 是能算的。小六壬只是个 6 神位置取模,简单。梅花易数也就上下卦加变爻,中等。但六爻就要命了。

六爻的算法长这样,你先摇 6 次铜钱,每次结果是 6 7 8 9 中的一个分别对应老阴少阳少阴老阳,6 次摇出 6 个爻位。然后查 64 卦表找本卦,标出动爻位,把动爻翻一下得到之卦。再给每爻配天干地支配五行,再根据本卦的卦宫定六亲(父母兄弟子孙妻财官鬼),再根据当天的天干定六神,再标世应位,再看旬空和月日合冲,最后根据用户问的事情类型选用神。

这套东西 LLM 能不能算?能,几乎能。但每一步都有可能错那么一点,错了又看上去像对的。这是最要命的,因为你不容易当场抓出来。

而 3 分钟比赛视频里如果哪一爻配错了世应、或者哪一卦的六亲标错了,懂行的评委一眼就能看出来。一翻车就完蛋。

我决定切干净。算的事归 py,解读的事归 LLM。

scripts 目录下三个 py 脚本加一个共享工具文件,加起来 500 行不到,全部从 panpanmao 的 TS 算法直接移植。每个 py 接受 stdin 一个 JSON,吐出 stdout 一个 JSON,里面有完整的卦象数据和一个 knowledge_pointers 数组告诉 LLM「你应该去 data 目录下读这几个 markdown 章节」。

LLM 拿到这个 JSON,按指引去读 64 卦那一卦的解读、世应六亲那部分的规则,再用半仙的口吻把它讲出来。

这一切之后还有个小细节挺爽的,就是评委打开 ZIP 一看,scripts 目录里几个干净的 py 脚本,data 目录里满满的 markdown 知识库,skill.md 里清清爽爽的人设和流程。三件不同的事各放各的位置,他用不了 5 分钟就能审完整个 skill 的真材实料。

「真有算法引擎、真有知识库、真有 prompt 工程」,三件证据各自独立,没法装。

第四个决策是最让我觉得有意思的,是关于「不该占的事」怎么处理。

传统占卜师有一套自己的规矩,叫「君子不问凶吉,问心不问命」。具体说就是医者父母心不算病、有违公序良俗不算彩票赌博、私事归私不算别人的事、一事一占不算同一件事的重摇。

这套规矩在 panpanmao 里我已经做过了,是产品的合规底线,所有触发这些场景的请求都会被拦住。

放到 skill 里最直觉的做法是同样的,写一个关键词列表,碰到「我妈的病」「彩票号」「他爱不爱我」直接硬拒。这样安全,但完全破坏了半仙的人设。半仙突然变成了客服,「亲,根据相关规定我们无法为您提供该服务哦」。

这种处理你给评委演一遍立马就垮,邪修味儿全没了。

我后来想了想,传统占卜师真遇到这种事是怎么回避的。不是硬拒,而是用半仙的方式软回避。

「你妈的病这事儿啊,得问大夫不能问卦。卦上倒是能给你看看你自己这阵子是啥状态。。。这卦象是说你心里头压了太多事,扛不下来了。先把你自己安顿好,你妈才能感觉到你是真心陪她。」

「彩票号那是天地间的一个数,不是占卜师能给你掏出来的。卦上能给你看的是你最近这阵儿的财运是个啥趋势,至于具体哪几个数。。。那是另一回事。」

你看,没拒,但也没真的算她让算的事。给的是一个心态层面的、情绪层面的、策略层面的解读。该不算的不算,但人设不破。

最妙的是这种回避方式让半仙看上去更专业了,因为这才是真正的传统占卜师讲规矩的方式。守规矩本身就是专业感的一部分。

panpanmao 里这一整套话术,包括医疗财务赌博隐私未成年的所有 edge case,加上对应的半仙式回避语料,都已经精雕过了。我直接转成 markdown 放进 data/_shared/edge-cases.md,skill.md 里说好这个文件什么时候触发去读,齐活。

8 个决策抠完,整个 skill 的架构就清楚了。三件套。

skill.md 是主控大脑,里面有半仙的人设、三种方法的路由规则、主流程的 7 个步骤、以及不占事项的边界处理。一个文件大概 300 多行,agent 进会话先把它加载到上下文里。

scripts 目录下有 4 个 py 文件,三个占卜引擎加一个共享工具。共享工具负责农历转换、八卦象数表、五行生克、纳甲查表、JSON 输入输出。三个引擎从 panpanmao 的 TS 算法直接移植,零复杂依赖,只用了一个 lunardate 的农历库(30KB,纯 python)。

data 目录是知识库,按方法分了三个子目录,每个目录里放对应方法的知识 markdown,包括 64 卦解读、六神含义、五行映射、场景模板、组合解读。还有一个 _shared 目录放公共内容,比如 edge cases 和方法路由规则。

这种分层带来的好处不只是评委 audit 友好,更重要的是它有可扩展性。我接下来想把 panpanmao 里的八字模块也做成 skill,按这个三件套打法,把八字算法搬进 scripts,把天干地支命盘解读搬进 data,写一个新的 skill.md 主控就行。算法引擎和知识库基本可以全套复用 panpanmao 的资产。

写完这个 skill 之后我才想明白一件事,这事儿其实是接下来这整个系列我想验证的核心命题。

一个产品如果是按「算法、知识、人设」这三层清晰分开做的,那它内部其实已经有一个 skill 在里面了。你做 skill 的过程,不是从 0 创作一个新东西,更像是从产品的零件柜里把那三件零件取出来,按 agent 平台的格式重新组装一遍。

panpanmao 当时做这种分层不是为了做 skill,是为了让 9 个产品线能共用底层、能独立测试、能让我一个人维护得过来。但同样这套分层,恰好就是 agent skill 需要的形状。

所以这个事儿可以反过来看。

如果你的产品是一个对某个领域有真观点的产品(用哪种方法、什么场景拒服务、用什么口吻说话),那这些观点本身就值得被打包成 skill 让更多 agent 平台用户能调到。如果你的产品只是某个 API 上面套了一层 CRUD,没有自己的领域观点,那它里面就没有 skill,不用硬挤。

panpanmao 还有八字、塔罗、解梦、星盘没动过呢,每一个都是同样三件套架构,每一个都能再抠出来一个 skill。后面慢慢做。

这就是我打算做这个 AX Skill Workshop 系列的原因。

每一篇我会写一个我新做的 skill,但重点不在 skill 本身有多花,在它怎么设计的、踩了什么坑、能复用到下一个 skill 上的模式是什么。skill 这个东西本身有一种特殊的杠杆,因为它部署成本几乎为 0、调用门槛几乎为 0,一个产品里精雕过的领域知识能被打包成 skill 之后能服务多少 agent 用户,就有多少二次价值。

这个二手生意,我觉得是 AI Agent 时代被严重低估的一块。


回到这个比赛本身。我要交的 ZIP 包里,除了 skill 三件套,还有一个 200 字的商业价值说明书,一个 3 分钟的视频 demo,以及报邪修赛道的入口表单。

视频里我准备让半仙演两段,一段是用户问「下个月该不该跟现在公司续约」,半仙判这是大事,摇钱起六爻。另一段是用户问「我的钱包丢哪了」,半仙判这是急事小事,依时辰起小六壬。两段算法不同、起卦法不同、解读路径不同,三分钟内把这个 skill 的多面性全展示出来。

如果一切顺利,半仙在视频里听上去会像一个会刷小红书的老式街头算命先生。「嘶你这事儿问得有水平」跟「这一卦透出来一股转折的意思」是同一个语调。他不算你的股票挑选,但他会跟你说一句你为啥每隔 5 分钟就要打开股票 app 看一眼。

外面那一层是赛博半仙的戏服,里面跑的是 panpanmao 真实的算法、真实的 64 卦知识、真实的传统规矩。整套东西从 panpanmao 的 monorepo 里抠出来,独立运行在任何 agent 上下文里。

产品是工坊,零件在那里被一个一个打磨出来。skill 只是用这些零件能做出来的众多东西里的一种。


这是 AX Skill Workshop 系列第 1 篇。这个系列写我做的 AI Agent skill,每一个 skill 教会我什么、能复用到下一个 skill 的模式是什么。下一篇大概率还是从 panpanmao 里再抠一个出来,再下一篇可能换个完全不同的领域。有想看的方向欢迎留言。

← PrevNext →

© Xingfan Xia 2024 - 2026 · CC BY-NC 4.0