Files
agent_admin/docs/agent/values-and-outputs.md

1.8 KiB
Raw Permalink Blame History

值与步骤输出

返回文档中心 · 任务协议

1. 当前行为 [已实现]

  • INPUT 的 value 是步骤内字符串。
  • EXTRACT_TEXT 把文本追加到 outputField。
  • 最终结果中的 extracted 类型是 Map<String, List<String>>。
  • 当前没有任务输入区、跨步骤引用或类型化输出。

2. 任务输入 [提案]

变化频繁的值可以集中放在任务 inputs:

{
  "inputs": {
    "keyword": "测试内容",
    "quantity": 2
  }
}

首版只支持 TEXT、INTEGER、DECIMAL 和 BOOLEAN。手机号、邮编和外部编号等需要保留格式的值使用 TEXT。

3. 值引用 [提案]

字面量:

{
  "value": {
    "source": "LITERAL",
    "value": "固定内容"
  }
}

任务输入:

{
  "value": {
    "source": "TASK_INPUT",
    "key": "keyword"
  }
}

步骤输出:

{
  "value": {
    "source": "STEP_OUTPUT",
    "stepId": "read-code",
    "field": "code"
  }
}

首版不提供模板语言或表达式执行。引用不存在时返回 VALUE_NOT_FOUND。

4. 步骤输出 [提案]

{
  "output": {
    "code": {
      "type": "TEXT",
      "value": "A-100"
    }
  }
}

一个步骤可以输出多个命名值,但只有整个步骤成功时输出才生效。后续步骤只能引用已经完成的前置步骤。

复杂对象、列表合并和跨分支数据流等到实际需要时再设计。

5. 建议模型

enum class ValueType {
    TEXT,
    INTEGER,
    DECIMAL,
    BOOLEAN,
}

data class StepValue(
    val type: ValueType,
    val value: Any,
)

data class StepOutput(
    val values: Map<String, StepValue>,
)

输入约束先支持必要的长度、数值范围和枚举即可,不提前加入复杂格式系统。