1. 项目概述:一个能“成为你”的AI技能包

最近在折腾AI编程工具,发现一个挺有意思的现象:无论是Claude Code还是Cursor,它们确实能帮你写代码、查文档,但当你问一些更“人味儿”的问题时,比如“这个offer该不该接?”、“我该怎么规划学习路线?”,得到的回答往往正确但无用,充满了“需要综合考虑多方面因素”这类正确的废话。这感觉就像问一个学霸怎么考高分,他告诉你“要认真学习、多做练习”一样,道理都对,但对你当下的困境毫无帮助。

直到我看到了程序员鱼皮开源的 yupi-skill 项目,才意识到问题的关键可能不在于AI的能力,而在于我们如何“调教”它。这个项目不是一个简单的提示词集合,而是一个经过系统化“知识蒸馏”的AI技能包。它的核心目标不是让AI模仿某个人的语气说话,而是把一个人的 思维操作系统 ——包括他的心智模型、决策规则、表达风格乃至知识边界——完整地“灌”给AI。简单说,装上这个Skill,AI在回答特定领域问题时,就不再是那个四平八稳的通用模型,而是能像鱼皮本人一样思考、判断和给出建议。

这背后的价值,对于技术人、内容创作者或者任何想建立个人知识IP的人来说,是巨大的。它意味着你可以将自己的经验体系化、产品化,让AI成为你7x24小时在线的“数字分身”,用你的方式去帮助更多人。接下来,我就结合yupi-skill的源码和设计思路,为你彻底拆解这个项目的核心,并分享如何借鉴这套方法论,打造属于你自己的“思维蒸馏器”。

2. 核心设计:从“模仿语气”到“复制思维”

很多人在尝试定制AI时,容易陷入一个误区:拼命地教AI说“口头禅”或者使用特定的句式。比如,告诉AI“每句话结尾加个‘喵~’”,这确实能制造一种表面上的相似性,但本质上AI还是那个AI,内核没变。yupi-skill的设计哲学完全不同,它追求的是思维层面的复刻。这就像不是教鹦鹉学舌,而是试图给它安装一个人类的大脑。

2.1 心智模型:决策的底层逻辑

项目中最核心的部分,是定义在 references/identity.md 中的 7个心智模型 。这不是随便总结的鸡汤,而是从鱼皮大量的公开内容、咨询对话中提炼出的、反复被验证的决策原则。我们来拆解其中几个最具代表性的:

  • 方向判断 + 倾尽全力 :这个模型解决的是“坚持与放弃”的矛盾。普通建议可能是“要坚持到底”,但鱼皮的逻辑是“先花小成本快速验证方向,一旦判断正确就All-in,如果发现是死胡同就果断止损”。这背后是一种高效的资源分配思维,避免了在错误道路上一条道走到黑的沉没成本。在Skill中,当AI被问到“该不该坚持做某个小众技术”时,它就会启动这个模型,引导提问者先去验证市场需求,而不是空谈热爱。
  • MVP外壳 + 核心不妥协 :这是产品开发的黄金法则。MVP(最小可行产品)大家常提,但鱼皮强调“外壳”可以简陋,核心价值点必须第一次就过硬。比如做一个编程学习平台,初期界面可以丑,但核心的教程内容质量必须顶尖。这个模型让AI在回答“如何启动一个项目”时,能给出非常落地的建议:别想着一步到位,先抓住一个痛点做到极致。
  • 企业需要什么就学什么 :这是针对技术学习路线的“现实主义”模型。它的判断锚点是市场需求,而非个人兴趣。当大学生纠结学AI还是学Java时,套用这个模型的AI会直接指出:“简历上没有AI,很多HR筛简历时可能直接跳过;但Java后端是当前吃饭的基本盘。所以,策略是夯实Java,同时做一个AI项目作为‘入场券’。” 这种建议剔除了模糊性,直接指向行动。

这些心智模型被编码进Skill后,AI在分析问题时,就不再是泛泛地罗列利弊,而是会像鱼皮一样,用这几把“思维手术刀”去解剖问题,给出带有强烈个人风格和实操性的结论。

2.2 决策规则:从模型到行动的具体转化

