更新时间:2026-07-15 gmt 08:00

条件路由执行-j9九游会登录

介绍

条件路由执行是指工作流在运行过程中,根据某个条件的判断结果,将执行流程导向不同的处理分支

这种范式解决了“不同输入需要不同处理逻辑”的问题:同一个工作流入口,根据运行时的实际情况,流向完全不同的执行路径,每条路径针对其场景做最合适的处理。

agentarts提供了两种路由节点,分别适用于不同的判断场景:

表1 路由节点

节点

判断依据

适用场景

判断节点

结构化变量(数字大小、字符串是否相等、布尔值等)

评分高低分档、状态码路由、数值范围判断

意图识别节点

用户自然语言的语义意图

多功能助手的能力分发、用户诉求分类

原理

                    ┌──→ [分支a节点链]
[上游节点] → [路由节点] ──→ [分支b节点链]
                    └──→ [兜底分支]

路由节点的核心逻辑:

  • 判断节点:依次检查 if → else if → else,命中第一个满足条件的分支即执行,后续分支不再检查;条件越具体越应排在越前面。
  • 意图识别节点:大模型对用户输入进行语义分类,将执行流导向匹配的意图分支,未命中任何意图时进入“其他意图”兜底分支。

每个分支是互斥的:同一次执行只有一条分支会运行。务必设置兜底分支,避免未覆盖的输入导致流程无法继续。

操作示例:作文智能点评工作流

场景描述: 用户输入一篇作文,工作流按照作文评分标准进行评分。大模型节点分别评定基础等级分(满分40分)和发展等级分(满分20分),并计算错别字、字数不足等扣分项,代码节点汇总计算最终得分(满分60分),判断节点按得分档次路由到对应的点评策略,给出最有针对性的反馈意见。

用户只需输入一篇作文即可运行,内容长短不限,几段话也能评分。

工作流结构:

[开始节点]
    ↓ essay(作文内容)
[大模型节点:按高考标准评分]
    ↓ basic_score(基础等级分0-40)、dev_score(发展等级分0-20)
      deduction(扣分项合计)、score_detail(各维度评分说明)
[代码节点:汇总计算最终得分]
    ↓ total_score(最终得分)、score_breakdown(得分构成说明)
[判断节点:按档次路由]
    ├──→ if: total_score ≥ 50  → [大模型节点a:一类卷点评]
    ├──→ else if: total_score ≥ 35 → [大模型节点b:二类卷点评]
    ├──→ else if: total_score ≥ 20 → [大模型节点c:三类卷点评]
    └──→ else: total_score < 20 → [大模型节点d:四类卷点评]
    ↓ 
[变量聚合节点:汇聚四条分支输出]
    ↓ group1(统一点评内容)
[结束节点]

创建工作流:

在agentarts左侧导航栏中选择“开发中心 > 智能体管理”,在“工作流”页签,单击“创建工作流”。

图1 任务型工作流

节点配置说明:

图2 作文智能点评工作流
表2 工作流各节点配置说明

节点

配置说明

开始节点

原有基础上新增一个参数。

  • 参数名称:essay
  • 参数类型:string
  • 描述:待评阅的作文内容,直接粘贴正文即可,建议包含标题
  • 必填:勾选

大模型节点

用于作文评分。

  • 模型:deepseek-v4-flash
  • 输入参数:essay,引用开始节点的 essay
  • 输出格式:json,关闭流式输出
  • 输出参数定义:
    • basic_score,类型integer,基础等级得分,0-40分,依据题意、内容、语言、文体四项综合评定
    • dev_score,类型integer,发展等级得分,0-20分,依据深刻、丰富、有文采、有创意四项累计评定
    • deduction,类型integer,扣分项合计,包括错别字(每个-1分最多-5分)、字数不足、无标题等
    • grade_level,类型string,基础等级档次判定,输出“一类卷”、“二类卷”、“三类卷”或“四类卷”之一
    • score_detail,类型string,各维度评分的简要说明,包含扣分原因,200字以内
  • 系统提示词:
    你是一位语文阅卷专家,请严格按照以下作文评分标准对作文进行评分。
    【基础等级 满分40分】
    一类卷(32-40分):符合题意,中心突出,内容充实,思想健康,感情真挚;
      文体规范,结构严谨,语言流畅,字迹工整。
    二类卷(26-31分):符合题意,中心明确,内容较充实,思想健康,感情真实;
      文体规范,结构完整,语言通顺,字迹清楚。
    三类卷(20-25分):基本符合题意,中心基本明确,内容单薄,思想基本健康;
      文体基本规范,结构基本完整,语言基本通顺,字迹较清楚。
    四类卷(0-19分):偏离题意,中心不明或立意不当,思想不健康;
      文体不规范,结构混乱,语言不通顺,字迹难辨。
    【发展等级 满分20分】
    深刻(0-5分):透过现象看本质,揭示事物内在联系,观点具有启发性。
    丰富(0-5分):材料丰富,论据充实,形象丰满,意境深远。
    有文采(0-5分):词语生动,句式灵活,善于运用修辞手法,文句有意蕴。
    有创意(0-5分):见解新颖,材料新鲜,构思精巧,推理想象有独到之处。
    【扣分项】
    错别字:每个错别字扣1分,重复不计,最多扣5分。
    字数不足:少于800字每少50字扣1分最多扣3分;不足400字按低分处理(basic_score不超过19分)。
    无标题:扣2分(计入deduction)。
    违规:抄袭、严重偏题等,basic_score不超过20分,dev_score不超过5分。
    【评分说明】
    - basic_score 和 dev_score 分开评定,deduction 单独统计
    - deduction 为正整数,代表需要扣除的总分数
    - score_detail 中需说明基础等级判定依据、发展等级各项得分、扣分原因
    仅输出原始json,不要包含任何markdown代码块。
  • 用户提示词:{{essay}}

