Lesson 0001 · 10–15 min

Agent vs Workflow:Flue 的第一张地图

今天只学一个判断:在 Flue 里,什么时候该建一个持续的 Agent,什么时候该建一个有限的 Workflow

目标:能做架构分类难度:入门练习:3 个场景判断

1. Flue 解决什么问题?

Flue 的定位不是“又一个聊天 SDK”。官方 README 把它称为 Agent Harness Framework:你给模型的不只是 prompt,而是一整套可工作的 harness:模型、instructions、tools、skills、filesystem/command sandbox、session/history,以及部署运行时。

一句话:Flue 想把 Claude Code / Codex 这类“能持续工作、能用工具、能在环境里行动”的 agent 架构,变成 TypeScript 开发者可定义、可部署、可观察的框架。

Primary source: withastro/flue README;Quickstart 见 Flue Getting Started

2. 最重要的分叉:Agent 还是 Workflow?

如果任务更像…用 Flue 的…判断词
一个会继续对话、保留上下文、以后还会接着做的助手。Agentcontinuing context / session history / months later
一个输入明确、结束明确、产出结构化结果的后台任务。Workflowfinite run / input-output / inspectable operation

Agent 例子

“代码审查助手”:今天看 PR,明天用户继续问为什么,后天根据新 commit 继续追踪同一个上下文。

Workflow 例子

“总结一份文档”:输入 text,调用模型,输出 { summary },这次运行结束。

Sources: Agents guide, Workflows guide.

3. Harness 的最小形状

先不要背 API。先记住 agent 文件通常是在声明:这个模型在什么规则下,带着哪些能力,在哪个环境里工作

// src/agents/reviewer.ts
import { defineAgent } from '@flue/runtime';
import { local } from '@flue/runtime/node';
import reviewSkill from '../skills/review/SKILL.md' with { type: 'skill' };
import { repositoryTools } from '../shared/repository-tools.ts';

export default defineAgent(() => ({
  model: 'anthropic/claude-sonnet-4-6',
  instructions: 'Review the requested change using evidence only.',
  tools: repositoryTools,      // 应用代码提供的受控动作
  skills: [reviewSkill],       // 可复用专业指导
  sandbox: local(),            // 文件/命令工作环境
  cwd: '/srv/checkouts/app',
}));
记忆钩子:Agent = “谁来做 + 怎么做 + 能做什么 + 在哪做 + 怎么继续”。Workflow = “输入是什么 + 怎么运行 + 输出是什么”。

4. 练习:三秒分类

先自己答:下面场景该用 Agent 还是 Workflow?

  1. Slack 里一个长期的 DevOps 助手,用户随时回来让它继续排查同一个服务。
  2. 每天凌晨把 20 篇 release notes 摘成 JSON 摘要。
  3. 一个客服助手,能在同一个 customer case 里持续追踪订单、补充信息、升级 ticket。
查看参考答案
  1. Agent:需要 continuing context。
  2. Workflow:有限、定时、结构化输出。
  3. Agent:case 需要跨消息保留历史;查订单可通过 tools。

小测验

Flue 里,哪个判断最能说明你应该用 Workflow?

再来一题

在 Flue 中,Tool 与 Skill 最核心的区别是?

本课结束后你应该能说出

  • Flue 的核心不是单次 API 调用,而是给模型一个 harness。
  • Agent 适合持续上下文;Workflow 适合有限运行。
  • Tool 是受控代码能力;Skill 是可复用指导;Sandbox 提供文件/命令工作空间。

如果你愿意,下一课我建议做:0002 — 5 分钟读懂 Flue 项目结构与 Quickstart,开始进入真实 TypeScript 文件。

有任何不清楚的地方,直接问我;我会按你的目标调整下一节课。