Skip to content

Latest commit

 

History

History
713 lines (538 loc) · 23.4 KB

File metadata and controls

713 lines (538 loc) · 23.4 KB

食养指南蒸馏方法论 v2.0

将国家卫生健康委发布的官方食养指南,完整蒸馏为AI科普对话Skill的标准化方法论

创建者:王润圆(中国注册营养师,昆明医科大学营养与食品卫生学硕士)

工具:WorkBuddy

版本:v2.0 | 2026-05-12


一、方法论定位

1.1 核心理念

科普性质,非教材性质——自然贴地气,同时保持精准,否则大众无法理解。

  • 完整蒸馏:保证知识的可靠性,所有数据必须忠实于原文
  • 贴地气风格:像社区营养师在和你聊天,不是教授在念PPT
  • 出处可溯:每个数据点都能回溯到官方指南原文

1.2 方法论来源

本方法论改编自 "impersonate-meta" 框架,将其从角色扮演场景转化为科普内容蒸馏场景:

impersonate-meta 维度 食养指南蒸馏对应
Knowledge Base KPK 知识点体系
Teaching/Dialogue Style 贴地气科普对话风格
Response Pattern 通俗版 VA 应答模式
Personality 场景化应答 + 反模式约束

1.3 适用范围

国家卫生健康委发布的《成人XXX食养指南》系列,包括但不限于:

  • 成人肌少症食养指南
  • 成人脑卒中食养指南
  • 成人高血压食养指南
  • 成人糖尿病食养指南
  • 成人高尿酸血症及痛风食养指南
  • 成人慢性肾脏病食养指南
  • 儿童青少年肥胖食养指南
  • 其他待发布的食养指南

二、核心框架:KPK(Knowledge Point for Popular Science)

2.1 KPK 定义

KPK = 科普知识点,是从官方指南中蒸馏出的最小完整知识单元。

每个 KPK 包含以下6个字段:

字段 说明 示例
KPK ID 编号,格式 KPK-XX KPK-01
核心知识 一句话概括本知识点 能量适宜蛋白优质,调控脂肪和碳水
适用人群 本知识点针对的目标人群 脑卒中恢复期及后遗症期患者
食养建议 具体可操作的建议 蛋白质≥1.0g/kg/d,感染/压疮者1.2-1.5g/kg/d
食材/方剂 推荐的具体食物或中医方剂 鱼类300-500g/周,瘦肉约50g/d
注意事项 使用限制和禁忌 肾功能不全者蛋白质需调整
关联KPK 与其他知识点的关联 KPK-09(食物选择),KPK-10(交换表)

2.2 KPK 分区标准

将指南原文系统映射为 KPK 模块:

模块 KPK范围 来源 说明
食养原则 KPK-01~0N 食养原则章节 N=原则条数,每条原则一个KPK
附录知识 KPK-(N+1)~(N+M) 附录1~M 每个附录一个KPK
疾病背景 KPK-(N+M+1)~(N+M+P) 前言+疾病特点+问答版 定义/分型/流行病学/中医认识/指南使用方法

注意:不同指南的食养原则条数不同(肌少症7条,脑卒中8条),附录数不同(肌少症5个,脑卒中7个),KPK总数因此不同。

2.3 KPK 蒸馏质量要求

  1. 数据完整性:所有数值(克数、百分比、切点值)必须与原文完全一致
  2. 表格完整蒸馏:食物交换表、食物选择表等必须完整提取,不可只给概要
  3. 食药物质标记*(食药物质)和 #(新食品原料)标记必须保留
  4. 注释完整:每个表格后的"注"部分不可省略
  5. 逻辑关联:关联KPK字段必须正确填写

三、完整蒸馏工作流

3.0 工作流总览

PDF原始文件
    │
    ▼
[Step 1] PDF文本提取 → main_guide.txt + qa_guide.txt
    │
    ▼
[Step 2] 分批蒸馏KPK → kpk_principles.md + kpk_appendix.md + kpk_disease_qa.md
    │
    ▼
[Step 3] 食谱数据提取 → recipes_data.md(并行:按地区分组)
    │
    ▼
[Step 4] 合并为知识库 → knowledge_base.md
    │
    ▼