代码节点

用于汇总最终的计算得分。

  • 输入参数:
    • basic_score:引用大模型节点的 basic_score
    • dev_score:引用大模型节点的 dev_score
    • deduction:引用大模型节点的 deduction
  • 输出参数:
    • total_score,类型integer,最终得分
    • score_breakdown,类型string,得分构成说明
  • 代码内容:
    def main(args: dict) -> dict:
        basic = args.get("basic_score", 0)
        dev = args.get("dev_score", 0)
        deduction = args.get("deduction", 0)
        # 边界保护:各分项不超过满分上限
        basic = max(0, min(40, basic))
        dev = max(0, min(20, dev))
        deduction = max(0, min(10, deduction))
        # 汇总计算,最终得分不低于0分
        total = max(0, basic   dev - deduction)
        # 生成得分构成说明
        breakdown = (
            f"基础等级:{basic}/40分"
            f"发展等级:{dev}/20分"
            f"扣分项:-{deduction}分"
            f"最终得分:{total}/60分"
        )
        return {
            "total_score": total,
            "score_breakdown": breakdown
        }

判断节点

引用代码节点的 total_score,按以下顺序配置条件(注意从高到低排列,避免宽泛条件提前拦截):

  • if 条件:代码节点的total_score大于等于 50。用于统计一类卷水平(基础32 以上,发展分较高)
  • else if 1 条件:total_score大于等于 35。用于统计二三类卷水平(基础分达标,发展分一般)
  • else if 2 条件:total_score大于等于 20。用于统计三四类卷交界(基础分偏低,问题较多)
  • else,表示其余(total_score < 20)。用于统计四类卷水平(需要重点指导)

大模型节点a

放在if分支后面,用于一类卷点评,≥50分

  • 模型:deepseek-v4-flash,输出格式:文本,流式输出
  • 输入参数:
    • essay:引用开始节点的 essay
    • score_detail:引用大模型评分节点的 score_detail
    • score_breakdown:引用代码节点的 score_breakdown
  • 输出参数:feedback_a
  • 系统提示词:
    你是一位高考语文阅卷组长,正在为一篇高水平作文撰写精细点评。
    本文评分情况:{{score_breakdown}}
    阅卷评语:{{score_detail}}
    该文已达到一类卷水平,请从以下角度给出进阶点评:
    1. 【亮点赏析】指出2-3处最出彩的表达或立意,说明好在哪里
    2. 【精益求精】找出1-2处仍可进一步打磨的细节,给出具体修改示范
    3. 【发展等级提升】结合"深刻、丰富、有文采、有创意"四个维度,
       指出哪个维度最有潜力继续提升,并给出具体方向
    语气:以赏析为主,建议具体可操作,激励考生冲击更高分。
  • 用户提示词:{{essay}}

大模型节点b

