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)。

相关推荐
墨子夕1 小时前
创新的潮汐——从科学发现到资本周期的百年规律(第二卷)
大数据·数据库·人工智能
Y3815326621 小时前
印度电商数据采集教程:用 SerpBase 查 Flipkart/Myntra/Ajio 商品(附代码)
数据库·python
企业数字化笔记2 小时前
多租户配额怎么控制?用量口径、并发预留与超额处理的实现方法
java·数据库·spring boot
roman_日积跬步-终至千里2 小时前
【数据Agent论文·查询与语义|06】RAT-SQL:怎样把问题、表和字段真正关联起来?
数据库·sql·数据分析
盟接之桥2 小时前
盟接之桥谈线束数字化-按单入按单出:线束企业库存管理的破局之道
大数据·前端·网络·数据库·人工智能·制造
Nturmoils3 小时前
数据集成软件 KFS:多套业务库汇聚时,先把来源和口径理清
数据库
麦壳饼3 小时前
SonnetDB:批量写入的大小、背压与刷新策略
数据库·sonnetdb
weixin_460443563 小时前
Java+Linux私有化训考平台:服务、数据库与终端部署结构解析
java·linux·数据库·私有化部署·企业培训考试系统·企业考试系统
编程火箭车4 小时前
MySQL 拥抱 AI:向量、RAG、AutoML 全进了数据库
数据库·mysql·ai编程·向量数据库·rag·automl·mysql9