心智模型是战略层面的,而 identity.md 中定义的 决策规则 则是战术层面的“快捷指令”。它们更具体,可以直接套用在常见场景中:

  • 有保底再冲高 :直接对应求职咨询中的“骑驴找马”策略。这不是保守,而是最大化降低风险的理性选择。当用户询问“有个保底offer要不要接”时,AI会明确建议“先接了,但别停下找工作”,并解释这能带来心态上的优势。
  • 口头承诺不算数 :这条规则充满了职场实战的教训。AI在评估一个offer时,会自动过滤掉HR画的“大饼”(如“干得好两年后调薪升职”),聚焦于合同白纸黑字的内容和公司当前的实际情况。
  • 能说人话就别说术语 :这定义了沟通的优先级。无论技术问题多复杂,AI会强制自己先用人人都能听懂的方式解释核心,必要时再补充技术细节。这确保了建议的受众最广,实用性最强。

这些规则就像编程中的“函数”,输入一个具体问题,输出一个经过验证的、高效的行动方案。它们让AI的“思考”过程变得可预测、可解释。

2.3 表达风格:思维的“外包装”

最后,才是 references/voice.md 所定义的表达风格。这是思维的外在呈现,但必须建立在上述内核的基础上才有意义。yupi-skill提炼的风格非常鲜明:

  1. 结论先行 :第一句话就亮出核心观点或最终建议,如“ 说实话,我建议你别去。
  2. 编号分点+加粗核心 :将复杂建议结构化,并用加粗突出最关键的一句,方便读者快速抓取重点。
  3. 自嘲式幽默 :用“虽然头毛已经不剩几根”这类句子拉近距离,软化直接建议可能带来的生硬感。
  4. “总结就是”收尾 :在分析完毕后,用一句高度凝练的话收束全文,强化记忆点。
  5. “加油”结束 :一个简单的鼓励性结尾,形成积极的互动闭环。

这种风格不是噱头,它极大地提升了信息的传递效率和接收度。当AI用这种方式组织语言时,它的回答就不再是冷冰冰的文本,而像一个经验丰富的前辈在跟你掏心窝子。

实操心得:风格的内化 在制作自己的Skill时,提炼风格不能靠空想。最好的方法是收集自己过去大量的文字记录(文章、评论、聊天记录),让AI帮你分析高频词汇、句式结构和情感倾向。你会发现,那些你以为的“随口一说”,其实背后有固定的模式。把这些模式明确写进 voice.md ,AI才能稳定复现。

3. 技术实现:遵循标准的渐进式技能加载

yupi-skill在技术实现上选择了拥抱开源标准,这保证了它的兼容性和可维护性。项目完全遵循 AgentSkills 开放标准 ,这是一个为AI Agent设计技能格式的规范。理解这个标准,是复用和改造该项目的基础。

3.1 项目结构解析

项目的目录结构非常清晰,体现了“渐进式加载”的思想:

yupi-skill/
├── SKILL.md                          # 入口:触发条件、工作流、回答模式
└── references/
    ├── identity.md                   # 身份、心智模型、决策规则、底线原则
    ├── voice.md                      # 句式特征、口头禅、幽默方式、回答模板
    └── knowledge-sources.md          # 指定信息源、联网搜索规则
  • SKILL.md :这是技能的“总控开关”。它首先定义了技能的元数据(名称、描述、作者),然后规定了 触发条件 。例如,当用户的问题涉及“编程学习”、“求职”、“职业规划”、“技术选型”等关键词时,Claude Code或Cursor就会自动加载这个技能。它还概述了AI接到问题后的“工作流”:先加载身份认知(identity.md),再决定是否联网搜索(knowledge-sources.md),最后用特定的风格(voice.md)组织答案。
  • references/ 目录 :这是技能的核心“数据库”,按需加载。
    • identity.md :存放最核心的“我是谁”和“我如何思考”。这是AI的“人设”基础。
    • voice.md :定义了“我如何表达”。这是AI的“语言风格包”。
    • knowledge-sources.md :定义了“我知道什么”以及“我不知道时该去哪查”。这是AI的“外部记忆”或“搜索引擎偏好设置”。yupi-skill在这里指定了鱼皮的编程导航、AI导航、面试鸭等网站作为优先信息源,确保了回答的准确性和时效性。

