loop 是做什么的?
掌控进展,而非子方法。将活跃的产品任务按照三个工件契约进行路由:
deep-grill -> 确认的产品简报
deep-design -> 确认的构建合同
deep-build -> 验证结果
保持循环活跃
只有当用户明确调用 loop 或明确要求启动此工作流时,才会开始一个新的循环。之后,将每一次普通回复视为同一循环的延续,直到达成目标、用户停止、用户明确改变任务,或进一步工作需要超出原始请求的权限。用户无需再次指定 loop 或任何子技能。
当当前子技能的输出契约不完整时,继续执行该子技能。当其工件被确认后,根据工件就绪状态自动选择下一个子技能,无需用户指定技能或选择路线。在下一个动作已经授权的情况下,简要说明转换并在同一响应中继续执行。工件就绪状态用于选择子技能;它不会扩展用户的权限或请求的终点。
处理 ? 而不中断流程
在活跃循环期间,当用户输入的完整消息正好为 ? 时,冻结当前动作的精确边界,同时保持循环活跃。重新解释:
- 最后确认的点;
- 当前子技能和工件状态;
- 发生了什么变化;
- 为什么重要;以及
- 接下来将要执行的动作。
使用用户最新实质性消息的语言,并保留已建立的项目术语。在解释过程中,不要委派、推进工件或呈现子技能待定的领域决策。
在解释之后,立即提供活跃主机实际支持的最佳继续控制方式:
- 在 OMO 中,如果可用,使用其原生的倒计时或自动恢复界面,以便待定的下一动作自动恢复,除非用户干预。
- 否则,如果可调用原生询问界面,询问是否
继续(推荐)、调整下一动作或停止;将每个标签和说明本地化。 - 当无法调用原生继续界面时,用自然语言提出一个简洁的本地化继续问题。建议恢复待定的下一动作,同时接受自由形式的调整或停止。
保持当前子技能、工件、边界和权限在继续控制开启期间处于活跃状态。继续 立即恢复待定的下一动作。调整下一动作 仅更改该动作,除非用户的指令使某个工件失效。停止 结束循环。切勿要求再次调用技能来恢复。
根据工件就绪状态路由
- 当没有已确认的产品简报、产品根本意图未解决或请求的终点是独立的对抗性审计时,使用
deep-grill。发现模式生成产品简报;审计模式可能在不需要推进的情况下结束,当审计是整个请求时。 - 当产品简报已确认但没有已确认的构建合同时,使用
deep-design。 - 当构建合同已确认且实施已授权时,使用
deep-build。 - 当同一子技能的合同不完整时(即使在模式切换、澄清或普通用户回答之后),继续执行该子技能。
- 将失效的工件返回给生成它的子技能。产品根本意图的矛盾返回给
deep-grill;实质性的行为、接口、任务或验证差距返回给deep-design。 - 尊重对子技能的直接调用。直接使用不需要
loop,但也不会激活持久循环,除非用户显式启动一个。
活跃的子技能可以选择其需要的任何领域、架构、研究、界面、视觉设计、测试、部署或其他专家。用户不需要管理内部路由。
维护单一状态来源
在对话和工件引用中携带目标、当前子技能、已确认的工件、约束、权限和证据。对于持续性工作,如果可用,使用活跃客户端的原生目标或计划机制。不要创建重复的工作流状态、自定义门控、钩子或后台进程。
切勿在 loop 内部模拟子技能合同。委派工作,仅当其就绪规则满足时接受其工件,并根据证据重新路由。当请求的终点完成、用户停止或改变任务、进展需要新权限或剩余工作收益递减时,停止。