skill agent workflow的区别

)Workflow(工作流)

串行多 Agent = 一种工作流,但工作流范围更大。

Workflow:定义一套固定步骤、流转规则,描述任务从开始到结束怎么走、数据从哪一步传到下一步。

  • 串行 Agent(大纲 Agent → 写作 Agent → 校对 Agent):是LLM 驱动的串行工作流。
  • 工作流不一定非得是 Agent,也可以是纯代码步骤:读取文件 → 清洗文本 → 存入数据库,这也是 Workflow。

一句话:Agent 是执行者;Workflow 是安排执行者顺序的流程图纸。

2)Skill 与 Agent 的核心区别(最容易混淆)

Skill:工具 / 能力函数,单一原子能力,只做一件小事,不带独立思考、没有自己的系统提示词角色。 Agent:拥有系统提示词、思考逻辑,可以自主选择调用 Skill,能做决策。

通俗比喻:

  • Skill = 单独的工具:尺子、计算器、打印机。只会干一件固定动作,没有想法。
  • Agent = 人,会思考,需要的时候拿起尺子 / 计算器(调用 Skill)完成任务。
  • Workflow = 作业指导书:第一步干什么,第二步干什么,规定好先后顺序。

重点: ✅ Agent 可以调用多个 Skill ✅ Skill 本身不能自己主动思考、不能主动调用别的工具,只是一个可被调用的能力函数。


Skill 伪代码示例(火山方舟风格)

这里写两个 Skill:

  1. skill_calculate:数学计算 Skill
  2. skill_search_wiki:简易知识库检索 Skill
python 复制代码
# ========== Skill:原子能力,纯函数,无大模型思考 ==========
def skill_calculate(expression: str):
    """Skill:数学计算,只负责计算表达式,单一能力"""
    print(f"【Skill 计算工具】执行:{expression}")
    result = eval(expression)
    return f"计算结果:{result}"


def skill_search_wiki(keyword: str):
    """Skill:知识库检索Skill,只查资料,不总结、不推理"""
    db = {
        "牛顿": "牛顿是经典力学奠基人,发现万有引力",
        "爱因斯坦": "提出相对论"
    }
    content = db.get(keyword, "没有找到相关资料")
    return f"检索结果:{content}"

👉 特点:

  • Skill 就是普通函数,没有大模型调用
  • 输入输出固定,只做单一功能
  • 没有角色设定,不会自主判断要不要执行,必须由别人(Agent)调用它

单 Agent 调用上面 Skill 的伪代码

python 复制代码
from volcenginesdkarkruntime import Ark
client = Ark(api_key="xxx")

async def math_agent(user_query):
    """Agent:拥有思考能力,可以决定要不要调用Skill"""
    system_prompt = """
你是一个理科助手。
规则:
如果用户提问需要数学计算,调用 skill_calculate;
如果用户询问科学家资料,调用 skill_search_wiki;
不需要工具,就直接回答。
输出格式:{"tool_name":"xxx","args":"xxx"}
"""
    messages = [{"role":"system", "content": system_prompt}, {"role":"user", "content": user_query}]
    resp = await client.chat.completions.create(model="doubao-seed-2-0-lite", messages=messages)
    llm_decision = resp.choices[0].message.content

    # Agent 解析模型输出,然后调用对应的 Skill
    if "skill_calculate" in llm_decision:
        return skill_calculate("123 + 456 * 2")
    elif "skill_search_wiki" in llm_decision:
        return skill_search_wiki("牛顿")
    else:
        return llm_decision

执行逻辑:

  1. 用户提问 → Agent(大模型)思考:我要不要调用工具?
  2. Agent 决定:需要计算 → 调用 skill_calculate
  3. Skill 执行计算,返回结果给 Agent
  4. Agent 拿到 Skill 返回结果,整理成最终答案给用户

Skill 不会自己启动,不会自己做决策。决策权属于 Agent。


再把三者放一起对比

表格

概念 核心定位 是否有大模型独立思考
Skill 原子工具函数,单一能力 ❌ 没有大模型,纯函数执行
Agent 智能执行者,可以思考、选择调用 Skill ✅ 有独立大模型推理
Workflow 任务流转的步骤编排方案 ❌ 只是流程定义,可以编排 Agent/Skill

举一个组合例子:Workflow 编排 Agent,Agent 内部调用 Skill

python 复制代码
# Workflow:工作流,固定串行步骤
async def science_report_workflow(user_question):
    # Step1:Agent1,收集资料(内部调用检索Skill)
    material = await collect_agent(user_question)
    # Step2:Agent2,整理报告(内部调用计算Skill)
    report = await write_report_agent(material)
    return report
  • Workflow:规定先收集,再写报告
  • collect_agent /write_report_agent:两个 Agent
  • Agent 内部按需调用 skill_search_wiki、skill_calculate

一句话区分总结

  1. Skill = 工具,只会干活,不会思考
  2. Agent = 会思考的智能体,可以按需调用 Skill
  3. Workflow = 流程编排,规定 Agent/Skill 先后执行顺序

你之前那个串行小说多 Agent 例子,就是Workflow 编排了多个 Agent,每个 Agent 内部也可以挂载自己的 Skill(比如文本统计 Skill、查重 Skill)。

相关推荐
Nturmoils7 小时前
集中式与分布式怎么选:从订单读写看 KingbaseES 的架构边界
数据库
xiaomuzuirenzhen7 小时前
大专电子商务从事电商运营分析师需要考证吗?
大数据·数据库
翔云1234569 小时前
RocksDB中,客户端每写入一次数据,需要访问几次磁盘
运维·数据库·mysql
DevOpenClub9 小时前
职教高考控制线 API:招生类别枚举、筛选与空分数含义
java·数据库·高考
GeW10 小时前
新质生产力路线图解读:数据库性能优化与Linux调优专场
linux·数据库
在多学一点12 小时前
MYSQL第二次作业
android·数据库·mysql
Risehuxyc12 小时前
Microsoft.Data.Sqlite体验
数据库·sqlite
骑着蜗牛撵大象32712 小时前
MySQL 8.0 迁移后 SQL 变慢:执行计划里 3 类被忽略的成本差异
android·数据库·sql·mysql·优化器·执行计划
ZENERGY-众壹14 小时前
告警风暴怎么压?100MW 电站监控平台告警引擎架构复盘
数据库·架构·iot·电站监控
zhengfei61115 小时前
Go-fastdfs /reload 未授权访问: 有效PoC
数据库·sql