运行时依赖
版本
何时创建新技能
安装命令
点击复制技能文档
好奇循环(Curiosity Loop)— 内在好奇驱动的持续学习概述 一个自我改进框架,将知识缺口和失败结果转化为结构化的学习循环。灵感来自Flowers Lab、INRIA和Cédric Colas的开发性AI研究。好奇循环将失败视为好奇信号,而不是错误,促进主动探索、技能更新和课程建设。这种持续的自我改进循环使得代理在其领域中逐渐改进。
核心概念(来自开发性AI) 概念 来源 应用 自动课程学习(ACL) Portolas et al.(Flowers Lab) 结构化进步,而不是随机学习 自主活动 Vygotsky / Colas 为学习而学习 —— 内在动机 最近发展区(ZPD) Vygotsky 学习“刚好超出”当前能力 Map-Elites / 行为多样性 Mouret & Clune 最大化多样性,而不是单一优化 语义干扰 Flowers Lab(CLIP研究) 偏见揭示表示限制
何时激活好奇循环 激活信号(一次优先激活一个) 结果差异:响应/操作没有产生预期效果 迭代循环:用户重复相同的更正2+次 不完整的知识:检测缺失信息以获得正确答案 次优方法:识别更好的方法存在 知识扫描:通过周期性扫描发现新概念/工具 不激活好奇循环的情况 结果正确且令人满意(无差异) 用户没有表达改进的需求 上下文是琐碎的(不值得学习循环)
循环 —— 6个编号步骤 步骤1:操作(ACTION) 使用当前知识尝试解决问题。 步骤2:差异(DELTA) 确定预期和实际结果之间的差异。 步骤3:好奇(CURIOSITY) 将差异视为学习信号,而不是失败。 步骤4:研究(RESEARCH) 主动探索缺失的概念。 步骤5:集成(INTEGRATION) 更新知识/技能。 步骤6:课程(CURRICULUM) 结构化学习为渐进式里程碑。
差异跟踪 在~/.hermes/deltas.json中跟踪所有差异,以便审计和定期审查。
多样性政策(Map-Elites) 多样性规则 当找到问题类型的有效模式时,也: 记录模式在技能中 识别1-2个替代方法(即使不那么优化) 周期性多样性扫描 每~30天检查: 哪些模式我很少或从不使用? 是否有我只有一个方法的领域? 哪些技能可以被丰富?
具体示例 示例1:Browser Playwright在NixOS上破损 差异:浏览器工具没有工作(缺失共享库) 好奇:为什么?有什么替代方法? 研究:发现Obscura作为无头浏览器的替代品 集成:创建obscura-browser技能,保存事实到内存 课程:学习Obscura命令的顺序:fetch → serve → scrape → stop
示例2:himalaya安装没有nix-shell 差异:himalaya直接工作,没有nix-shell 好奇:它如何安装?在哪里? 研究:验证二进制位置和配置 集成:保存到内存:“himalaya直接安装,不需要nix-shell”
示例3:使用tirith进行命令验证 差异:需要在执行之前验证shell命令 好奇:什么工具验证命令安全? 研究:发现tirith和vet用于命令验证 集成:在内存中记录使用验证工具用于shell命令
周期性知识扫描 好奇循环包括一个内置机制,用于主动知识发现。 在~/.hermes/deltas.json中配置源: { "scan_sources": [ { "name": "Flowers INRIA", "type": "youtube_channel",