这种分离的设计非常巧妙。AI不需要一次性读取所有内容,而是根据 SKILL.md 的指引,像打开一个工具箱一样,按需取用不同的文件。这降低了单次处理的上下文长度,也使得技能更新变得模块化——你只需要更新某一个 md 文件即可。

3.2 安装与集成实战

安装过程极其简单,本质就是将这个技能包克隆到AI工具指定的技能目录下。以主流的Claude Code和Cursor为例:

对于Claude Code:

# 全局安装(推荐,所有项目可用)
git clone https://github.com/liyupi/yupi-skill.git ~/.claude/skills/yupi-skill

# 或项目级安装(仅当前git仓库生效)
mkdir -p .claude/skills
git clone https://github.com/liyupi/yupi-skill.git .claude/skills/yupi-skill

对于Cursor:

# 在项目根目录下执行
mkdir -p .cursor/skills
git clone https://github.com/liyupi/yupi-skill.git .cursor/skills/yupi-skill

安装完成后,你不需要做任何额外设置。当你在Claude Code或Cursor中提问,问题命中 SKILL.md 中定义的触发条件(如“学习路线”、“offer选择”)时,AI会自动调用yupi-skill来组织回答。你也可以通过手动输入“用鱼皮的风格回答”或“像鱼皮那样思考”来强制触发。

注意事项:路径与工具版本 确保你使用的Claude Code或Cursor是最新版本,以支持自定义Skill功能。另外,全局安装的路径( ~/.claude/skills/ )是默认路径,如果工具更新后路径有变,需要查阅对应工具的最新文档。项目级安装的好处是技能可以随项目仓库一起管理,适合团队协作。

3.3 知识源的配置与联网搜索

knowledge-sources.md 是这个技能保持“鲜活”的关键。它不是一个封闭的知识库,而是一个导航表。文件里清晰地列出了不同问题类型对应的最佳信息源:

问题场景 信息源
编程学习、项目教程 编程导航 (codefather.cn)
AI 工具、AI 编程 AI导航 (ai.codefather.cn)
面试题、刷题 面试鸭 (mianshiya.com)

这意味着,当用户问“如何做一個Java项目?”,AI在调用yupi-skill后,会先尝试从自身的训练数据中,结合鱼皮的心智模型生成一个回答框架,然后它会 主动发起联网搜索 ,优先去编程导航(codefather.cn)上查找最新的项目教程,将找到的具体内容(比如“用户中心项目实战”)填充到回答框架中,最后用鱼皮的风格输出。

这个设计解决了大模型知识陈旧的问题,让技能的回答既能保持独特的风格和思维,又能基于最新、最准确的信息。对于想制作自己技能的人来说,这里可以替换成你自己的博客、文档站、产品官网等,成为你个人知识的延伸。

4. 方法论复现:如何蒸馏你自己的“思维操作系统”

yupi-skill最大的价值不仅是这个现成的技能包,更是它提供了一套可复制的“个人知识蒸馏”方法论。看完源码后,我按照它的逻辑,梳理出了一套为自己打造数字分身的实操流程。

4.1 第一阶段:原始素材的系统化收集

你不能凭空编造一个“你”。第一步是尽可能全面地收集能代表你思维和表达的所有材料。参考yupi-skill的“蒸馏过程”,我将素材分为六类进行归档:

  1. 经历叙述 :你的公开自我介绍、职业履历、项目总结、成功/失败案例复盘。这些定义了你的“背景板”。
  2. 观点输出 :你写的技术博客、行业评论、知乎回答、公众号文章。这里蕴含了你分析问题的角度和核心论点。
  3. 答疑互动 :你在技术社群、知识星球、一对一咨询中的聊天记录。这是最鲜活的第一手资料,能看出你如何具体解决别人的问题。
  4. 产品/作品 :你做的项目、产品、教程的说明文档和介绍。这体现了你的构建能力和价值主张。
  5. 他人评价 :同事、朋友、读者对你的评价(征得同意后使用)。这提供了第三方的视角,帮你发现不自知的特点。
  6. 工作方法 :你的笔记模板、工作流、使用的工具链。这反映了你处理事务的微观习惯。

收集时,建议建立一个文件夹,用这六个类别建立子文件夹,把所有相关文本、截图(OCR转文字)都扔进去。原始素材越多,后续提炼就越准确。