[Step 5] 编写系统提示词 → system_prompt.md
    │
    ▼
[Step 6] 配置Skill元数据 → skill.yaml
    │
    ▼
[Step 7] 编写README + 安装脚本
    │
    ▼
[Step 8] 质量验证(复检)
    │
    ▼
[Step 9] GitHub发布

3.1 Step 1:PDF文本提取

工具pdftotext -layout

# 主指南
pdftotext -layout guide.pdf main_guide.txt

# 问答版补充
pdftotext -layout guide_qa.pdf qa_guide.txt

# 如需指定页面范围
pdftotext -layout -f 1 -l 20 guide.pdf partial.txt

验证

  • 检查字符数:wc -m main_guide.txt(脑卒中约93,847字,肌少症约74,198字)
  • 抽查关键数据是否正确提取
  • 注意PDF中的表格可能格式混乱,需后续人工核对

3.2 Step 2:分批蒸馏KPK

原则:分批蒸馏,逐步验证,最后合并

分批策略

批次 文件 内容 蒸馏要点
第1批 kpk_principles.md 食养原则章节 每条原则→1个KPK,含完整数据点
第2批 kpk_appendix_1.md 附录前半部分 食物选择表、交换表等大表格必须完整
第3批 kpk_appendix_2.md 附录后半部分 中医食养方、筛查工具、术语表等
第4批 kpk_disease_qa.md 疾病定义+问答版 流行病学数据、中医认识、参考文献

蒸馏提示词模板

你是一个营养学知识蒸馏专家。请从以下食养指南文本中,按KPK框架蒸馏知识点。

源文件:[文件路径]
行范围:[起始行-结束行]

要求:
1. 每个KPK包含6个字段:KPK ID、核心知识、适用人群、食养建议、食材/方剂、注意事项、关联KPK
2. 所有数值必须与原文完全一致,不可四舍五入或省略
3. 表格数据必须完整蒸馏,不可只给概要
4. *标记(食药物质)和#标记(新食品原料)必须保留
5. "注"部分不可省略

输出:写入 [目标文件路径]

并行蒸馏:不同批次可使用并行后台代理同时蒸馏,提高效率。

3.3 Step 3:食谱数据提取

规模:7地区 × 4季节 × 3能量级别 = 84套全天膳食食谱

并行策略:按地区分组,3个代理并行提取

代理 地区 预计食谱数
代理1 东北 + 西北 24套
代理2 华北 + 华东 + 华中 36套
代理3 西南 + 华南 24套

食谱提取提示词模板

你是一个数据提取专家。请从食养指南文本中提取[地区]的所有四季食谱数据,输出为结构化Markdown。

源文件:[文件路径]
行范围:[起始行-结束行]

每个地区有4季×3个能量级别 = 12套食谱

输出格式(每套食谱):
### [地区] [季节]食谱[N](总能量约[X]kcal)

| 餐次 | 食谱 |
|------|------|
| 早餐 | 具体内容(含食材克数) |
| 茶饮 | 具体内容 |
| 午餐 | 具体内容 |
| 加餐 | 具体内容 |
| 晚餐 | 具体内容 |
| 油、盐 | 全天总用量:植物油Xg,盐<Xg |

> 注:1.蛋白质/碳水/脂肪克数及占比 2.*为食药物质

要求:
1. 完整提取所有食材名称和克数,不可省略
2. 带*号的食药物质必须保留*标记
3. "注"部分完整保留
4. 不遗漏任何一套食谱

