Skip to content

attempt_completion

attempt_completion 工具用于向系统和用户标识 VJSP 判定当前任务已完成,并向用户呈现任务成果。该工具会对已完成的工作内容进行汇总,可选择性附带成果演示的命令行指令,同时支持基于用户反馈对成果进行持续优化。

参数说明

本工具接收以下参数:

  • result(必填):任务成果描述,用于汇总已完成的工作内容
  • command(可选):用于执行并演示任务成果的命令行界面(CLI)指令

核心功能

本工具通过呈现任务完成的最终汇总信息,标记任务流程的结束,向用户和系统双向传递当前任务已完成的信号。若配置了演示指令,可通过指令的实时执行直观展示任务成果。

适用场景

  • VJSP 判定用户的目标任务已全部完成时
  • 需汇总任务执行过程中产生的变更、优化点时
  • 需通过命令行指令执行,直观演示任务成果时
  • 需为用户提供成果反馈的节点,便于用户对解决方案提出意见时
  • 任务从当前执行阶段向潜在的成果优化阶段过渡时

关键特性

  • 明确向系统和用户传递 VJSP 判定任务完成的信号
  • 以简洁的文案汇总任务完成的全部工作内容
  • 支持通过命令行指令执行,可视化演示任务成果
  • 支持接收用户反馈,基于反馈对成果进行后续优化
  • 以区别于普通消息的专属 UI 格式展示任务成果
  • 采集任务完成的遥测数据,为系统分析提供数据支撑
  • 通过设置反馈节点,维持对话流程的结构化推进
  • 支持复杂工作流中子任务完成的提报与标识
  • 确保用户清晰接收任务执行的完整成果汇总
  • 归属全局可用工具集,在 VJSP 所有运行模式下均可调用

限制说明

  • 需在确认前期调用的所有工具执行成功后使用(该要求为规范准则,非程序强制约束)
  • 成果演示仅支持配置单个命令行指令,不支持多指令配置
  • 无法为成果演示提供多个指令选项供用户选择
  • 配置的演示指令需经过用户确认授权后方可执行
  • 仅支持演示可通过命令行指令执行呈现的任务成果
  • 不可用于任务部分完成的进度提报或阶段性更新
  • 成果文本在内部处理过程中,会自动过滤 XML 闭合标签

执行流程

调用attempt_completion工具后,系统将按以下流程执行:

  1. 安全性校验(规范准则,非程序强制约束)

    • 由AI完成前期调用工具的执行结果校验,确认所有前置工具执行成功
    • 该步骤为最佳实践规范,无程序化的强制校验机制
  2. 成果信息呈现

    • 以专属的completion_result UI格式向用户展示任务完成的汇总信息
    • 调用removeClosingTag函数,自动过滤成果文本中的 XML 闭合标签
    • 采用与普通消息差异化的展示形式,实现视觉上的成果标识区分
  3. 演示指令执行(配置command参数时触发)

    • 先向用户发起指令执行的授权请求,获取用户确认
    • 仅在用户授权后,执行配置的命令行演示指令
    • 调用系统的命令执行能力,运行演示指令
    • 将指令的执行结果完整展示给用户
  4. 反馈信息采集

    • 进入反馈等待状态,接收用户对任务成果的评价与优化建议
    • 对用户反馈进行结构化处理,并回传给 VJSP 的核心推理模块
    • 基于用户反馈,启动成果的后续优化流程
  5. 任务收尾与流程延续

    • 在系统中标记当前任务已完成的状态
    • 采集并存储该任务的完成遥测数据
    • 若为子任务提报,向用户提供完成子任务并恢复父任务执行的选项
    • 通过反馈机制,支持对话流程的持续推进与成果的迭代优化
  6. 工程实现集成

    • 工具的执行结果通过系统解析机制(parse-assistant-message.ts脚本)完成解析
    • 工具归属ALWAYS_AVAILABLE_TOOLS常量定义的工具集,实现全模式全局可用

成果文本编写规范

成果描述(result)的文案需遵循以下准则:

  • 清晰、准确传递已完成的工作内容,无信息模糊或遗漏
  • 保证文案简洁性的同时,确保成果信息的完整性
  • 核心聚焦为用户交付的价值,突出任务成果对用户需求的满足
  • 避免无意义的客套语、冗余填充性文字
  • 保持专业、直接的技术沟通语气
  • 采用易扫描、易理解的表述形式(如分点罗列)
  • 明确提示用户:可针对成果提出反馈,便于后续进行优化

注意:系统会通过removeClosingTag函数,自动过滤成果文本中的所有 XML 闭合标签,编写时无需额外处理。

演示指令选择规范

配置演示指令(command)时,需遵循以下准则:

  • 优先选择能可视化演示任务成果的指令,直观呈现执行效果
  • 优先选择能展示成果创建/修改结果的指令,贴合用户感知
  • 推荐使用的指令示例:
    • open index.html:打开已创建的网页成果
    • npm start:启动开发服务器,运行前端应用成果
    • python app.py:执行已编写的 Python 应用脚本
  • 避免使用仅用于文本打印的指令(如echocat
  • 需明确:所有配置的演示指令,均需经过用户授权后方可执行
  • 确保指令的跨系统兼容性,适配用户的操作系统环境

反馈机制与UI展示

attempt_completion工具具备专属的成果反馈机制,核心特性如下:

  • 任务成果以专属的completion_result UI格式展示,与普通消息形成视觉区分
  • 工具执行后,系统将进入反馈等待状态,直至接收用户的成果评价
  • 用户反馈经结构化处理后,回传给 VJSP 核心模块,支撑成果的后续优化
  • 形成成果提报→用户反馈→成果优化的迭代循环,而非直接终止对话
  • 前端UI会提供专属的交互组件,便于用户提交成果反馈
  • 成果提报节点作为对话流程的清晰里程碑,支撑结构化的对话推进

子任务提报的特殊处理

当工具用于子任务完成提报时,系统将提供专属能力:

  • 向用户展示完成当前子任务并恢复父任务执行的选项
  • 若用户确认,将对当前子任务进行成果汇总并标记为已完成
  • 父任务将基于子任务的完成成果,恢复执行流程并继承上下文信息
  • 实现复杂嵌套工作流的上下文保持与流程连贯推进

应用示例

仅提报成果汇总(无演示指令)

<attempt_completion>
<result>
已完成导航栏的CSS样式更新,完全匹配设计稿要求,具体变更如下:
1. 配色方案升级,适配新版品牌色值规范
2. 新增移动端响应式适配逻辑,支持多终端展示
3. 修复下拉菜单的元素对齐异常问题
</result>
</attempt_completion>

提报成果汇总+配置演示指令

<attempt_completion>
<result>
已完成简易React应用的开发,实现以下功能特性:
1. 开发符合需求的响应式落地页,包含指定的首屏英雄区
2. 实现带表单校验的可交互联系表单
3. 完成三个指定页面的路由导航功能
4. 样式开发完全匹配提供的设计稿规范
</result>
<command>npm start</command>
</attempt_completion>

Python脚本开发任务(成果提报+执行演示)

<attempt_completion>
<result>
已完成数据处理脚本的开发,脚本核心能力如下:
1. 支持读取data目录下的所有CSV格式数据文件
2. 按需求完成数据的清洗与标准化处理
3. 生成JSON格式的数据分析汇总统计结果
4. 将处理后的结构化数据输出至output目录
</result>
<command>python process_data.py</command>
</attempt_completion>