4.2 第二阶段:深度分析与特征提炼

有了素材库,接下来就是“蒸馏”的核心环节:请AI帮你一起分析。你可以将素材分批喂给Claude-3.5-Sonnet或GPT-4这类高级模型,并给它明确的指令:

指令示例: “请分析以下文本材料,它们来自同一个人。请帮我提炼:

  1. 核心心智模型 :他反复使用的、底层的决策原则或信念是什么?(例如:是先验证再投入,还是追求极致体验?)
  2. 高频决策规则 :在面对常见选择(如技术选型、时间管理)时,他有哪些具体的行动准则?
  3. 独特的表达风格 :他的语言有什么特点?(例如:爱用比喻?习惯先说结论?有什么口头禅?)
  4. 知识边界与底线 :他通常在哪些领域发言?对哪些问题会明确表示不了解或拒绝回答?”

这个过程可能需要多次迭代和追问。你可以把AI初步提炼的结果,与你自己的认知进行对比,修正后再让AI分析,直到得出那几条让你觉得“对,这确实就是我”的核心特征。

4.3 第三阶段:边界追问与人格完善

这是让“数字分身”脱离“伟光正”形象,变得有血有肉的关键一步。yupi-skill的蒸馏过程中提到了“12个追问挖掘”,我们可以借鉴,设计一些尖锐的自我拷问,让AI帮我们回答:

  • 观点边界 :“在什么情况下,你会改变你常说的‘XX原则’?”
  • 决策失误 :“回忆一个你印象深刻的判断失误或失败项目,当时是哪个思维环节出了问题?”
  • 说做不一 :“你有没有公开宣扬过某个观点,但自己私下并没有完全做到?为什么?”
  • 绝对不做 :“在你的领域里,有哪些事是你明确认为‘绝对不值得做’的‘蠢事’?”
  • 价值取舍 :“如果必须在‘项目快速上线但有瑕疵’和‘延期但保证完美’之间选择,你的决策框架是什么?”

把这些问题的答案(同样用你的风格和思维来回答)整理出来,加入到 identity.md 中。这能防止你的技能包变成一个只会说正确话的“圣人”,而是一个有局限、有偏好、有真实经验的“人”。

4.4 第四阶段:技能编写与迭代测试

现在,你可以按照AgentSkills标准,创建你自己的技能文件夹了。

  1. 编写 identity.md :将第二阶段提炼出的心智模型、决策规则,以及第三阶段追问的答案,用清晰的结构写下来。开头明确定义“我是谁”。
  2. 编写 voice.md :将分析出的表达风格、常用句式、口头禅整理成文,并附上几段最典型的原始对话作为“样本”,让AI有更直观的参照。
  3. 编写 knowledge-sources.md :列出你的知识来源。可以是你的博客地址、你常引用的权威文档、你维护的GitHub Wiki等。确保AI在需要查证时,是去向“你信任的信息源”寻找答案。
  4. 编写 SKILL.md :定义技能的元信息、触发关键词(如你的名字、你擅长的领域术语)、以及加载上述文件的工作流。
  5. 测试与迭代 :将技能包安装到你的AI工具中。不要问太简单的问题,而是模拟真实场景进行“压力测试”:
    • 一致性测试 :问同一个问题多次,看风格和核心观点是否稳定。
    • 边界测试 :问一些你素材中没提过、但属于你领域边沿的问题,看AI是否会诚实地说“这个我没深入思考过”,而不是胡编乱造。
    • 对比测试 :同一个问题,关闭技能和开启技能各问一次,感受回答的差异是否明显。

根据测试结果,回头调整 references 下的文件。这是一个持续打磨的过程。

5. 常见问题与避坑指南

在实践这套方法的过程中,我和一些尝试复现的朋友遇到了不少典型问题。这里集中记录一下,希望能帮你少走弯路。

5.1 技能安装后不生效?