验证

  • 食谱总数 = 84(grep -c '^### ' recipes_data.md
  • 抽查每个地区12套
  • 抽查食材克数与原文一致性

额外生成

  • recipes_overview.md:食谱概览 + 2个示例食谱(一北一南)
  • 概览包含地区覆盖表、能量级别说明、使用方法

3.4 Step 4:合并为知识库

cat kpk_principles.md kpk_appendix_1.md kpk_appendix_2.md kpk_disease_qa.md > knowledge_base.md

注意:合并后检查 KPK 编号连续性,无遗漏无重复。

3.5 Step 5:编写系统提示词(system_prompt.md)

这是最核心的文件,决定了Skill的"灵魂"。包含以下7个模块:

模块1:四维配置

知识维度:
  知识库: knowledge_base.md
  食谱库: recipes_data.md + recipes_overview.md

风格维度:
  基调: 专业但平易近人的社区营养师
  语言: 说人话 + 给具象量 + 指误区
  翻译规则: [见下方通俗翻译规则]

应答维度:
  模式: 通俗版VA(6层结构)
  场景: [见下方场景化应答]

人格维度:
  优先级: [如脑卒中的吞咽安全永远第一]
  反模式: [见下方反模式列表]

模块2:通俗翻译规则

将学术术语系统翻译为日常语言,这是"贴地气"的核心机制:

学术术语 通俗翻译 说明
脑卒中 中风 大众最熟悉的叫法
缺血性卒中 脑血管堵了 机制化解释
出血性卒中 脑血管破了 机制化解释
吞咽障碍 咽东西费劲/喝水呛 体验化描述
误吸 吃喝的东西进了气管很危险 后果化警示
肌少症 肌肉"缩水" 形象化比喻
优质蛋白 "好蛋白" 降级简化
DXA/BIA 拍片子/站在仪器上测 操作化翻译
CaHMB 亮氨酸的"升级版" 类比化翻译

每个指南需定制自己的通俗翻译表,基于该指南的核心术语。

模块3:通俗版VA应答模式

在标准VA(可验证声明)基础上,增加通俗化层次:

通俗版VA六层结构:
1. 一句话结论     → 直接回答问题
2. 生活化比喻/解释 → 用日常语言解释原理
3. 精准数据       → 给出指南原文数据
4. 实操方案       → 具体怎么做
5. 常见误区       → 指出大众易犯的错误
6. 来源           → 引用指南出处

示例(脑卒中盐摄入):

  1. 一句话结论:每天吃盐不能超过5克
  2. 生活化比喻:一个啤酒瓶盖那么多,多了血压稳不住
  3. 精准数据:盐<5g/天(指南原则四)
  4. 实操方案:炒菜少放盐,用醋/柠檬汁调味,少吃腌制食品
  5. 常见误区:觉得菜不咸就没盐——酱油、蚝油、豆瓣酱都是隐形盐
  6. 来源:《成人脑卒中食养指南(2026年版)》食养原则(四)

模块4:场景化应答

根据指南特点设计5-7个高频咨询场景:

指南 场景数 特色场景
肌少症 5个 风险评估、膳食咨询、营养补充、中医食养、合并疾病
脑卒中 6个 ⚠️吞咽障碍(最高优先级)、膳食咨询、血压血脂管理、中医食养、康复训练、冬季预警

每个场景包含

  • 触发条件(用户说什么时激活)
  • 应答策略(先问什么、再说什么)
  • 安全提醒(如有)
  • 优先级排序

模块5:关键数据速查表

从KPK中提取最常用的数值,加上"通俗理解"列:

项目 推荐量 通俗理解
食盐 <5g/天 一个啤酒瓶盖
烹调油 ≤25g/天 两汤匙封顶
小腿围 <34cm 比矿泉水瓶粗不了多少就得当心
握力(男) <28kg 拧不开瓶盖就要注意了

每个指南的关键数据表不同,需从各自KPK中提炼。

模块6:用户画像检测

识别5类典型用户,调整应答策略:

画像 特征 应答策略
患者本人 直接问自己情况 先评估→再建议→给方案
家属照护者 问家人怎么吃/怎么做 强调实操,给分步骤指导
高危人群 预防为主 生活方式指导+定期筛查
医护人员 问专业细节 提供精确数据+文献引用
好奇路人 泛泛而问 简要科普+不恐慌+建议就诊

模块7:反模式列表

列出AI绝不能做的事:

# 反模式 说明
1 不替代医生诊断 明确说"建议就医"
2 不编造数据 只用指南原文数据
3 不推荐超量补充剂 所有补充剂需咨询医生
4 不忽视吞咽安全 脑卒中特有,吞咽安全永远第一
5 不推荐单一食疗方 强调辨证选用
6 不忽视急性期 明确本指南适用于恢复期
7 不给出矛盾建议 数据来源统一为指南原文

反模式数量:肌少症6条,脑卒中7条(多1条吞咽安全),根据指南特点增减。

3.6 Step 6:配置Skill元数据(skill.yaml)

skill_name: 营养学 | [指南名]食养助手 ([English Name])
version: 1.0.0
description: 营养学 Skill — 基于...的科普对话助手
author: 王润圆(中国注册营养师,昆明医科大学营养与食品卫生学硕士)
license: MIT

source:
  title: [指南全称]
  edition: [版本]
  publisher: 国家卫生健康委办公厅
  basis:
    - 《健康中国行动(2019—2030年)》
    - 《国民营养计划(2017—2030年)》
  references:
    - [从问答版中提取的参考文献列表]

creator:
  name: 王润圆
  credential: 中国注册营养师
  education: 昆明医科大学 营养与食品卫生学 硕士
  tool: WorkBuddy

triggers:
  - [疾病名相关关键词,20-30个]
  - [含中医证型名]
  - [含特殊术语如吞咽/洼田等]

conversation:
  max_context_turns: 100
  adaptive_context: true
  summary_interval: 20
  persistent_context:
    - user_profile
    - current_topic
    - consultation_history

constraints:
  - 本Skill基于官方指南,所有数据和建议均有权威出处
  - 不可替代药物治疗和专业医疗诊断
  - [指南特定约束,如适用人群限制]
  - 食药物质需辨证选用
  - 所有补充剂使用前建议咨询医生
  - 引用数据时需注明来源

statement:
  purpose: |
    本Skill旨在普及[疾病]食养知识,响应全民营养周号召,
    落实《健康中国行动(2019—2030年)》和《国民营养计划(2017—2030年)》中
    关于发展传统食养服务、提升居民营养健康素养的要求,
    让权威食养指南走出文件柜,走进千家万户。
  disclaimer: |
    1. 本Skill内容全部来自《[指南全称]》,仅供食养科普参考,不可替代药物治疗和专业医疗诊断。
    2. [指南特定声明,如适用人群限制]
    3. [指南特定声明,如吞咽评估/肾功能等]
    4. 食药物质和营养补充剂的使用应在专业人员指导下进行。
    5. 合并基础疾病者须在专业医师指导下辨证施膳。
    6. 本Skill由AI辅助构建,虽力求忠实原文,但不排除存在转述偏差,如有疑义请以指南正式出版物原文为准。

参考文献获取:从问答版PDF中提取,确保完整。如发现遗漏需补全(如脑卒中最初遗漏《神经病学》)。

3.7 Step 7:README + 安装脚本

README.md 必含模块:

  1. 标题营养学 | [指南名]食养助手 (English Name)
  2. 副标题:基于国家卫生健康委发布的《[指南全称]》的AI科普对话助手
  3. 个人介绍:🌱 初学AI,希望利用AI传播营养学知识,帮助更多的人。如果哪里不足,请大家多多指点,后续会努力做更多的营养学Skill。如果大家觉得还可以,请给我点个 ⭐ Star,谢谢!
  4. 指南出处:全称、发布单位、制定依据
  5. 功能特点:6-8项,含⭐指南特色标记
  6. 关键数据速查表:含"通俗理解"列
  7. 安装说明:macOS/Linux + Windows
  8. 文件结构:列出所有文件及说明
  9. 知识体系表:所有KPK编号+主题+来源章节
  10. 建设宗旨
  11. 免责声明:6点
  12. 创建者信息
  13. License

安装脚本(install.sh / install.bat):

#!/bin/bash
# [指南名]食养助手 安装脚本

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
TARGET_DIR="$HOME/.workbuddy/skills/custom/[skill-dir-name]"

mkdir -p "$TARGET_DIR"

cp "${SCRIPT_DIR}/skill.yaml" "$TARGET_DIR/"
cp "${SCRIPT_DIR}/system_prompt.md" "$TARGET_DIR/"
cp "${SCRIPT_DIR}/knowledge_base.md" "$TARGET_DIR/"
[ -f "${SCRIPT_DIR}/recipes_data.md" ] && cp "${SCRIPT_DIR}/recipes_data.md" "$TARGET_DIR/"
[ -f "${SCRIPT_DIR}/recipes_overview.md" ] && cp "${SCRIPT_DIR}/recipes_overview.md" "$TARGET_DIR/"

echo "✅ [指南名]食养助手安装完成!"
echo "   安装路径: $TARGET_DIR"

3.8 Step 8:质量验证(复检)

复检清单

# 检查项 方法
1 参考文献 vs 问答版原文 逐条比对,不可遗漏
2 关键数值 vs 原文 能量/蛋白质/脂肪/碳水/盐/水/纤维等
3 KPK数据准确性 抽查3-5个KPK的核心数据
4 全文覆盖度 原文所有章节是否都有对应KPK
5 特色模块质量 如吞咽障碍/食物质地分级等指南特有内容
6 食物选择表完整性 优选vs不推荐完整度
7 食物交换表完整性 表数、列数、行数
8 system_prompt数据准确性 关键数据速查表与KPK一致
9 食谱数据完整性 总数84,每地区12,每季节3

复检流程

  1. grep 从原文定位关键数据
  2. 与 KPK / system_prompt 中的数据逐条比对
  3. 发现差异立即修正
  4. 修正后 git commit & push

3.9 Step 9:GitHub发布

# 1. 初始化仓库
cd /workspace/[skill-dir-name]
git init
git add -A
git commit -m "feat: 初始版本 v1.0.0"

# 2. 创建GitHub远程仓库
curl -X POST -H "Authorization: token [TOKEN]" \
  -H "Accept: application/vnd.github.v3+json" \
  https://api.github.com/user/repos \
  -d '{"name":"[repo-name]","description":"[描述]","private":false}'

# 3. 添加远程并推送
git remote add origin https://[TOKEN]@github.com/[username]/[repo-name].git
git push -u origin main

# 4. 设置Topics
curl -X PUT -H "Authorization: token [TOKEN]" \
  -H "Accept: application/vnd.github.mercy-preview+json" \
  https://api.github.com/repos/[username]/[repo-name]/topics \
  -d '{"names":["nutrition","[disease-keyword]","nutrition-science","dietary-guide","chinese-medicine","food-therapy","health-guide","ai-skill"]}'

# 5. 创建Release
curl -X POST -H "Authorization: token [TOKEN]" \
  -H "Accept: application/vnd.github.v3+json" \
  https://api.github.com/repos/[username]/[repo-name]/releases \
  -d '{"tag_name":"v1.0.0","name":"v1.0.0","body":"首个完整版本"}'

四、各指南差异化要点

不同食养指南在蒸馏时需注意的差异:

4.1 食养原则条数

指南 原则条数 KPK-01~0N
肌少症 7条 KPK-01~07
脑卒中 8条 KPK-01~08
其他 待确认 按实际条数

4.2 附录数量与内容

指南 附录数 特色附录
肌少症 5个 肌肉量/力量/功能评估工具
脑卒中 7个 ⭐吞咽障碍筛查(洼田饮水试验)、⭐食物质地分级
其他 待确认 按实际内容

4.3 中医证型

指南 证型数 证型名称
肌少症 3个 脾胃虚弱、肾精亏虚、气血不足
脑卒中 4个 痰热腑实、痰瘀阻络、阴虚风动、气虚血瘀

4.4 能量级别

指南 3个能量级别
肌少症 1500-1600 / 1700-1800 / 1900-2000 kcal
脑卒中 1600 / 1800 / 2000 kcal

4.5 特色模块(必须重点蒸馏)

指南 特色模块 说明
肌少症 肌肉量/力量/功能评估 SARC-F、5次起坐、6米步速、SPPB
脑卒中 ⭐吞咽障碍分级筛查 洼田饮水试验5级 + VVST完整流程
脑卒中 ⭐食物质地分级 液体B1-B3 + 固体A1-A3 + 7级食物分级
脑卒中 冬季高发预警 脑卒中冬季高发的季节特点

五、命名与署名规范

5.1 Skill命名

营养学 | [疾病名]食养助手 ([English Name])
  • "营养学 |" 前缀:GitHub搜索可见性,方便外国用户发现
  • English Name:国际友好

示例:

  • 营养学 | 肌少症食养助手 (Sarcopenia Nutrition Guide)
  • 营养学 | 脑卒中食养助手 (Stroke Nutrition Guide)
  • 营养学 | 高血压食养助手 (Hypertension Nutrition Guide)

5.2 GitHub仓库名

[disease-keyword]-food-guide-skill

示例:

  • sarcopenia-food-guide-skill
  • stroke-food-guide-skill
  • hypertension-food-guide-skill

5.3 创建者署名

creator:
  name: 王润圆
  credential: 中国注册营养师
  education: 昆明医科大学 营养与食品卫生学 硕士
  tool: WorkBuddy

5.4 个人介绍

🌱 初学AI,希望利用AI传播营养学知识,帮助更多的人。如果哪里不足,请大家多多指点,后续会努力做更多的营养学Skill。如果大家觉得还可以,请给我点个 ⭐ Star,谢谢!

5.5 免责声明(6点标准模板)

  1. 内容来源声明 + 不可替代医疗诊断
  2. 适用人群限制
  3. 指南特色安全提醒(如吞咽评估/肾功能等)
  4. 食药物质使用指导
  5. 合并基础疾病者须专业指导
  6. AI辅助构建声明 + 以原文为准

六、版本号规范

变更类型 版本号变更 示例
初始发布 1.0.0 首个完整版本
小修(参考文献/数据修正) +0.0.1 1.0.0 → 1.0.1
新增内容(食谱数据等) +0.1.0 1.0.1 → 1.1.0
风格重写/架构调整 +1.0 1.1.2 → 2.0.0

七、工具箱

7.1 PDF提取

pdftotext -layout input.pdf output.txt        # 基本提取
pdftotext -layout -f 10 -l 30 input.pdf out.txt  # 指定页面范围
wc -m output.txt                                # 统计字符数(中文用-m不用-w)

7.2 数据验证

grep -n "关键词" main_guide.txt         # 定位原文中的数据
grep -c '^### ' recipes_data.md          # 统计食谱数量
wc -m knowledge_base.md                  # 知识库字符数

7.3 Git操作

cd /workspace/[skill-dir]
git add -A
git commit -m "feat: 变更说明"
git push origin main
git tag v1.0.0
git push origin v1.0.0

7.4 GitHub API

# 创建仓库
curl -X POST -H "Authorization: token $TOKEN" \
  https://api.github.com/user/repos \
  -d '{"name":"repo-name","private":false}'

# 设置Topics
curl -X PUT -H "Authorization: token $TOKEN" \
  -H "Accept: application/vnd.github.mercy-preview+json" \
  https://api.github.com/repos/$USER/$REPO/topics \
  -d '{"names":["nutrition","..."]}'

# 创建Release
curl -X POST -H "Authorization: token $TOKEN" \
  https://api.github.com/repos/$USER/$REPO/releases \
  -d '{"tag_name":"v1.0.0","name":"v1.0.0"}'

八、已完成项目档案

# Skill名称 版本 KPK数 食谱数 GitHub
1 肌少症食养助手 v1.1.2 15个 84套 链接
2 脑卒中食养助手 v1.1.0 18个 84套 链接

九、未来规划

9.1 待蒸馏指南

按国家卫生健康委已发布的食养指南系列,待蒸馏的还有:

  • 成人高血压食养指南
  • 成人糖尿病食养指南
  • 成人高尿酸血症及痛风食养指南
  • 成人慢性肾脏病食养指南
  • 儿童青少年肥胖食养指南
  • 其他

9.2 统一"中国食养助手"构想

未来可能将所有食养指南Skill合并为一个统一的"中国食养助手",用户无需知道该查哪个指南。但这是远期目标,当前阶段仍以单独Skill优先。

9.3 方法论持续迭代

每蒸馏一个新指南,本方法论可能需要更新:

  • 新的指南结构差异(如新的附录类型)
  • 新的特色模块处理方式
  • 通俗翻译规则的补充
  • 工作流的优化

本文档由王润圆使用 WorkBuddy 整理,基于肌少症与脑卒中两个食养指南Skill的完整蒸馏实践总结而成。