新建任务工具

工具和上下文管理策略

概述

Cline-胜算云增强版 包括一个强大的内部工具 new_task,旨在帮助管理工作流连续性和上下文保留,尤其是在复杂或长时间运行的任务期间。此工具与 Cline 对自身上下文窗口使用情况的感知以及 .clinerules 的灵活性相结合,支持分解工作并确保任务会话之间无缝过渡的复杂策略。

了解核心功能以及它们如何与自定义规则交互是有效利用此功能的关键。

核心能力

两个基本功能支持高级上下文管理:

  1. new_task 工具:

    • 功能: 允许 Cline 在用户批准后结束当前任务会话并立即启动新的任务会话。

    • 上下文预加载: 至关重要的是,Cline 可以在工具的 <context> 块中提供特定上下文来预加载这个新的任务会话。此上下文可以是 Cline 或 .clinerules 文件定义的任何内容 - 摘要、代码片段、后续步骤、项目状态等。

  2. 上下文窗口感知:

    • 跟踪:Cline 在内部跟踪任务期间当前使用的可用上下文窗口的百分比。

    • 能见度: 此信息显示在提示符中提供给 Cline 的 environment_details 中。

默认行为(不带 .clinerules

默认情况下,没有特定的 .clinerules 规定其行为:

  • 工具可用性:new_task 工具存在,Cline 可以选择使用它。

  • 情境感知:Cline 知道其上下文使用百分比。

  • 无自动触发:Cline 不会根据上下文使用率达到特定百分比(如 50%)自动启动任务移交。建议使用 new_task 的决定来自 AI 模型基于整体任务进度和提示说明的推理。

  • 基本上下文预加载: 如果使用 new_task 时没有定义 <context> 块结构的特定规则,则 Cline 将尝试根据其当前的理解(例如,进度和后续步骤的基本摘要)预加载相关信息,但这可能不如规则驱动的方法全面。

.clinerules 的强大功能:启用自定义工作流程

虽然默认情况下存在核心功能,但当您将 new_task 和上下文感知与 .clinerules 中定义的自定义工作流相结合时,真正的功能、自动化和自定义就会显现出来。这使您可以精确控制 Cline 管理上下文和任务连续性的时间和方式

.clinerulesnew_task 结合使用的主要好处:

  • 自动化上下文管理: 定义规则以在特定上下文百分比(例如,>50%、>70%)或令牌计数时自动触发切换,从而确保最佳性能并防止上下文丢失。

  • 特定于模型的优化: 根据不同 LLMs(例如,对于已知降级超过特定令牌计数的模型,提前触发切换触发器)。

  • 智能断点: 通过规则指示 Cline 在通过上下文阈值查找逻辑停止点(例如,在完成函数或测试后),确保更清晰的切换。

  • 结构化任务分解: 使用计划模式定义子任务,然后使用 .clinerules 让 Cline 在完成每个子任务时通过 new_task 自动创建新任务,为下一个子任务预加载上下文。

  • 自定义上下文打包:.clinerules 中强制要求 <context> 块的确切结构和内容,以实现高度详细和一致的切换(请参阅下面的示例)。

  • 改进的内存持久性: 使用 new_task 上下文块作为跨会话持久保存信息的主要集成方式,从而可能取代或补充基于文件的内存系统。

  • 工作流程自动化: 为特定场景定义规则,例如在启动特定类型的任务时始终预加载某些设置说明或项目样板。

规则驱动型工作流示例:任务移交流程

由特定 .clinerules 驱动的常见工作流( 如下例) 涉及以下步骤:

  1. 触发器识别(基于规则):Cline 监控规则中定义的切换点(例如,上下文使用情况> 50%、任务完成)。

  2. 用户确认:Cline 使用 ask_followup_question 来建议创建新任务,通常显示规则定义的预期上下文。

  3. 用户控制: 在创建新任务之前,您可以批准、拒绝或要求 Cline 修改上下文。

  4. 上下文打包(new_task 工具): 如果获得批准,Cline 将使用 new_task,并根据 .clinerules 规定的结构打包上下文。

  5. 新任务创建: 当前任务结束,新会话立即开始,并预加载了指定的上下文。

Handoff 上下文块(规则定义的结构)

规则驱动的切换的有效性在很大程度上取决于 .clinerules 如何定义 <context> 块。全面的结构通常包括:

  • 已完成的工作 :成就的详细列表、修改/创建的文件、关键决策。

  • 当前状态 :项目状态、正在运行的进程、关键文件状态。

  • 下一步 :清晰、优先的剩余任务列表、实施细节、已知挑战。

  • 参考信息 :链接、代码片段、模式、用户首选项。

  • 可行的开始: 立即执行下一步作的明确指示。

可能的用例和工作流程

new_task.clinerules 相结合的灵活性开辟了许多可能性:

  • 主动上下文窗口管理: 以特定百分比(例如 50%、70%)或令牌计数自动触发切换,以保持最佳性能。

  • 智能断点: 指示 Cline 在通过上下文阈值找到逻辑停止点(例如,在完成函数或测试后),确保更清晰的切换。

  • 结构化任务分解: 使用计划模式定义子任务,然后使用 .clinerules 让 Cline 在完成每个子任务时通过 new_task 自动创建新任务。

  • 自动会话摘要:<context> 块配置为始终包含上一会话的关键讨论点的摘要。

  • 预加载样板/设置: 启动与预加载了标准设置说明或文件模板的特定项目相关的新任务。

  • "“内存银行”替代方案: 使用 new_task 上下文块作为跨会话持久保存信息的主要方式,从而可能取代基于文件的内存系统。

我们鼓励尝试使用 .clinerules 以发现最适合您需求的工作流程!

示例 .clinerules:任务切换策略指南

下面是一个示例 .clinerules 文件,专门用于使用 new_task 进行上下文窗口管理。 请记住,这只是一种特定的策略;核心 new_task 工具可以与其他自定义规则以不同的方式使用。

Last updated