把两千年前的“玄学”写成代码:用 AI Agent 搞定五运六气推算
最近在刷 GitHub 的时候,发现了一个特别有意思的项目,它既不是主流的 Web3,也不是常规的 SaaS,而是把《黄帝内经》里的“五运六气”理论硬生生地写成了一套 AI Agent 技能包。
说实话,第一眼看到我还以为是什么国学玄学推广,但细看代码后发现作者的思路非常“硬核”。这不是搞迷信,而是一次极佳的垂类 AI Agent 落地实战,展示了一套非常完整的:规则推理 + 知识库检索(RAG)+ 自进化引擎 的工程架构。
今天就来拆解一下这个项目,看看它到底是怎么把两千年前的历法算法搬进现代代码里的。
一、 项目核心:当传统历法遇上状态机
“五运六气”说白了,就是古人用天干地支的运转规律来推算气候和疾病流行趋势的一套算法。对于程序员来说,这其实就是一个天然的状态机。
这个项目的核心逻辑非常清晰:输入公历日期 → 输出当年的运气格局 + 对应的养生/诊疗建议。
天干地支是古人推算气候和运势规律的基础系统
中间的过程全靠代码堆出来的逻辑流:
- 时间转化:利用 Python 和 JS 双语言引擎,处理公历到农历节气的转换。这里有个特别细节的坑——中医的“运气年”不是以元旦为界,而是以每年的“大寒”节气为岁首。这套代码精准还原了这一逻辑(比如 2026 年 1 月 15 日还在乙巳年,20 号才跳到丙午年)。
- 逻辑推演:计算天干地支、岁运太过不及、司天在泉、客气主气等复杂的层级关系。作者把这些复杂的中医术语变成了严密的代码逻辑。
二、 RAG 知识库:让 Agent 懂“望闻问切”之前的理论光有推算逻辑还不行,Agent 还得懂理论。这里作者并没有单纯依赖大模型的训练数据,而是搭建了一个多层的 RAG(检索增强生成) 知识库。
项目目前包含了 5 层 7 个 JSON 文件,覆盖了 104 个键值,内容涉及经典病机、方剂、历代注家观点、地域差异、体质建议等。
工作流是这样的: 当算出当前的干支格局后,系统会去这堆 JSON 里“翻书”,找到对应病机和方剂,最后生成一份通俗易懂的分析报告。这种“计算 + 检索”的模式,比直接问大模型“今天五行缺什么”要靠谱得多,因为它的确定性很高。
三、 自进化引擎:让系统越用越聪明
这个项目最让我惊喜的一个点是它内置了一个自进化引擎。
项目利用 RAG 技术将计算逻辑与中医理论知识库相结合
目前很多 Agent 项目都是一次性调用,调用完就完了。但这个设计里,每次推理都会记录日志。当数据量积累到一定程度,系统就能分析出检索逻辑里的“盲区”和用户查询的“趋势”。这意味着,随着使用人数的增加,这套系统不仅能推算,还能自我迭代优化检索路径。
四、 开发者的痛点与未来潜力
虽然项目逻辑很硬核,但目前还是以 CLI(命令行)为主,作者也在求助里坦言了目前的局限和未来的方向,这对于想参与开源的朋友来说是个很好的机会:
- 前端可视化:现在的结果是纯文本输出,如果能做出一个可视化的“运气格局图”,展示五运六气的圆周运动,用户体验会好很多。
- RAG 优化:目前还是基于 JSON 的键值检索,略显粗暴。如果能接入向量数据库,做语义检索,匹配精度会上一层楼。
- 多模型适配:目前依赖特定 API 输出,如果能适配 Ollama 或 LangChain,本地跑起来的体验会更好。
五、 怎么跑起来?
如果你想折腾一下,非常简单,项目是 MIT 协议,开箱即用:
git clone https://github.com/dhicoc/wuyun-liuqi-skills.git
cd wuyun-liuqi-skills
pip install -r requirements.txt
# 演示全链路推算
python scripts/demo_full_chain.py 2004-07-30
# 生成2026年的年度报告
python scripts/yunqi_report.py 2026 --audience student
写在最后不管你对中医理论持什么态度,从工程学角度来看,这个项目都非常有启发性。它展示了一个非标准垂直领域是如何被数字化、结构化的。
对于开发者来说,最大的收获在于:AI Agent 不只是用来写周报的,它更适合处理这种规则复杂、数据结构化程度高的专业领域问题。 如果你对 RAG 架构或者非标数据的数字化感兴趣,这个仓库非常值得 Fork 下来研究一下代码结构。
评论已关闭