ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

给多智能体流水线装上 if-else 和 while:Agno Workflow 工作流编排入门

给多智能体流水线装上 if-else 和 while:Agno Workflow 工作流编排入门 给多智能体流水线装上 if-else 和 whileAgno Workflow 工作流编排入门【免费下载链接】agnoBuild, run, and manage agent platforms.项目地址: https://gitcode.com/GitHub_Trending/ag/agno想让研究 Agent 查完资料后只有内容涉及具体数据时才调起事实核查 Agent否则直接进写作——这个 if-else 在代码里到底怎么写Agno Workflow 就是为此而生的一个用普通 Python 代码描述多智能体流水线的引擎条件、循环、并行、路由全是可编程的结构而不是画在流程图上的虚线。 把任务串成一条线顺序步骤怎么跑Workflow 接收输入后按列表顺序逐个执行 steps 里的成员。Step 的身份很宽松Agent、Team、普通 Python 函数都能直接入列函数只需读 StepInput、返回 StepOutput就能和 Agent 平起平坐地参与工作流编排。衔接靠的是 previous_step_content上一步产出的内容自动流入下一步研究 Agent 写下的素材不用手动传递写作 Agent 直接就能读到。最小例子看 sequence_of_steps.py研究→写作两步就是一条完整的 Agno 工作流引擎实现本身在 workflow.py。 给流水线加 if-elseCondition 与 Router 的分工Condition 像是流水线上的门卫手里攥着 evaluator 这把尺返回 True内部 steps 照常执行返回 False整段被跳过流程直接走到下一站。经典用法是事实核查门禁——摘要里出现数据显示百分比这类事实性措辞才放行事实核查 Agent否则省掉这次调用参考 condition_basic.py。想给拦截时留个后路就配上 else_steps不满足条件时改走另一小段。Router 更像分拣台给它一组 choices 候选步骤selector 函数按输入内容动态挑出要走的一条或多条路。比如主题命中 tech、AI、startup 就派 HackerNews 研究员否则交给通用网页研究员两条路最后都汇回发布步骤见 router_basic.py。两者别混Condition 回答做不做是二值判断Router 回答派谁去做是多路分发。流程需要拦截用前者需要分流用后者。 结果不够好就再来一遍Agno 循环执行Agno Workflow 循环结构steps 反复执行end_condition 决定退出时机单次生成的质量看运气Loop 把这件事交给重试。它包一组步骤反复执行每轮结束后调用 end_condition返回 True 就退出返回 False 就接着下一轮。例子里两个研究步骤被圈进 Loop评估逻辑是输出不足 200 字符就重跑够长了才放行给创作环节见 loop_basic.py。光有 end_condition 还不够稳max_iterations 是配套的保险丝评估函数万一失灵最多跑 3 轮也会强制收手。两个参数配合才是质量与成本的双保险。还有一个累积式变体开启迭代累积后每轮输出会喂给下一轮当输入研究内容逐轮叠加而不是每轮从头重来。⚡ 无依赖的任务一起跑Agno 并行工作流两个互不相干的研究任务串行着跑纯属浪费。Parallel 同时发起它收到的所有步骤等全部完成后自动合并结果再交给下游。前提是分支之间没有数据依赖A 分支的输入不能来自 B 分支的产出否则还是老老实实排成顺序。parallel_basic.py 里研究 HackerNews和研究网页并行跑完合并后的素材一次性交给写作和审阅。这套结构还能继续叠加控制逻辑分支内部可以塞 Condition比如只让某一类输入触发某个分支Loop 里也可以放 Parallel失败的路径整组重来组合玩法参考 parallel_with_condition.py。✂️ 少写代码的两个捷径CEL 表达式与全局叫停手写 evaluator 函数有点啰嗦时CEL 表达式可以直接顶替一行 evaluatorinput.contains(urgent) 就能完成输入含 urgent 走紧急通道的判断框架识别出这是表达式而非 Python 可调用对象自行解析执行。表达式里能引用 input、previous_step、session_state 等上下文条件、循环退出、路由选择统统可以声明式配置。规则越简单越适合 CEL逻辑复杂了再换回函数。示例在 cel_basic.py需先 pip install cel-python。另一个捷径是提前终止步骤返回 StepOutput 时把 stop 置 True剩余步骤全部跳过工作流以 Early Stopped 收尾。它和 Condition 跳过是两码事——前者叫停整条线后者只是绕过一段路。early_stopping 目录里有安全扫描拦截部署的例子扫出 VULNERABLE 就直接收工。控制结构适用场景关键参数Steps顺序接力stepsCondition二值拦截evaluator、else_stepsRouter多路分流choices、selectorLoop重试打磨end_condition、max_iterationsParallel无依赖并发steps先跑通 01_basic_workflows/ 里的顺序步骤再往线上加 Condition、Loop、Parallel对应子目录分别是 02_conditional_execution/、03_loop_execution/、04_parallel_execution/。四种结构叠加完毕你的多智能体流水线就有了刹车和方向盘——剩下的只是决定每一步派谁上场。【免费下载链接】agnoBuild, run, and manage agent platforms.项目地址: https://gitcode.com/GitHub_Trending/ag/agno创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表