在 AgentScope 的语境下,Agentic AI(原生智能体 AI) 不仅仅是指"能调用工具的 LLM",它特指一种基于独立人格、通过消息驱动、具备社会化协作能力的智能实体构建方式。
要理解它与 Workflow(工作流)在搭建上 的具体区别,我们可以用"编写剧本"与"组建团队"来做类比。
一、什么是 AgentScope 眼中的 Agentic AI?
在 AgentScope 中,Agentic AI 的核心定义包含三个要素:
-
独立的主体性 (Subjectivity):每个 Agent 都是一个独立的对象(Object),拥有私有的记忆(Memory)、独特的人设(Profile)和独立的工具箱。它不是流程图里的一个"步骤",而是一个"人"。
-
消息驱动 (Message-Driven):系统运行的燃料是"消息"。Agent 之间通过发送和接收消息(Msg 对象)来交互,而不是通过函数调用传递参数。
-
社会化协作 (Social Collaboration):解决问题不是靠预设的 if-else 跳转,而是靠 Agent 之间的"沟通"。
- 例如:Agent A 说"这代码不对",Agent B 听到后"自主决定"去修改代码。
二、2. 搭建上的具体区别:Workflow vs. Agentic AI
为了让你看清代码和思维层面的差异,我们以**"开发一个贪吃蛇游戏"**为例。
方式 A:Workflow (工作流 / 编排模式)
代表框架 :Spring AI Alibaba Graph, LangChain, Dify
搭建思维 :上帝视角 (God Mode)。你是总工程师,你设计好每一个步骤和流转规则。
-
搭建步骤:
-
定义节点 (Nodes):
-
Node_WriteCode: 负责生成代码。
-
Node_RunTest: 负责运行代码。
-
Node_FixBug: 负责修复。
-
-
定义边 (Edges):
- 连接 Node_WriteCode -> Node_RunTest。
-
定义硬逻辑 (Router):
- 编写代码:if (exitCode == 0) return END; else return Node_FixBug;
-
-
代码特征:充斥着 .addNode(), .addEdge(), .addConditionalEdges()。
-
缺陷:如果测试报错是环境问题而不是代码问题,且你没写处理环境错误的逻辑,流程就会卡死或死循环。
方式 B:Agentic AI (AgentScope 模式)
代表框架 :AgentScope
搭建思维 :CEO 视角 (Manager Mode)。你只负责招人和拉群,具体怎么干看员工发挥。
-
搭建步骤:
-
定义角色 (Profiles):
-
CoderAgent: 设定 Prompt "你是一个精通 Python 的程序员"。
-
ReviewerAgent: 设定 Prompt "你是一个苛刻的测试员,只负责报错"。
-
-
组建流水线/群聊 (Pipeline/MsgHub):
-
不需要定义"如果出错跳到哪"。
-
只需要定义对话顺序:SequencialPipeline(coder, reviewer)。
-
-
交互逻辑:
-
coder 产出消息。
-
reviewer 收到消息,生成回复(可能是"通过",可能是"报错信息")。
-
如果配置了循环,coder 看到 reviewer 的报错消息,利用 LLM 的理解能力,自主决定修改代码。
-
-
-
代码特征:
-
new Agent(...)
-
msg = coder(msg)
-
msg = reviewer(msg)
-
-
优势:容错性极强。Reviewer 可能会说"代码没问题,但是你没写注释",Coder 就会去加注释。这种逻辑在 Workflow 里很难预设。
三、代码层面的直观对比
为了更清晰地展示搭建的区别,我们看伪代码:
Workflow 搭建 (Spring AI Graph 风格)
你需要显式地管理状态流转:
// 1. 显式定义状态流转图
StateGraph graph = new StateGraph();
graph.addNode("coder", coderFunction);
graph.addNode("tester", testerFunction);
// 2. 显式定义路由逻辑(硬编码)
graph.addConditionalEdges("tester",
response -> response.isSuccess() ? "END" : "coder" // 只有成功才结束,否则回退
);
return graph.compile();
Agentic AI 搭建 (AgentScope 风格)
你需要显式地管理角色和对话:
// 1. 定义有"灵魂"的 Agent
Agent coder = new DialogAgent("coder", "你是一个资深程序员...", modelConfig);
Agent tester = new DialogAgent("tester", "你是一个测试专家...", modelConfig);
// 2. 定义交互模式(让他们自己聊)
// 这里没有显式的 if-else,只有"对话模式"
// 这是一个循环对话,直到满足终止条件(如出现 "SUCCESS" 关键词)
Pipeline loop = new LoopPipeline(
new SequentialPipeline(coder, tester)
);
// 3. 启动
loop.run("帮我写个贪吃蛇");
// 剩下的交给他们自己吵架,你不用管"怎么回退",因为那是他们对话的一部分
四、总结:
我相信这两种类型的应用框架应该也是很多开发者的困惑,本篇就针对性的作一解惑,有问题可以在评论区一起留言探讨,然后就是在不同场景下方案选型的一个个人指导,仅供参考:
-
Workflow (搭建结构):
-
像修水管。水流(数据)必须沿着管子流。
-
适用 :企业级业务流、审批流、RAG 问答、数据清洗。确定性高,可控性强。
-
-
Agentic AI (搭建组织):
-
像开圆桌会。大家围坐在一起,话语(消息)在空中传播。
-
适用 :开放性问题解决(如 Manus)、代码生成、创意写作、多角色博弈模拟。创造性高,涌现性强。
-
要强调一点儿的是,在 AgentScope 中,你搭建的不是"程序块",而是"虚拟员工"。这就是 Agentic AI 搭建的核心差异。
欢迎关注,一起交流,一起进步~