attempt_completion
attempt_completion 工具用于向系统和用户标识 VJSP 判定当前任务已完成,并向用户呈现任务成果。该工具会对已完成的工作内容进行汇总,可选择性附带成果演示的命令行指令,同时支持基于用户反馈对成果进行持续优化。
参数说明
本工具接收以下参数:
result(必填):任务成果描述,用于汇总已完成的工作内容command(可选):用于执行并演示任务成果的命令行界面(CLI)指令
核心功能
本工具通过呈现任务完成的最终汇总信息,标记任务流程的结束,向用户和系统双向传递当前任务已完成的信号。若配置了演示指令,可通过指令的实时执行直观展示任务成果。
适用场景
- VJSP 判定用户的目标任务已全部完成时
- 需汇总任务执行过程中产生的变更、优化点时
- 需通过命令行指令执行,直观演示任务成果时
- 需为用户提供成果反馈的节点,便于用户对解决方案提出意见时
- 任务从当前执行阶段向潜在的成果优化阶段过渡时
关键特性
- 明确向系统和用户传递 VJSP 判定任务完成的信号
- 以简洁的文案汇总任务完成的全部工作内容
- 支持通过命令行指令执行,可视化演示任务成果
- 支持接收用户反馈,基于反馈对成果进行后续优化
- 以区别于普通消息的专属 UI 格式展示任务成果
- 采集任务完成的遥测数据,为系统分析提供数据支撑
- 通过设置反馈节点,维持对话流程的结构化推进
- 支持复杂工作流中子任务完成的提报与标识
- 确保用户清晰接收任务执行的完整成果汇总
- 归属全局可用工具集,在 VJSP 所有运行模式下均可调用
限制说明
- 需在确认前期调用的所有工具执行成功后使用(该要求为规范准则,非程序强制约束)
- 成果演示仅支持配置单个命令行指令,不支持多指令配置
- 无法为成果演示提供多个指令选项供用户选择
- 配置的演示指令需经过用户确认授权后方可执行
- 仅支持演示可通过命令行指令执行呈现的任务成果
- 不可用于任务部分完成的进度提报或阶段性更新
- 成果文本在内部处理过程中,会自动过滤 XML 闭合标签
执行流程
调用attempt_completion工具后,系统将按以下流程执行:
安全性校验(规范准则,非程序强制约束)
- 由AI完成前期调用工具的执行结果校验,确认所有前置工具执行成功
- 该步骤为最佳实践规范,无程序化的强制校验机制
成果信息呈现
- 以专属的
completion_resultUI格式向用户展示任务完成的汇总信息 - 调用
removeClosingTag函数,自动过滤成果文本中的 XML 闭合标签 - 采用与普通消息差异化的展示形式,实现视觉上的成果标识区分
- 以专属的
演示指令执行(配置
command参数时触发)- 先向用户发起指令执行的授权请求,获取用户确认
- 仅在用户授权后,执行配置的命令行演示指令
- 调用系统的命令执行能力,运行演示指令
- 将指令的执行结果完整展示给用户
反馈信息采集
- 进入反馈等待状态,接收用户对任务成果的评价与优化建议
- 对用户反馈进行结构化处理,并回传给 VJSP 的核心推理模块
- 基于用户反馈,启动成果的后续优化流程
任务收尾与流程延续
- 在系统中标记当前任务已完成的状态
- 采集并存储该任务的完成遥测数据
- 若为子任务提报,向用户提供完成子任务并恢复父任务执行的选项
- 通过反馈机制,支持对话流程的持续推进与成果的迭代优化
工程实现集成
- 工具的执行结果通过系统解析机制(
parse-assistant-message.ts脚本)完成解析 - 工具归属
ALWAYS_AVAILABLE_TOOLS常量定义的工具集,实现全模式全局可用
- 工具的执行结果通过系统解析机制(
成果文本编写规范
成果描述(result)的文案需遵循以下准则:
- 清晰、准确传递已完成的工作内容,无信息模糊或遗漏
- 保证文案简洁性的同时,确保成果信息的完整性
- 核心聚焦为用户交付的价值,突出任务成果对用户需求的满足
- 避免无意义的客套语、冗余填充性文字
- 保持专业、直接的技术沟通语气
- 采用易扫描、易理解的表述形式(如分点罗列)
- 明确提示用户:可针对成果提出反馈,便于后续进行优化
注意:系统会通过removeClosingTag函数,自动过滤成果文本中的所有 XML 闭合标签,编写时无需额外处理。
演示指令选择规范
配置演示指令(command)时,需遵循以下准则:
- 优先选择能可视化演示任务成果的指令,直观呈现执行效果
- 优先选择能展示成果创建/修改结果的指令,贴合用户感知
- 推荐使用的指令示例:
open index.html:打开已创建的网页成果npm start:启动开发服务器,运行前端应用成果python app.py:执行已编写的 Python 应用脚本
- 避免使用仅用于文本打印的指令(如
echo、cat) - 需明确:所有配置的演示指令,均需经过用户授权后方可执行
- 确保指令的跨系统兼容性,适配用户的操作系统环境
反馈机制与UI展示
attempt_completion工具具备专属的成果反馈机制,核心特性如下:
- 任务成果以专属的
completion_resultUI格式展示,与普通消息形成视觉区分 - 工具执行后,系统将进入反馈等待状态,直至接收用户的成果评价
- 用户反馈经结构化处理后,回传给 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>