ADHD:编码代理的并行发散思维技能
通过树状思维与剪枝,在隔离认知框架下并行生成创意,避免早期收敛。
证据显示:生成查询禁用所有内置工具(tests/llm.test.ts),符合最小权限;但用户确认机制未明确,数据流透明度有限,敏感数据处理未说明,依赖安全未审计,外部影响(如网络调用)未明确,回滚机制缺失,来源归属有MIT归属但未验证。扣分原因:用户确认、数据流、敏感数据、依赖安全、外部影响、回滚证据不足。
证据显示:README与代码一致,依赖版本固定(package.json),CI覆盖多Node版本;但失败消息未详细说明。扣分原因:失败消息证据不足。
证据显示:明确目标受众(编码代理)和场景(设计决策、模糊调试等),能力边界有文档(when-to-use),触发方式明确(/adhd),环境适配广泛(多种代理)。扣分原因:无重大缺陷,但部分细节未验证。
证据显示:文档结构清晰(README、documentation/),安装说明详细,命名稳定(adhd-agent),示例丰富,已知限制有文档,MIT许可证,版本号存在但无changelog,维护责任明确(作者)。扣分原因:无changelog。
证据显示:输出结构清晰(shortlist、traps等),边际价值有对比数据,成本效益有讨论(时间/输出成本)。扣分原因:无重大缺陷,但成本数据依赖外部评测。
证据显示:声明有文档支持(evals.md),外部评测交叉验证,事实与推断分离(方法论明确)。扣分原因:无重大缺陷。
- 发布者身份未验证,来源归属仅基于MIT声明。
- 依赖安全未审计,建议检查依赖漏洞。
- 用户确认机制不明确,可能自动执行操作。
- 回滚机制缺失,变更可能难以撤销。
这个 Agent 能做什么,适合哪些场景?
ADHD 是一种针对编码代理的技能,旨在解决自回归推理中的过早收敛问题。它通过并行启动多个隔离的推理过程,每个过程采用不同的认知框架,强制进行发散思维,然后通过独立的批评者阶段进行评分、聚类、剪枝和深化,最终输出优胜方案。该技能实现了两阶段循环:发散(Diverge)与聚焦(Focus)。发散阶段将问题与认知框架结合,生成多个无共享上下文的独立思路;聚焦阶段则用单独的LLM调用对所有想法进行新颖性、可行性和契合度评分,并标记陷阱、聚类深化。ADHD 提供 CLI、TypeScript 库和预构建的技能包,支持一键安装到 Claude Code、Codex 等约50种代理。评测显示ADHD在广度、新颖性、陷阱检测等方面显著优于单次基线。该项目由 Udit Akhouri 维护,已有 repowire、mstack 等开源项目采用。
ADHD 运行一个两阶段的循环。在发散阶段,它根据问题选择多个认知框架,为每个框架调用独立的编码代理实例,这些实例只看到问题和一个框架提示,且系统提示禁止评估,因此彼此隔离、无共享上下文。在聚焦阶段,它运行一个独立的批评者LLM调用,对发散阶段产生的所有想法进行创新性、可行性和契合度评分,标记陷阱并提供原因,按潜在角度聚类,并对排名靠前的想法进行深化,输出包含风险、第一步的简要方案。最终输出包括 shortlist、nonObviousPick、traps、deepened 和 clusters 等结构化结果。整个流程通过 TypeScript 库暴露为 run() 和 renderText() 函数,并提供 CLI 命令 adhd。该技能独立于具体任务,适用于设计决策、模糊调试、命名、API设计等。
- 当需要设计一个替代方案时,例如设计一个能经受领导者选举的限流器,利用ADHD生成多样化的思路。
- 当面临模糊且难以调试的问题时,例如CLI调用LLM有时挂起90秒,ADHD能提供非显而易见的解决方案。
- 当为API或函数命名时,通过并行框架生成创意名称,避免思维定势。
- 在进行架构设计或策略规划时,利用ADHD探索不同认知框架下的多种可能性,减少过早收敛。
- 当需要评估新想法的陷阱时,使用ADHD的聚焦阶段自动标记陷阱,避免投入无效工程时间。
- 当需要构建新的代理技能时,参考ADHD的生成器-批评者分离模式,将其作为独立的提示或框架集成到其他工作流中。
这个 Agent 有哪些优点和局限?
- 显著提高想法多样性:评测中广度提升到9.0,比基线高约1.9倍。
- 强大的陷阱检测能力:陷阱检测得分9.5,比基线高5.2倍,能自动标记看似合理但有害的想法。
- 新颖性突出:在模糊问题上能产生基线未覆盖的非显而易见方案,如'rage-quit'思路。
- 提供CLI、库和技能包等多种集成方式,支持约50种代理,部署灵活。
- 有预印本和文档支持,方法有理论依据,且被多个开源项目采用,社区活跃。
- 计算成本高:相比单次推理,ADHD需要多次LLM调用,耗时约2.3倍,输出约1.9倍,费用相应增加。
- 依赖外部LLM API:需要网络连接和有效的API密钥,无法离线使用。
- 仅针对Claude Code和Codex提供完整的一键安装,其他代理可能需要手动配置。
- 技能描述为单行,某些Codex构建可能截断,但已通过安装路径解决。
- 可能存在过度设计风险:对于简单问题,发散和聚焦过程可能比直接推理更慢且不必要。
如何安装或部署这个 Agent?
首先确保已安装Node.js 18及以上版本。然后通过npm全局安装CLI:npm install -g adhd-agent。或者在项目中作为库安装:npm install adhd-agent。对于Claude Code、Codex等代理,推荐使用技能安装命令:npx skills add UditAkhourii/adhd,该命令会自动检测代理类型。如果Codex无法自动发现,可强制指定:npx skills add UditAkhourii/adhd -a codex -g,或手动复制SKILL.md到~/.codex/skills/adhd/目录。
如何使用这个 Agent?
在CLI中,直接运行adhd "your problem"即可开始发散思维。例如:adhd "design a rate limiter"。可通过--frames、--ideas、--top参数调整发散帧数、想法数量和最终输出数量。在TypeScript中,导入run和renderText函数:const result = await run({ problem: "...", framesPerRun: 5, topK: 3 }); console.log(renderText(result)); 结果包含shortlist、nonObviousPick、traps、deepened、clusters等字段。在支持的代理中,使用/adhd "你的问题"调用技能。