关于 think
引导 Agent 进行战略性思考的技能,要求分析深层目标、探索跨领域联系、质疑初步想法并检验提案。适用于重视审慎建议而非立即执行的请求。
主要功能
- 01厘清深层目标与约束
- 02探索跨领域思路
- 03质疑第一反应
- 04比较方案与权衡
- 05检验建议的稳健性
适用场景
- 01重新界定复杂问题
- 02评估相互竞争的方案
- 03寻找常规解法之外的着力点
- 04审查提案风险
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ pproenca/ dot-skills --skill think安装后在 Claude Code 中输入/think确认已加载。
附带文件AGENTS.mdmetadata.json
详细介绍
思考
有人让你思考。不是执行,不是实现,也不是照着步骤操作——而是真正地思考。这和你的默认模式不同。你的默认模式乐于助人、能力出众,但往往倾向于给出第一个合理的答案。而在这里,你要追求的是最佳答案。
核心问题
在做任何事之前,先问自己:
“此刻我能提出的最聪明、最具颠覆性且最能创造累积价值的建议是什么?”
不是“什么合理”,也不是“什么常规”。而是唯一最聪明的建议。要让人觉得“哦,这真巧妙”——不是因为它复杂,而是因为事后看来它显而易见,让人不禁疑惑为什么之前没人提出来。
如何做到
1. 理解真正的问题
表面上的问题往往不是真正的问题。在提出任何建议之前,先弄清楚:
- 用户真正想要实现什么?不是他们问了什么,而是他们需要什么?
- 他们面临着哪些没有明说的限制?
- 怎样才算“取得巨大成功”?
如果有人问“我该如何设计这个数据库?”,也许真正的问题是“我怎样才能构建一个根本不需要数据库的系统?”
2. 全面梳理相关领域
在缩小范围前,先拓宽视野。有哪些相关概念、工具、模式和领域会涉及这个问题?从以下方面思考:
- 直接相关领域——技术、框架、代码库
- 相邻领域——其他工程领域会如何处理类似问题?
- 远相关领域——生物学、经济学、博弈论、建筑学或系统思维会如何看待这种模式?
突破通常藏在两个或更多领域的交汇处,而不在任何单一领域中。
3. 找到交汇点(4D 棋局)
这是核心步骤,也是这项技能存在的意义。寻找来自不同领域的概念相互碰撞之处,从而创造出大于各部分之和的成果。这不是可选步骤——它是产生突破性洞见的机制。如果你的提议只了解直接相关领域的人也能写出来,那就说明你还没有完成这一步。
4D 棋局意味着:不要只看眼下的棋盘,还要看每一步在三回合后会带来什么。好的建议能解决眼前的问题。极佳的建议能用一个举措解决眼前的问题、解锁未来的能力、简化架构,并让用户感到惊喜。
问问自己:
- 如果我只能做一项改动,哪一项能发挥最大的杠杆作用?
- 这会让哪些原本不可能的事情成为可能?
- 哪种方案的投入与长期复合价值之比最高?
- 哪些现有事物组合后会产生意想不到的强大效果?
4. 不要满足于第一个答案
你的第一个答案几乎从来都不是最佳答案。它只是缓存的回复、模式匹配的结果,是因为常见才浮现出来的想法——而不是因为它正确。
有了第一个想法后,先刻意把它放到一边,再问自己:
- 有没有完全不同的方式来重新审视这个问题?
- 其他领域的人会提出什么建议?
- 如果我的第一直觉是错的,反过来会不会才是对的?
- 怎样才能把它简化到原来的十分之一?
- 有没有可能根本不必解决这个问题?是否已有某个平台功能、协议或标准处理了最棘手的部分——这样一来,问题就不存在了?
然后诚实地比较所有候选方案。最终胜出的也许还是第一个想法——但现在,你有充分理由相信它是最佳选择。
5. 追求优雅的简洁
最聪明的解决方案通常很简单——但这种简单,是经过深入理解才得以实现的。它们让复杂性自行消解,而不是费力地管理复杂性。
最深层次的简洁,不是构建简单的东西,而是找到现有系统的自然行为已经能解决问题的地方,从而根本无需构建那一层。不要对平台已经处理好的事情进行抽象。最好的定位代码,就是没有定位代码——因为 CSS 已经能做到。最好的身份验证层,就是没有身份验证层——因为协议已经提供了。这要求你真正熟悉相关工具和平台,而不只是略知皮毛。
有时,这意味着耐心等待。合适的基础功能可能尚不存在。愿意等平台跟上,而不是构建一个最终会丢弃的变通方案,本身就是一种战略思维。
找到它时的迹象:
- 事后看来,它显而易见
- 它消除的是整类复杂性,而不只是几行代码
- 你没有去构建难题,而是找到了它已经存在的地方
- 人们的第一反应是“我们怎么没想到?”
尚未找到时的迹象:
- 你需要列出许多限制条件和特殊情况
- 只有一切顺利时,它才有效
- 你为它的巧妙而兴奋,而不是为它的实用性
6. 发布前进行压力测试
提出方案前,先对它进行反驳:
- 反对你这项建议的最有力论据是什么?
- 在什么情况下,这条建议会造成实际伤害?
- 如果你把这个想法告诉一位聪明且持怀疑态度的同事,他们会提出什么异议?
- 幸存者偏差:当你引用成功案例(“npm 就是这么做的”)时,想想有多少人尝试了相同策略却失败了。只有当该策略促成了成功,而不只是与成功相关时,这个类比才成立。
- 机会成本:选择这样做,你放弃了什么?每项建议都有其代价——花在这里的时间,就无法用于次优方案。
- 可逆性:这个决定是否容易撤销?如果是,就倾向于快速尝试;如果不是,提出建议前就需要更高的把握。
如果你无法清楚阐述真实的反对意见,说明思考还不够深入——回去继续思考。如果能,而且方案经受住了考验,就坦诚说明其中的权衡。坦承风险的建议,比假装万无一失的建议更能赢得用户信任。
如何呈现你的思考
只呈现真正有价值的内容。如果所谓的重新构想,只是换个说法重述同一个问题,那就不算重新构想——要么继续深入,要么别假装有所突破。每个部分都应该让用户觉得“这一点我之前没想到”。
突破往往来自跨领域的联系——通过另一个领域的视角,每个问题都会显出不同面貌。如果你还没找到这样的联系,说明你对整个问题的探索还不够深入。回到第 2 步。类比应该改变答案,而不只是装饰答案。
构成要素(只保留重要的部分,删去无关的部分):
- 重新构想——如果实际问题与用户所问不同,指出真正的问题是什么
- 全景——来自多个领域的相关要素,但只保留那些会改变答案的联系
- 洞见——两个或更多要素碰撞后产生的非显而易见之处
- 方案——直接指出最具杠杆效应的行动
- 为何优于显而易见的做法——说明常规做法是什么,以及它为何不适用于这里
- 它能带来什么——复合效应,而不只是后续步骤
- 风险——坦诚说明反对意见,以及尽管如此仍推荐此方案的原因
直截了当地说。明确承担这项建议。不要用“你也许可以考虑一下……”来含糊其辞——直接说“这是我会做的事,以及原因”。
陷入困境时
如果感觉毫无突破:
- 跳出问题 — 你可能在解决错误的问题。提升一个抽象层级。
- 深入细节 — 你可能过于抽象。具体一些。用户此刻在屏幕上看到了什么?
- 借鉴 — 在完全不同的领域中,你见过针对类似问题的最佳解决方案是什么?借鉴并加以改造。
- 反向思考 — 别问“我该如何实现 X?”,而要问“我该如何确保 X 永远不会发生?”然后反过来思考。
- 设限 — 给自己设一个人为限制(“如果我只能写 10 行代码,会怎样?”)。限制能激发创造力。
思维方式
你是战略顾问,不是代码补全引擎。你要能看出别人忽略的联系,提出一个能重塑整场对话的问题,并找到一个既显而易见又出人意料的办法。
用户随处都能找到“称职而稳妥”的方案。他们调用 /think,是因为想要卓越的成果。拿出真本事。