放在else if 1分支后面,用于二三类卷点评,35-49分

  • 模型:deepseek-v4-flash,输出格式:文本,流式输出
  • 输入参数:
    • essay:引用开始节点的 essay
    • score_detail:引用大模型评分节点的 score_detail
    • score_breakdown:引用代码节点的 score_breakdown
  • 输出参数:feedback_b
  • 系统提示词:
    你是一位高考语文阅卷教师,正在为一篇中等水平作文撰写点评。
    本文评分情况:{{score_breakdown}}
    阅卷评语:{{score_detail}}
    该文处于二三类卷水平,请从以下角度给出有针对性的改进意见:
    1. 【基础等级短板】结合"题意、内容、语言、文体"四项,
       指出得分最低的1-2项,说明具体问题在哪里
    2. 【内容提升建议】指出论据或素材的不足之处,
       推荐1-2个可以替换或补充的典型论据方向
    3. 【语言改进示范】摘出原文中1-2处表达平淡的句子,
       给出更生动有力的改写示例
    4. 【发展等级入门】说明该文在"深刻、丰富、有文采、有创意"
       中最容易突破的一项,给出具体建议
    语气:客观指出问题,同时给出明确可操作的改进路径。
  • 用户提示词:{{essay}}

大模型节点c

放在else if 2后面,用于三四类卷点评,20-34分

  • 模型:deepseek-v4-flash,输出格式:文本,流式输出
  • 输入参数:
    • essay:引用开始节点的 essay
    • score_detail:引用大模型评分节点的 score_detail
    • score_breakdown:引用代码节点的 score_breakdown
  • 输出参数:feedback_c
  • 系统提示词:
    你是一位高考语文辅导老师,正在帮助一位作文基础薄弱的学生进行针对性辅导。
    本文评分情况:{{score_breakdown}}
    阅卷评语:{{score_detail}}
    该文处于三类卷水平,存在较明显的基础问题,请从以下角度给出辅导意见:
    1. 【最紧迫的问题】指出当前得分最低的核心问题(如跑题、结构混乱、语言不通顺),
       用一句话概括,让学生清楚知道首先要解决什么
    2. 【结构修复建议】分析文章开头、主体、结尾的问题,
       给出一个适合本文题目的简单写作框架(三段式或五段式)
    3. 【语言通顺改写】摘出1处最不通顺的句子,展示如何修改使其通顺表达
    4. 【扣分项提醒】明确指出哪些扣分项可以通过习惯改正(如检查错别字、字数、标题)
    语气:耐心温和,聚焦最核心的问题,避免一次提出太多要求让学生不知所措。
  • 用户提示词:{{essay}}

大模型节点d

放在else后面,用于四类卷点评,<20分

  • 模型:deepseek-v4-flash,输出格式:文本,流式输出
  • 输入参数:
    • essay:引用开始节点的 essay
    • score_detail:引用大模型评分节点的 score_detail
    • score_breakdown:引用代码节点的 score_breakdown
  • 输出参数:feedback_d
  • 系统提示词:
    你是一位有丰富经验的高考语文补习老师,正在帮助一位作文存在严重问题的学生重新起步。
    本文评分情况:{{score_breakdown}}
    阅卷评语:{{score_detail}}
    该文处于四类卷水平,请从最基础的角度给出重建性指导:
    1. 【核心问题诊断】用1-2句话指出最根本的问题(如:严重偏题/无法成篇/立意有误)
    2. 【基础框架重建】不针对原文修改,而是给出一个全新的写作框架:
       - 建议的立意方向(确保审题正确)
       - 推荐的文章结构(开头应写什么、主体如何展开、结尾如何收束)
    3. 【可立即执行的改进】列出2-3项最基础、最容易做到的改进动作
       (如:先拟好标题、先写好首段点题、每段首句先点中心)
    4. 【鼓励性总结】用1-2句话给予正向激励,帮助学生建立继续写作的信心
    语气:温和坚定,从零开始引导,不批评,只建设。
  • 用户提示词:{{essay}}

变量聚合节点

设置分组group1,按以下顺序添加四个变量(均为 string 类型):

  • 优先级1:变量来源大模型节点a(一类卷),变量名feedback_a
  • 优先级2:变量来源大模型节点b(二三类卷),变量名feedback_b
  • 优先级3:变量来源大模型节点c(三四类卷交界),变量名feedback_c
  • 优先级4:变量来源大模型节点d(四类卷),变量名feedback_d

结束节点

  • 输入参数:
    • score_breakdown:引用代码节点的 score_breakdown
    • grade_level:引用大模型评分节点的 grade_level
    • feedback:引用变量聚合节点的 group1
  • 指定回复:
    【评分结果】{{score_breakdown}}
    【档次判定】{{grade_level}}
    【点评意见】
    {{feedback}}

试运行:

在开始节点的essay参数中输入一篇作文,工作流会先打分,再自动进入对应分段的点评逻辑,输出针对性的反馈。

图3 试运行
图4 查看运行结果

相关文档

网站地图