ce-ideate
发现值得探索的强大、合格的方向——跨越任何领域——然后让其余的消失。
ce-ideate 是上游发现技能。当你还没有一个具体的想法时——当问题是“哪些方向在这里更重要?”时,你就会到达这里。而不是“让我改进我已有的”。它首先做功课(并行基础代理从你的代码库、过去的学习、开放网络上的外部现有技术以及可选的 Slack 和你的问题跟踪器中提取),从六个不同的概念框架生成候选者,要求每个想法都有一个标记的基础,并且只呈现对抗性批评的幸存者 - 以及被拒绝的明确原因。
它在软件主题、产品主题和完全非软件主题(命名、叙述、个人决策、周末旅行、商业策略)上同样运行良好。相同的生成-批评-生存引擎;基础要求相同;同样的防溢漏纪律。
这是复合工程构思链的第一步:
/ce-ideate /ce-brainstorm /ce-plan /ce-work
"What's worth "What does this "What's needed "Build it."
exploring?" need to be?" to accomplish
this?"
该链跨域工作——每一步都支持通用模式。 ce-ideate 是上游“找到强有力的候选者”步骤,但它本身就是一个完整的循环。
TL;DR
| 问题 | 回答 |
|---|---|
| 它有什么作用? | 以真实材料为基础,将主题分解为正交轴,在分布在这些轴上的六个概念框架中生成候选者,对它们进行对抗性批评,呈现 5-7 个幸存者 - 每个幸存者都有一个标记的基础 |
| 何时使用它 | 全新探索、大局思考、代码库审计、令人惊讶的运行、命名、决策、业务策略——任何您想要合格候选集而不是精致想法的领域 |
| 它生产什么 | 默认情况下,排名构思工件编写为单个独立的 HTML 文件(人类是观众 - 丰富,可在浏览器中打开);通过 output:md 进行降价。自动写入 docs/ideation/(如果存在),否则在 /tmp/compound-engineering/ 下声明临时路径 |
接下来是什么? /ce-brainstorm 在选定的幸存者上,首先迭代一个,或者只保留保存的文件 |
## 问题
问人工智能“这里有什么值得探索的?”通常返回:
- 听起来似乎有道理的子弹,但与实际主题无关
- 前三个明显的框架并没有什么令人惊讶的
- 一个扁平的列表,没有关于哪个方向是强方向还是填充方向的信号
- 没有考虑和拒绝内容的记录
- 无法审核其依据——每项主张听起来都很有信心,但没有引用证据
解决方案
ce-ideate 将落地、生成、批评和选择分离为离散阶段——质量机制是明确拒绝原因,而不是乐观排名。
- 接地代理首先要做功课——代码库扫描、过去的经验、外部现有技术、可选的 Slack 和问题情报
- 主题被分解为 3-5 个源自基础的正交轴 — 子代理必须涵盖主题的哪些方面,与他们的想法不同*
- 六个并行的构思子代理从不同的概念框架工作,每个子代理将想法传播到各个轴上
- 每个想法都必须带有标记的基础 - 直接证据,命名的外部现有技术,或书面的第一原则论证
- 没有根据的想法被拒绝;所预防的故障模式是“AI slop”
- 幸存者根据一致的评分标准进行评分,并呈现出缺点和信心
- 拒绝摘要显示了考虑和削减的内容
是什么让它如此新颖
1. 在产生任何想法之前进行全面的基础
每次运行都从提供实质想法的并行基础代理开始,这些代理将符合代码库扫描(在回购模式下)、从 docs/solutions/ 过去的机构学习、通过网络研究获得的外部现有技术以及可选的 Slack 和问题智能(当这些工具可用时)。在回购模式下,廉价的证据侦察然后加深基础:每个主题轴一个,每个轴返回一份逐字引用和 file:line 指针的档案,因此构思代理引用真实的代码而不是解释的摘要。 外部现有技术至关重要:没有它,代理只是重新混合代码库或头脑中已有的内容。有了它,想法可以引用“这就是 X 解决这个问题的方法”——具体的、可验证的、命名的先例。您还可以自行运行研究:将提示指向研究工件(社交聆听报告、调查导出、分析转储),然后廉价代理将其提炼成可引用的证据档案——用它无法到达的源类来丰富网络研究,而不是取代它。
2. 基本要求——每个想法都引用其证据
每个幸存的候选者都带有一个标记基础:direct:(引用的证据)、external:(命名为现有技术)或reasoned:(写出的第一原理论证,而不是手势)。听起来有道理但没有根据的猜测被拒绝。 **全面接地+基础要求,就是双重防倾斜机制。 ** 缺一不可:接地无基础,猜测有根据;没有基础,则有理有据。没有基础的基础给出了听起来很聪明的合理化。
3.六帧发散生成
并行子代理涵盖六个生成框架:疼痛与摩擦、反转/移除/自动化、假设打破、杠杆与复合、跨域类比和约束翻转。单一提示的构思会陷入代理最训练有素的方向——不同的框架会带来真正的广度,尤其是跨领域的类比和约束翻转,而这些表面的想法是单一提示所无法做到的。该机群是成本分层的:证据驱动的框架在中层模型上运行(档案负责繁重的工作),而天花板框架(强模型的推理是产品)继承了对话的模型。说 go deep 将整个舰队提升到顶级。
4.主题表面分解——轴覆盖作为调度不变量
框架决定“如何思考”某个主题; 轴决定思考主题的哪一部分。在帧调度之前,编排器将主题分解为源自基础的 3-5 个正交轴(例如,对于“社交共享”——发送、发现、到达、复合、参与者类型)。然后,每个帧都被指示将其想法传播到各个轴上,并且在生成后进行轴覆盖检查以捕获盲点 - 如果任何轴的想法为零,则有界恢复调度会填充它。这可以防止失败模式:六个镜头集中在对某个主题最显着的解释上,而完全忽略了其表面的其余部分。原子主题(名称、口号)和令人惊喜的运行完全跳过分解。
5. 具有明确拒绝原因的对抗性过滤
批评分为两个层面。一个新鲜上下文验证者——一个从未见过这一代的代理人——试图反驳每个候选人:引用的引文是否确实存在,指定的现有技术是否真实,论点是否成立?然后,协调者根据一致的标准——基础性、基础强度、预期价值、新颖性、实用性、影响力、实施负担、重叠——对最终的削减进行仲裁。每次拒绝都会伴随着一行字的原因。幸存者会与拒绝摘要一起呈现,以便您了解考虑和削减的内容。
6. 三种模式——软件、软件产品和完全非软件
相同的生成-批评-生存机制运行在非常不同的主题领域:代码库中的内容、存储库之外的软件产品(页面、应用程序、流程)或根本没有软件表面的主题(命名、叙述、个人决策、业务策略)。在非软件模式下,与领域无关的促进者接管 - 相同的六个框架,相同的基本要求,相同的批评,但采用领域本地语言。
7. 惊喜模式 — 无需主题
/ce-ideate "surprise me" 完全跳过主题步骤。子代理从基础材料中发现自己的主题。不同的框架发现不同的主题是特征,而不是错误——跨发现的主题的横切组合通常会产生最强烈的想法。
8.问题跟踪器意图
像“用户报告的内容”或“最大的问题模式”这样的短语会触发问题智能代理,该代理会提取真正的 GitHub 问题并将集群主题输入到构思框架中。
简单示例
您从代码存储库内部调用 ce-ideate "DX improvements" 。该代理商宣布将派遣约 13 名代理商(大多数是廉价级别的代理商),并提供跳过短语以控制成本。
接地代理同时返回——代码库摘要、相关的过去的学习、关于开发人员体验模式的外部现有技术。协调器将主题分解为源自该基础的 4-5 个轴(例如,“DX 改进”——反馈循环、环境摩擦、工具人体工程学、知识可访问性、自动化表面),然后廉价的证据侦察员收集每个轴的引用和指针档案。涵盖六个框架的五个构思子代理根据该证据生成候选者,每个想法都标有其目标轴,并在提交前根据实际文件进行验证。协调器将 40 多个候选者合并到一个列表中,综合横切组合,运行轴覆盖检查(任何空轴都会触发一个有界恢复调度),并运行两层批判传递 - 一个新鲜上下文验证者尝试反驳每个候选者,然后协调器进行最终切割。大约有 13 个想法因过于模糊、不合理、被驳斥或重复而被删除。
完整的交付成果——所有七张卡片,包括基础、理由、缺点、信心、复杂性以及拒绝摘要——将自动写入一个独立的 HTML 文件并在浏览器中打开;会话本身仅显示简洁的排名摘要和路径,因此您可以阅读丰富的版本,而不是终端文本墙。然后是一个包含四个选项的后续步骤菜单:在浏览器中打开它,使用 ce-brainstorm 集思广益,迭代一个想法(调整或询问,留在这里),或者完成。 (Markdown 将“在浏览器中打开”交换为“在 Proof 中打开并迭代”。)
何时去实现它
在以下情况下使用 ce-ideate:
- 你还没有一个具体的想法——你想要的是强大的、合格的候选人,而不是完善一个
- 想法是新领域或大局
- 您想要探索一个重点领域,但尚未确定方向
- 你想要一个令人惊讶的方向 (
surprise me) - 您想挖掘问题跟踪器的模式
- 该主题完全与软件无关
在以下情况下跳过 ce-ideate:
- 您已经有了特定的功能或决定 →
/ce-brainstorm - 需求已准备就绪,您需要执行护栏 →
/ce-plan - 您正在调试一个已知错误 →
/ce-debug
用作链式工作流程的一部分
/ce-ideate "What's worth exploring?"
|
| chosen survivor (with basis + rationale)
v
/ce-brainstorm "What does this need to be?"
|
| requirements / brief (R-IDs, A-IDs, F-IDs, AE-IDs in software mode)
v
/ce-plan "What's needed to accomplish this?"
|
| structured plan (U-IDs, files, test scenarios — guardrails, not code)
v
/ce-work "Build it."
每个工件都是下一个工件的结构化输入:幸存者的基础作为头脑风暴的证据基础;头脑风暴的决策符合计划的要求和范围;该计划的 U-ID 和测试场景成为 ce-work 执行的护栏。当您在后续步骤菜单中选择“集思广益一个想法”时,ce-brainstorm 会加载该想法作为物质种子(其基础、基本原理和权衡)——构思文件已保存。
该连锁店也在非软件领域运行——周末旅行方向的构思引发了一场定义旅行的头脑风暴,从而产生了一个将预订、打包和行程构建为护栏的计划。
使用独立版
ce-ideate 本身就是一个完整的构思周期 - 它产生一个经过排序的、经过推理的想法集作为保存的文件,您可以打开、共享、集思广益或丢弃。
软件:
- 代码库审计 —
/ce-ideate "what to improve in this repo"(与STRATEGY.md配对以实现策略一致的权重) - 问题分类 —
/ce-ideate "biggest issue themes in the last quarter" - 定价或定位理念 —
/ce-ideate "pricing page A/B test ideas" - Surprise-me 在任何主题上运行 —
/ce-ideate "surprise me"来自任何存储库内部
非软件:
- 命名 — 咖啡店、婴儿名字、产品、品牌
- 个人决定 — 职业选择、休假目的地
- 情节或叙事构思 — 短篇故事方向、人物节奏
- 业务战略 — 进入市场、针对竞争对手进行定位
- 旅行和活动 — 旅行主题、婚礼场地概念
可交付成果是自动编写的——您无需询问。如果运行纯粹是探索性的,并且您不希望保留它,请说“放弃”,文件就会被删除。
## 参考
| 论证 | 效果 |
|---|---|
| (空) | 开放式;询问一个主题或路线来给我一个惊喜 |
<concept> |
<concept>例如,DX improvements、auth quality |
<path> |
要关注的目录或文件 |
<constraint> |
例如,low-complexity quick wins、polish-only |
surprise me |
给我惊喜模式 |
go deep |
最大深度:每个构思代理都在顶级模型上运行,验证预算加倍,第二个评论家加入过滤通道 |
top issue themes in <area> |
触发问题跟踪器意图 |
output:md |
output:md将工件编写为 markdown,而不是默认的独立 HTML(output:html 显式强制 HTML)。也可通过 .compound-engineering/config.local.yaml 中的 ideate_output 设置每个项目 |
提示中任意位置支持的跳过短语:no external research、no slack。
## 常问问题
为什么是六帧?为什么不只是一个“给我想法”提示? 单提示构思会陷入代理最受过训练的方向。不同的框架迫使真正的广度——跨领域类比和约束翻转特定的表面想法,这是任何单一提示都做不到的。
为什么有基本要求?这不就是AI挥手吗? 如果没有基础,听起来似乎合理的想法就会未经过滤就通过。基本要求意味着每个幸存者都引用真实的证据、真实的现有技术或书面论证。你可以审核一下。
它真的适用于非软件主题吗? 是的。同样的“生成-批评-生存”引擎以领域本机语言运行,用于命名、叙述、个人决策和业务策略。代码库基础被用户上下文综合和外部研究所取代。
如果我想在进行头脑风暴之前调整一个想法怎么办? 选择“迭代一个想法”——命名该想法以及您想要如何改变它(调整其范围、提出问题、更深入)。调整更新保存的文件;纯粹的问答则不然。该文件是自动写入的,因此如果您不想保留它,只需说“丢弃”即可。
如果我的提示不明确怎么办?
当提示仅涉及一种质量(improvements、quick wins)而不是具体事物时,主体识别门会提出一个范围问题。 “给我惊喜”是一个真正的选择,而不是后备方案。
另请参阅
ce-brainstorm— 一旦你选择了幸存者,集思广益将所选方向写入需求文档ce-plan— 一旦需求明确,就规划实施ce-strategy— 将构思锚定到记录在案的产品策略ce-doc-review— 检查保存的构思工件的清晰度和完整性(仅 Markdown 输出 — 首先使用output:md运行)ce-proof— 在 Proof 中打开工件以进行协作迭代(仅 Markdown 输出 — Proof 无法提取 HTML)