Files
PromptX/protocol/application/executing.protocol.md
2025-05-15 11:45:58 +08:00

4.1 KiB
Raw Blame History

executing 应用协议

TL;DR: executing标签用于定义结构化的执行流程帮助AI系统按步骤完成任务支持线性、条件和循环等流程控制。

🔍 基本信息

标签名: <executing> 版本: 1.0.0 类别: 执行 状态: 草稿 创建日期: 2023-06-21

目的与功能

executing标签定义了AI系统执行任务的流程和步骤它的主要功能是

  • 提供线性、有序的执行步骤
  • 支持条件分支和循环结构
  • 明确每个步骤的输入、处理和输出
  • 帮助AI系统进行精确、可靠的任务执行
  • 提供执行状态追踪和错误处理机制

📝 语法定义

(* EBNF形式化定义 *)
executing_element ::= '<executing' attributes? '>' content '</executing>'
attributes ::= (' ' attribute)+ | ''
attribute ::= name '="' value '"'
name ::= [a-zA-Z][a-zA-Z0-9_-]*
value ::= [^"]*
content ::= markdown_content
markdown_content ::= (* 任何有效的Markdown文本可包含特定语法元素 *)

🧩 语义说明

executing标签表示一个完整的执行流程或任务处理过程。标签内容采用Markdown格式通常包含有序步骤、条件判断、循环结构以及状态跟踪等元素用于表达严谨的执行逻辑。executing标签特别适合表达算法实现、工作流程和任务执行计划为AI提供明确的操作指导。

💡 最佳实践

以下是使用executing标签的一些建议做法这些并非强制要求仅作为参考

推荐属性

可以考虑使用以下属性来增强executing标签的语义

  • mode: 指定执行模式,如mode="sequential", mode="conditional", mode="iterative", mode="parallel"
  • context: 指定执行上下文,如context="local", context="remote", context="system", context="user"
  • priority: 指定执行优先级,如priority="high", priority="normal", priority="low"
  • timeout: 指定执行超时时间,如timeout="30s", timeout="5m"

内容组织

推荐在executing标签内使用以下结构组织内容

  1. 以一级标题(#)定义执行任务的名称和目标
  2. 使用二级标题(##)标识主要执行阶段
  3. 使用有序列表表示执行步骤的精确顺序
  4. 使用代码块表示具体的命令或代码片段
  5. 使用表格记录输入参数和输出结果
  6. 使用引用块表示状态检查点和异常处理逻辑

可视化表达

不同类型的执行流程适合使用不同的Mermaid图表类型

  • 流程图(flowchart): 适合表示执行步骤和条件分支

    flowchart TD
      A[开始] --> B{条件判断}
      B -->|条件成立| C[执行步骤1]
      B -->|条件不成立| D[执行步骤2]
      C --> E[下一步]
      D --> E
      E --> F[结束]
    
  • 时序图(sequenceDiagram): 适合表示组件间的交互过程

    sequenceDiagram
      参与者A->>参与者B: 请求数据
      参与者B->>参与者C: 转发请求
      参与者C-->>参与者B: 返回数据
      参与者B-->>参与者A: 处理后返回
    
  • 状态图(stateDiagram): 适合表示状态转换和执行阶段

    stateDiagram-v2
      [*] --> 准备
      准备 --> 执行中: 开始执行
      执行中 --> 完成: 成功
      执行中 --> 失败: 出错
      失败 --> 重试: 可恢复
      重试 --> 执行中
      失败 --> [*]: 不可恢复
      完成 --> [*]
    

📋 使用示例

文件批量处理流程

初始化阶段

  1. 检查工作目录权限
  2. 验证输入文件格式
  3. 准备输出目录

处理阶段

for file in $(ls *.txt); do
  echo "处理文件: $file"
  process_file "$file" >> log.txt
done

验证阶段

检查项 预期结果 异常处理
输出文件数量 等于输入文件数量 记录差异并重试
处理日志 无错误记录 分析错误类型并修复

完成阶段

状态检查点:所有文件已处理并验证通过 执行清理临时文件并生成处理报告