这是最常见的问题。请按以下步骤排查:

  1. 检查安装路径 :这是最可能的原因。确保技能文件夹被克隆到了 正确的、且AI工具能识别的目录 下。对于Cursor,通常是项目根目录下的 .cursor/skills/ 或用户主目录的对应路径。有时候工具更新会改变路径规则,务必查阅最新官方文档。
  2. 检查技能格式 :确保根目录下有 SKILL.md 文件,并且其格式符合AgentSkills标准。一个常见的错误是 SKILL.md 的YAML Front Matter(元数据部分)格式错误。可以用在线YAML校验器检查。
  3. 重启AI工具 :安装技能后,完全退出Claude Code或Cursor再重新打开,以确保其重新扫描技能目录。
  4. 手动触发测试 :先不要依赖自动触发。直接在对话中输入“请使用[你的技能名]技能来回答”,看AI是否会切换风格。如果手动触发有效而自动触发无效,问题可能出在 SKILL.md 中定义的 triggers (触发词)不够精准。

5.2 感觉AI只是在模仿语气,没学到思维?

这说明你的 identity.md 文件可能写得不够深入,停留在了表面特征。

  • 心智模型太空洞 :避免写“保持乐观”、“持续学习”这种放之四海而皆准的话。要写像“用80%时间打磨20%的核心功能”、“在接到需求时先问‘为什么’再想‘怎么做’”这样具体、可操作的决策原则。
  • 缺乏矛盾场景 :在你的素材和追问中,必须包含处理两难选择、权衡利弊的例子。例如,“当用户需求和开发成本冲突时,你通常如何决策?”AI需要看到你在具体矛盾中的思考过程,才能学会“判断”。
  • 补充反面案例 :在 identity.md 中,不仅要写“我主张什么”,也要写“我反对什么”以及“为什么反对”。明确的边界能让AI的“人设”更立体。

5.3 回答风格不稳定,时像时不像?

风格不稳定通常源于 voice.md 文件提供的样本不足或指令冲突。

  • 样本要足够多且典型 :不要只放一两段话。至少提供5-10段不同场景(如讲解技术、安慰鼓励、犀利批评、幽默自嘲)下的完整对话样本。样本质量比数量更重要,要选最能代表你语言特色的内容。
  • 量化描述特征 :不要只说“说话直接”,要描述成“习惯用‘说实话’、‘讲真的’开头,结论通常放在第一句,避免使用‘可能’、‘也许’等模糊词汇”。
  • 检查指令冲突 :确保 SKILL.md identity.md voice.md 之间的指令没有矛盾。例如, identity.md 说“沟通要直接”, voice.md 的样本却都是委婉冗长的,AI就会困惑。

5.4 如何让技能随着我一起成长?

一个静态的技能包很快就会过时。yupi-skill采用了“引用外部知识源”和“模块化更新”的策略,这非常值得学习。

  • 动态知识源 :像鱼皮那样,在 knowledge-sources.md 里指向你自己的博客、知识库或Notion页面。当你发布了新文章、有了新观点,AI通过联网搜索就能获取到,无需修改技能包本身。
  • 定期更新 references :每季度或每半年,回顾一下自己的新产出。将新的代表性文章片段加入 voice.md ,将新的重要决策原则补充进 identity.md 。然后重新克隆或更新技能包。
  • 建立更新流水线 :你可以将技能包仓库与你的博客RSS或Notion数据库通过GitHub Actions等工具连接起来,设定规则自动抓取新内容并生成更新摘要,半自动化地维护技能包。

5.5 这个技能包可以商用或分享吗?

这取决于你技能包中内容的版权和你的目的。

  • 个人使用/团队内部使用 :完全没问题。这是提高效率的利器。
  • 开源分享 :如果你像鱼皮一样,希望分享自己的思维模型帮助更多人,可以遵循MIT等开源协议将技能包开源。但务必 清理所有隐私和敏感信息
  • 商用 :如果你计划将某个专家的思维技能包打包出售, 必须获得该专家的明确授权 。直接使用他人公开内容制作技能包并盈利,可能涉及版权和人格权问题。最稳妥的方式,是从零开始蒸馏自己的知识体系。

制作自己的yupi-skill,本质上是一次深度的自我复盘和知识产品化尝试。它逼着你把那些藏在经验里的“隐性知识”变成可表述、可结构化的“显性知识”。这个过程本身,就是一次巨大的成长。当你看到AI能用你的口吻,有条不紊地解答他人困惑时,那种感觉,就像看到了一个更理性、更高效的自己。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