1. 项目概述:一个能“借古鉴今”的智能决策沙盘
接手一个内耗严重的团队,如何在资源有限的情况下快速推动改革?面对一个强大但不可靠的盟友,如何既合作又自保?这些现实中的“局”,往往不是缺一个答案,而是缺一套看清局面、推演后果的思考框架。这正是LearnFromHistory-skill,或者说“以史为鉴.skill”这个项目要解决的问题。
它不是一个历史知识问答机器人,而是一个面向Claude Code和OpenClaw这类智能体(Agent)的决策分析工具。它的核心逻辑是:将现实决策难题结构化,然后从中国历史长河中寻找结构相似的案例,进行沙盘推演,从而为今天的行动提供多维度的参考和风险预警。简单说,它帮你“识局”、“鉴史”、“推演”,而不是简单地给一个“应该怎么做”的结论。
这个技能的设计初衷,源于对市面上大多数“历史类比”工具的不满——它们往往停留在“举个例子”的层面,告诉你“历史上某某人是怎么做的”,然后就结束了。但现实决策的复杂性在于,历史不会简单重演,直接套用往往水土不服。“以史为鉴.skill”的突破点在于它的结构化输出和沙盘推演环节。它会强制输出包括【局面判断】、【历史参照】、【关键变量】、【可选路径】以及最核心的【沙盘推演】在内的七个模块。其中,【沙盘推演】会把每一条可能的行动路径,拆解成“适用条件”、“短期收益”、“短期风险”、“中期演化”和“最容易失败点”来逐一分析,让你像下棋一样,能看到后面好几步。
如果你是一名管理者、创业者,或者任何需要在高不确定性下做关键决策的人,并且你正在使用 Claude Code 或 OpenClaw 作为你的AI工作伙伴,那么这个技能能极大地扩展你这位“数字同事”的能力边界,让它从一个信息处理者,升级为一个具备历史纵深感的策略分析助手。
2. 核心设计思路:从“举例说明”到“决策推演”
为什么我们看了很多历史故事,却依然做不好当下的决策?问题往往出在类比的方法上。生硬的“对号入座”不仅无益,甚至有害。“以史为鉴.skill”在设计之初就规避了这个问题,它的整个工作流建立在一种更科学、更工程化的“结构化类比”思维之上。
2.1 三步决策分析法:识局、鉴史、推演
项目的核心方法论可以凝练为三步,这三步构成了技能处理任何用户问题的基本管道。
第一步:识局(Situation Recognition)这是所有分析的起点。技能不会一上来就搜索历史案例,而是先对用户描述的问题进行“局面解构”。它会尝试识别问题中蕴含的一个或多个“核心局面”。项目预定义了若干种局面类型,例如“改革推进”、“内部冲突”、“以弱对强”、“联盟博弈”、“危机处置”等。一个复杂问题可能同时涉及多个局面。例如,“接手派系林立的团队推行新制度”这个问题,就可能被识别为“改革推进”(主局面)和“内部冲突”(次局面)的组合。准确“识局”的意义在于,它为后续的历史案例检索建立了精确的“筛选器”,确保找到的案例在结构上与当前问题同构,而非仅仅是主题相关。
第二步:鉴史(Historical Retrieval & Comparison)在明确局面后,技能会在本地案例库(包括基础的40个历史案例和用户持续新增的案例)中进行向量化检索。这里的关键不是关键词匹配,而是局面匹配。它会找出历史上那些发生在“改革推进”与“内部冲突”双重局面下的案例,比如“商鞅变法”(面对旧贵族阻力)、“王安石变法”(面对既得利益集团)、“吴起相楚”(触动贵族利益而受挫)。找到案例后,技能会进行结构化对比,提取每个案例中的关键变量,如“执行链条的强度”、“利益补偿机制”、“时间窗口”、“决策者的合法性基础”等。这一步的输出不是故事复述,而是一张对比表,清晰地列出历史案例与当前问题在关键变量上的异同。
第三步:推演(Sandbox Simulation)这是区别于其他工具的核心环节。基于历史参照和关键变量分析,技能会生成数条可选路径。每一条路径,都会进入一个详细的“沙盘推演”流程。这个推演会模拟该路径执行后可能发生的连锁反应:
- 适用条件:在什么前提下,这条路才走得通?
- 短期收益/风险:立即会带来什么好处和挑战?
- 中期演化:事情可能会如何发展?盟友和对手会如何反应?
- 最容易失败点:这条路上最可能“翻车”的环节在哪里?
例如,对于“改革团队”问题,一条路径可能是“先整执行链”(先清理或搭建核心执行班子)。推演会指出:其适用条件是“你拥有足够的人事权”;短期收益是“政令出办公室后有人执行”;短期风险是“可能激化与某些派系的矛盾”;中期演化可能是“形成以你为核心的新执行体系,但旧体系反弹”;最容易失败点在于“如果清理的人选不当或力度失控,可能导致全面抵制”。
2.2 结构化输出:确保分析深度与一致性
为了保证每次分析都能达到足够的深度,技能强制输出七个固定模块。这种“结构化输出”是工程化思维的体现,它避免了AI生成内容的随意性和肤浅性。
- 【局面判断】:明确当前问题的性质,定下分析基调。
- 【历史参照】:提供2-4个结构相似的历史案例,作为分析的素材库。
- 【关键变量】:提炼出影响成败的核心因素,搭建起连接历史与现实的桥梁。
- 【可选路径】:基于以上分析,提出几条切实可行的行动方向。
- 【沙盘推演】(核心):对每条路径进行多维度、前瞻性的模拟分析。
- 【借鉴原则】:从历史中抽象出几条可迁移的通用策略或心法,如“改革需自上而下建立合法性”、“以弱对强宜用奇正结合”。
- 【边界提醒】:明确指出历史经验的局限性,提醒用户注意时代背景、制度差异等不可类比之处,防止生搬硬套。
这套输出结构,就像一份标准的决策分析报告模板,确保了无论面对何种问题,分析都能覆盖到定义、参考、分析、方案、评估、提炼和警示这七个完整环节。
2.3 本地化与可扩展性设计
作为一个Agent Skill,它被设计为完全离线运行。所有案例数据(historical_cases.json)、用户自定义数据(user_cases.json)以及分析逻辑都封装在本地。这样做有几个显著优点:
- 隐私安全:你的决策困境和业务细节无需上传到任何云端服务器。
- 响应迅速:分析过程不依赖网络请求,速度极快。
- 可定制化:核心的“案例库”是开放的、可扩展的。你不仅可以查询内置的40个中国历史案例,还可以随时将自己遇到的现实案例,或者你认为有启发性的其他历史/商业案例,按照固定格式添加到
user_cases.json中。这意味着你的“决策智库”是随着你的使用而不断成长、越来越贴合你个人或组织语境的。
实操心得:为什么是“局面”而非“主题”?早期版本尝试过按“改革”、“外交”、“军事”等主题分类,效果很差。因为“商鞅变法”和“互联网公司转型”在主题上毫无关系,但在“强势领袖推动触及既得利益的系统性改革”这个局面上高度相似。将检索锚定在“局面”上,是实现有效类比的关键。在你自己新增案例时,花时间精确定义
core_situation和secondary_situation,比堆砌关键词重要得多。
3. 案例库解析与自定义案例实战
技能的核心资产是其案例库。理解案例库的结构,并学会如何向其中添加高质量的案例,是发挥这个工具最大威力的关键。
3.1 内置案例库结构深度解读
内置的data/historical_cases.json包含了40个精心挑选和结构化的中国历史案例。每个案例都是一个JSON对象,包含了一系列用于机器理解和检索的字段。我们以一个简化版的“商鞅变法”案例为例,拆解每个字段的设计意图:
{ “id”: “reform_shangyang”, “title”: “商鞅变法”, “core_situation”: [“改革推进”], “secondary_situation”: [“内部冲突”, “以弱对强”], “period”: “战国”, “decision_maker”: “秦孝公、商鞅”, “key_decision”: “颁布《垦草令》等一系列法令,强化中央集权,奖励耕战”, “key_variables”: { “执行链条”: “通过‘立木为信’建立法令权威,由国君强力支持”, “利益补偿”: “奖励军功授爵,打破世袭,创造新的上升通道”, “时间窗口”: “孝公决心坚定,在位时间较长”, “合法性”: “获得君主绝对授权,但触犯旧贵族根本利益” }, “outcome”: “秦国国力大增,为统一奠定基础,但商鞅本人遭车裂”, “source”: “《史记·商君列传》”, “analysis”: “一次成功的顶层设计改革,其成功关键在于最高权力者的坚定支持与建立了一套与改革目标匹配的新激励体系(军功爵制)。失败点在于对旧势力清算不够彻底(或方式过于激进),为改革者个人埋下祸根。”, “tags”: [“变法”, “法治”, “强中央”, “激励机制”] }id&title: 唯一标识和可读名称。core_situation/secondary_situation:最重要的字段。用于局面检索。一个案例可以有多个局面标签。period&decision_maker: 背景信息,帮助理解上下文。key_decision: 对历史人物核心行动的概括。key_variables:核心分析字段。这是一个字典,定义了影响该案例成败的几个关键因素及其状态。在沙盘推演中,系统会对比用户问题与历史案例在这些变量上的差异。outcome: 简要结果。source: 史料来源,确保可追溯。analysis: 一段总结性分析,提炼可借鉴的原则和教训。tags: 辅助关键词,用于更灵活的检索。
3.2 如何添加一个高质量的自定义案例
技能强大的地方在于你可以无限扩充data/user_cases.json。你可以添加历史案例、商业案例,甚至是你自己过去决策的复盘。通过命令行工具可以打印出案例模板:
python src/main.py --print-case-template这会输出一个包含所有必需字段和说明的空白JSON结构。添加新案例有两种主要方式:
方式一:通过命令行直接添加(适用于调试)
python src/main.py --add-case-json ‘{“id”: “my_case_1”, “title”: “某次产品架构调整”, …}’方式二:通过专用脚本从文件或标准输入添加(推荐,尤其与AI配合)这是技能设计中最精妙的一环。你不需要手动编写复杂的JSON。你可以直接对你的AI助手(Claude Code)说:“帮我把‘腾讯2018年‘930’组织架构变革’这个案例,按‘以史为鉴’的格式整理出来,核心局面是‘改革推进’和‘战略转型’。”
AI助手会根据对话理解你的意图,整理出一个结构化的JSON对象,然后通过标准输入管道传递给脚本:
echo ‘{“id”: “tencent_930”, “title”: “腾讯930变革”, …}’ | python scripts/add_case.py --stdin在OpenClaw或Claude Code环境中,这个过程可以自动化。AI助手在补全字段后,会自动调用这个命令将案例写入你的本地user_cases.json。这意味着你用自然语言“告诉”AI一个故事,AI帮你把它变成可检索、可分析的结构化知识。
新增案例的注意事项:
- 局面定义要精准:反复问自己:“这个案例最本质的冲突或情境是什么?” 避免使用过于宽泛的标签。
- 关键变量要具体:
key_variables不要写“领导力强”这种空话。要写成“变量名:具体表现或状态”,如“高层共识:马化腾、刘炽平强力推动,核心事业群总裁支持”。 - 分析段要有提炼:
analysis字段不是复述故事,而是要写出“如果抽象成一条原则,是什么?”例如,从“腾讯930变革”中可以提炼出:“在存量业务增长乏力时,通过组织架构调整(成立CSIG、PCG)整合资源、明确战略方向,是打破部门墙、聚焦新战场的关键一步。” - ID保持唯一:避免与内置案例或其他自定义案例冲突。
避坑指南:自定义案例的常见误区
- 误区一:局面标签过多过杂。一个案例贴了七八个局面标签,导致检索时匹配度过高,失去针对性。通常,1个核心局面,搭配1-2个次局面足矣。
- 误区二:关键变量描述模糊。
key_variables中写“团队氛围好”、“资源充足”是无效信息。必须具体化,如“团队士气:因前期成功项目而高昂,但对变革有疑虑”,“预算资源:有集团专项拨款,但需季度考核”。- 误区三:把分析写成流水账。
analysis字段的核心价值在于“抽象”和“迁移”。务必回答:“这个案例给后世决策者最大的启示是什么?在什么条件下适用?什么条件下会失效?”
4. 安装、配置与核心工作流实操
为了让这个技能在你的AI工作流中真正用起来,我们需要完成安装,并熟悉其核心的交互方式。
4.1 在不同AI Agent环境中的安装指南
技能主要支持两大AI代码环境:Claude Code(Anthropic官方IDE)和OpenClaw(一个开源的Claude Desktop增强工具)。它们的安装路径略有不同。
在OpenClaw/ClawHub环境中安装(最简便)如果你使用的是OpenClaw,并且其集成了ClawHub技能市场,安装一句话搞定:
clawhub install yi-shi-wei-jian或者,直接在OpenClaw的聊天窗口中输入:“安装以史为鉴 skill”。安装后,重启你的OpenClaw应用,技能就会被加载。
手动安装(通用方法)如果自动安装失败,或者你想安装在特定目录,可以使用Git手动克隆:
# 假设你的OpenClaw技能目录是 ~/.openclaw/skills/ git clone https://github.com/GreatXiaoRY/LearnFromHistory-skill.git ~/.openclaw/skills/yi-shi-wei-jian # 或者,如果你为某个项目单独配置技能 git clone https://github.com/GreatXiaoRY/LearnFromHistory-skill.git /path/to/your/project/.claude/skills/yi-shi-wei-jian关键点:无论哪种方式,最终的技能文件夹名称必须是yi-shi-wei-jian,这是技能在skill.json中注册的唯一标识符(slug),否则Agent无法识别。
在Claude Code环境中安装Claude Code的技能目录通常位于用户主目录下:
# 全局安装,对所有项目生效 git clone https://github.com/GreatXiaoRY/LearnFromHistory-skill.git ~/.claude/skills/yi-shi-wei-jian # 项目级安装,只对当前项目生效 git clone https://github.com/GreatXiaoRY/LearnFromHistory-skill.git .claude/skills/yi-shi-wei-jian安装完成后,务必关闭并重新启动Claude Code,以确保它重新扫描并加载新技能。
4.2 技能的使用姿势:自然语言与命令行
技能加载成功后,你有两种主要方式与它交互。
姿势一:自然语言对话(最常用)在你的AI助手(Claude Code中的Claude,或OpenClaw中的龙虾)对话窗口中,直接以自然语言提出你的问题,并指明使用“以史为鉴”技能。
- 标准分析:“请用‘以史为鉴’技能帮我分析一下:我作为空降的技术总监,团队里老员工抱团,新技术栈推行阻力很大,我该怎么办?”
- 新增案例:“我想把‘苹果公司放弃Adobe Flash,力推HTML5’这个商业案例加到以史为鉴的库里。核心局面是‘技术路线抉择’和‘生态博弈’,关键决策是‘顶住短期压力,强行切换底层标准’。” 当你提出分析请求时,AI助手会调用该技能,读取本地案例库,运行分析逻辑,并将结构化的七段式结果返回给你。当你要求新增案例时,AI助手会先引导你补全案例信息,然后自动调用
scripts/add_case.py --stdin将结构化数据写入你的user_cases.json。
姿势二:本地命令行接口(CLI)你也可以不通过AI Agent,直接运行Python脚本进行离线分析或管理。这在调试或批量处理时很有用。
# 切换到技能目录 cd path/to/yi-shi-wei-jian # 1. 使用CLI分析问题 python src/main.py --question “团队内耗严重,项目 deadline 紧,该强力镇压还是怀柔安抚?” # 2. 打印案例模板 python src/main.py --print-case-template # 3. 验证案例库格式是否正确 python scripts/validate_cases.py # 4. 运行单元测试 python -m unittest discover -s tests4.3 一次完整的决策分析实战推演
让我们模拟一个真实场景,看看技能如何工作。假设你是一名产品负责人,面临如下困境:
“我们产品目前市场份额第二,正在策划一个激进的功能创新来挑战市场第一。但内部有声音认为应该先巩固现有用户,稳扎稳打。我该如何决策?”
你将这个问题抛给了已加载技能的AI助手。
第一步:AI调用技能AI识别你的意图,调用yi-shi-wei-jian技能。技能开始工作。
第二步:技能内部处理流程
- 解析与识局:技能解析问题,识别出核心局面是“以弱对强”(挑战第一),次级局面可能包含“战略抉择”和“内部共识”。
- 检索与鉴史:在案例库中搜索具有“以弱对强”和“战略抉择”局面的案例。可能找到:
- 赤壁之战(孙权刘备联军 vs 曹操):弱势方通过联合、利用天时地利、出奇计取胜。
- 美团在千团大战中后期发力(相对弱势 vs 领先者):通过聚焦核心城市、打造地推铁军、后端技术深耕,后发制人。
- 刘邦还定三秦(刘邦 vs 项羽分封的诸侯):在强弱分明时,抓住时机果断出击,打开局面。
- 分析与推演:技能提取这些案例的
key_variables,如“时机选择”、“内部团结度”、“资源聚焦能力”、“对手的弱点”。然后,针对你的问题生成几条可选路径,例如:- 路径A:激进创新,闪电战。
- 路径B:巩固基础,持久战。
- 路径C:小范围试点,快速迭代。 接着,对每条路径进行沙盘推演。
第三步:结构化输出AI将技能生成的结果,以清晰格式呈现给你:
【局面判断】 主局面:以弱对强(挑战市场第一) 次局面:战略抉择(创新 vs 巩固)、内部共识(存在分歧) 【历史参照】 1. 赤壁之战(孙权/刘备 vs 曹操):弱势联盟利用气候、火攻、敌方弱点取得战略性胜利。 2. 美团千团大战后期策略:在行业混战时,不盲目扩张,聚焦资源于核心优势区域和环节,最终胜出。 3. 刘邦还定三秦:趁项羽无暇西顾、三秦王统治未稳之机,果断出击,夺取根据地。 【关键变量】 - 时机窗口:市场第一是否出现弱点(如用户不满、创新迟缓)? - 内部共识:团队对“激进”的定义和风险承受力是否一致? - 资源聚焦:能否将优势资源全力投入创新功能? - 用户基础:现有用户的忠诚度能否承受产品方向的较大变化? 【可选路径】 1. 路径A:全力推进激进创新,寻求一战超车。 2. 路径B:暂停激进计划,全面转向用户巩固与体验优化。 3. 路径C:组建独立小团队秘密研发创新功能,同时主版本线保持稳定,根据试点结果决策。 【沙盘推演:以路径A为例】 - 适用条件:你拥有对手不具备的某项核心技术或独特洞察;团队执行力极强且上下同心。 - 短期收益:可能快速吸引市场眼球,获取早期技术爱好者用户,提振团队士气。 - 短期风险:可能因不成熟导致口碑翻车;消耗大量研发资源;若失败会严重打击团队信心。 - 中期演化:成功则可能弯道超车,但会立刻引来第一名的强力反击;失败则可能浪费宝贵时间窗口,让对手拉大差距。 - 最容易失败点:对用户真实需求的判断失误;创新功能本身存在难以克服的技术或体验缺陷。 【借鉴原则】 - “以弱对强,当用奇正”:弱势方不能硬拼,需结合正面巩固(“正”)与出奇创新(“奇”)。 - “上下同欲者胜”(《孙子兵法》):内部共识比战略本身更重要。在分歧巨大时强行推进,失败风险极高。 - “先为不可胜,以待敌之可胜”(《孙子兵法》):先确保自己(现有用户基本盘)不失败,再等待或创造对手犯错的机会。 【边界提醒】 历史案例中的“战争”是零和博弈,而商业竞争可能存在多赢或生态合作空间。当前市场法规、用户隐私要求等也与历史时期完全不同,需充分考虑现代商业伦理与法律边界。通过这样一份报告,你得到的不是一个简单的“该打”或“该守”的建议,而是一张清晰的决策地图。你看到了不同选择背后的历史镜像、关键变量、可能的风险演化,以及需要特别注意的原则和边界。这能极大地辅助你进行更全面、更深入的思考。
5. 开发、测试与高级自定义
对于想要深入了解技能内部机制,甚至进行二次开发的用户,项目提供了完整的开发脚手架和测试套件。
5.1 项目结构与核心代码解析
项目的代码结构清晰,遵循了功能模块化的原则:
LearnFromHistory-skill/ ├─ SKILL.md # 技能的主入口文件,定义了技能的元信息和调用方式 ├─ skill.json # 技能配置文件,包含名称、描述、命令等 ├─ manifest.json # 兼容性清单 ├─ data/ # 核心数据目录 │ ├─ historical_cases.json # 内置的40个历史案例 │ ├─ user_cases.json # 用户自定义案例(初始为空) │ └─ cases.schema.json # 案例数据的JSON模式定义,用于验证 ├─ prompts/ # 存放给AI的提示词模板 ├─ src/ # 源代码 │ ├─ main.py # 命令行主入口,解析参数,调度功能 │ ├─ analyzer.py # 核心分析逻辑:识局、检索、推演 │ ├─ case_manager.py # 案例的加载、检索、新增功能 │ └─ utils.py # 辅助函数 ├─ scripts/ # 实用工具脚本 │ ├─ add_case.py # 新增案例的脚本(支持--stdin) │ ├─ validate_cases.py # 验证案例文件格式 │ ├─ verify_install.py # 验证技能安装是否正确 │ └─ check_release.py # 发布前检查 └─ tests/ # 单元测试目录src/analyzer.py:这是大脑。SituationAnalyzer类负责文本理解,将用户问题归类到预定义的“局面”。HistoryComparator类负责计算当前问题与历史案例在“局面”和“关键变量”上的相似度,进行检索和排序。src/case_manager.py:这是记忆库。CaseManager类负责加载、合并(内置+用户)案例库,并提供根据ID或局面进行检索的接口。add_user_case方法确保了用户案例的安全写入。prompts/目录:这里存放着驱动AI进行深度分析的“提示词引擎”。例如,可能有一个sandbox_simulation.prompt文件,里面定义了如何让AI基于给定的路径和历史案例,生成详细的沙盘推演文本。这些提示词是技能分析质量的保证。
5.2 如何运行测试与贡献代码
项目使用标准的Python测试框架unittest。在贡献代码或修改逻辑前,运行测试是确保一切正常的好习惯。
# 1. 克隆仓库并进入目录 git clone https://github.com/GreatXiaoRY/LearnFromHistory-skill.git cd LearnFromHistory-skill # 2. 创建虚拟环境(推荐) python -m venv .venv # Windows: .venv\Scripts\activate # Linux/Mac: source .venv/bin/activate # 3. 安装依赖 pip install -r requirements.txt # 4. 运行完整的测试与检查套件 # 4.1 验证案例数据格式是否符合schema python scripts/validate_cases.py # 4.2 验证技能安装是否完整(检查必要文件) python scripts/verify_install.py # 4.3 运行所有单元测试 python -m unittest discover -s tests -v # 4.4 进行发布前综合检查 python scripts/check_release.pyGitHub仓库的.github/workflows/ci.yml文件定义了自动化CI流程,每次推送代码都会自动执行上述检查。如果你想贡献新的内置案例或改进分析逻辑,请确保你的代码能通过所有测试。
5.3 高级自定义:修改提示词与调整分析逻辑
技能的分析深度和风格,很大程度上由prompts/目录下的提示词文件决定。高级用户可以通过修改这些提示词来“调教”技能的输出。
例如,你觉得默认的【沙盘推演】部分对“中期演化”分析不够深入,你可以找到对应的提示词模板,在其中增加更具体的引导:
原提示词可能有一句:“分析该路径可能的中期演化。” 你可以修改为:“分析该路径可能的中期演化。请特别考虑:1. 主要利益相关方(如团队成员、合作伙伴、客户)在第3个月、第6个月可能产生的反应。2. 外部竞争环境可能因此发生的变化。”
修改提示词的注意事项:
- 备份原文件:修改前先复制一份。
- 保持结构:确保修改后的提示词依然能产出符合技能预期的结构化文本(如那些
【】标记的章节)。 - 清晰指令:给AI的指令要具体、无歧义。
- 测试效果:修改后,运行几个典型问题,查看输出是否如你所愿。
对于更深入的定制,比如修改“局面”的定义列表,或调整案例相似度的计算算法,则需要直接修改src/analyzer.py中的代码。这需要一定的Python编程能力。
开发心得:技能与Agent的交互协议技能与Claude Code/OpenClaw的交互,本质上是基于文件的。
SKILL.md是主入口,它用特定的Markdown格式描述了技能能做什么、怎么调用。当你在聊天窗口说“请用‘以史为鉴’分析...”,Agent会去查找yi-shi-wei-jian目录下的SKILL.md,然后根据其中定义的命令模式,去执行python src/main.py --question “你的问题”。因此,确保skill.json和SKILL.md中的命令路径正确至关重要。这也是为什么手动安装时必须保持目录名一致的原因。
6. 常见问题、排查与效能提升技巧
在实际使用和开发过程中,你可能会遇到一些问题。以下是一些常见情况的排查方法和让技能更好用的技巧。
6.1 安装与使用问题排查
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| AI助手完全不响应“用以史为鉴”的指令。 | 1. 技能未安装或安装路径错误。 2. 技能目录名不是 yi-shi-wei-jian。3. Agent未重启加载新技能。 | 1. 检查技能是否克隆到正确的skills/目录下。2. 确认文件夹名称完全匹配。 3.彻底关闭并重新启动Claude Code 或 OpenClaw。 |
| AI助手说“找不到技能”或“技能执行错误”。 | 1.skill.json或SKILL.md文件损坏或路径配置错误。2. Python依赖未安装。 3. 案例数据文件格式错误。 | 1. 运行python scripts/verify_install.py检查基本安装。2. 在技能目录下运行 pip install -r requirements.txt。3. 运行 python scripts/validate_cases.py检查数据。 |
| 技能运行了,但输出内容很空洞或格式错乱。 | 1. 提示词文件可能被意外修改。 2. 用户问题描述过于模糊,导致“识局”失败。 | 1. 尝试从原仓库重新拉取prompts/目录下的文件。2. 尝试将你的问题描述得更具体,包含背景、约束条件和目标。例如,不说“团队不好管”,而说“团队有5个老员工形成小团体,抵触我引入的代码评审制度,导致项目延期”。 |
| 新增案例后,技能分析时好像没用到。 | 1. 新增案例的格式不符合schema,未被成功加载。2. 新增案例的 core_situation定义与你的问题不匹配。 | 1. 使用validate_cases.py检查user_cases.json。2. 检查你新增案例的局面标签是否准确。可以用 --question测试一个明确相关的问题。 |
6.2 提升分析质量的实用技巧
要让“以史为鉴”技能发挥最大效用,关键在于如何向它提问以及如何建设你的案例库。
提问技巧:
- 具体化:避免“我该怎么办?”这种泛泛之问。描述具体情境、冲突、目标和约束。“我需要在下季度预算削减15%的情况下,维持核心项目A的进度,同时安抚因此受影响的两个辅助团队。”
- 定义边界:在问题中说明你的权限和不可改变的条件。“作为中层经理,我没有人事任免权,但我需要让跨部门的合作项目在三个月内上线。”
- 主动引导局面:如果你已经对局面有判断,可以在问题中提及。“这感觉像是一个‘以弱对强’和‘争取盟友’的局面,我该怎么做?”
案例库建设技巧:
- 从复盘开始:把你过去一年最重要的3个决策(无论成败)写成案例加入库中。这是最贴合你个人语境的知识库。
- 跨领域类比:不要局限于历史。添加经典的商业案例(如“Netflix从DVD转向流媒体”)、产品案例(如“微信红包奇袭支付宝”)、甚至科幻作品中的战略抉择(如《三体》中的“面壁计划”)。关键在于抽象出“局面”。
- 定期“维护”:每季度回顾一次你的
user_cases.json。随着你认知提升,你可能会对某些案例的key_variables或analysis有新的见解,及时更新。
6.3 技能的限制与未来可能的演进方向
没有任何工具是万能的,“以史为鉴.skill”也有其明确的边界:
- 非预测性:它提供的是基于历史模式的分析和推演,而非精确预测。所有推演都是可能性,而非确定性。
- 依赖输入质量:“垃圾进,垃圾出”。模糊、情绪化的问题描述会导致低质量的分析结果。
- 历史局限性:所有借鉴都必须考虑时代背景的巨大差异。技能中的【边界提醒】模块正是为此而设。
- 理性框架:它侧重于战略和逻辑推演,对文化、情绪、人际关系等非理性因素的量化分析能力较弱。
基于这些限制,这个开源项目也有许多潜在的演进方向,感兴趣的开发者可以参与贡献:
- 多维度变量权重:让用户可以为不同决策场景下的关键变量(如“时间紧迫性”、“资源充足度”)设置权重,让案例检索和推演更个性化。
- 可视化推演图:将沙盘推演的结果,生成类似决策树或影响图的可视化图表,更直观。
- 协同案例库:在保护隐私的前提下,探索安全共享匿名化用户案例的模式,构建更丰富的公共决策案例库。
- 集成外部知识:在用户授权下,安全地连接企业内部知识库(如过往项目复盘文档),自动生成初始案例。
这个技能的本质,是为你提供一个结构化的、受历史启发的思考脚手架。它不能代替你决策,但能极大地拓展你决策时的视野深度和时间维度,帮助你在复杂的现实“局”中,看得更清,想得更远。最终,那把做出选择的钥匙,始终在你自己手中。