外观
第五课:Workflow
目标
不用特殊语法,明确写出节点、状态、分支、循环和结束条件。
运行:
bash
npm run lesson:05流程
正在绘制流程图…
所有节点:
typescript
type NodeName = "decide" | "search" | "answer" | "done";共享状态:
typescript
interface ResearchState {
question: string;
context: string;
answer: string;
searchCount: number;
}当前位置:
typescript
let currentNode: NodeName = "decide";运行器:
typescript
while (currentNode !== "done") {
switch (currentNode) {
case "decide":
currentNode = state.context ? "answer" : "search";
break;
case "search":
state.context = "搜索结果";
currentNode = "decide";
break;
case "answer":
state.answer = `根据资料:${state.context}`;
currentNode = "done";
break;
}
}Workflow 是否依赖 AI
不依赖。Workflow 只是组织步骤的结构,可以完全由普通代码组成。
三者职责不同:
- Workflow:规定整体步骤和允许的路线。
- LLM:理解、分类、总结或生成内容。
- Agent:让模型在运行过程中选择行动并观察结果。
真实系统经常在固定 Workflow 的局部嵌入 Agent。
本课结论
text
state = 任务数据
currentNode = 当前步骤
switch = 执行节点
while = 持续运行
done = 结束