04.1 一个公式,反复用
我刚学 Flue 时,最懵的就是"马具里到底有啥"。翻完文档才懂,其实就五个零件。
今天拆开讲。Flue 的马具有五个零件,各有各的活:
| 零件 | 它干啥 | 类比 |
|---|---|---|
| 文件系统 | 让 Agent 存东西 | 员工的笔记本 |
| 工具 | 让 Agent 动手 | 员工的软件 |
| 沙箱 | 让 Agent 安全地动 | 员工的工作间 |
| 会话 | 让 Agent 记得上下文 | 员工的记忆 |
| 子智能体 | 让 Agent 会分工 | 员工的同事 |
重点看:最右一列"类比"。
把 Agent 当成一个被你雇来的员工。你不用教他每步点哪,你给他工具和工位。
04.2 五个零件怎么装
它们都写在一个 createAgent(() => ({...})) 里。看这个真实例子:
// src/agents/repository-reviewer.ts
import { createAgent } from '@flue/runtime';
import { local } from '@flue/runtime/node';
import reviewChecklist from '../skills/review-checklist/SKILL.md' with { type: 'skill' };
import { repositoryTools } from '../shared/repository-tools.ts';
export default createAgent(() => ({
model: 'anthropic/claude-sonnet-4-6',
instructions: 'Review the change and report only evidence-based findings.',
cwd: '/srv/repositories/catalog-service', // 工作目录
tools: repositoryTools, // 零件:工具
skills: [reviewChecklist], // 零件:技能
sandbox: local(), // 零件:沙箱
}));
这五行,就是给员工配齐了脑子、指令、工具、技能、工位。
标叔的经验:写 Agent 更像"搭环境"而不是"写代码"。
我最初总想写逻辑。后来明白,难的不是代码,是"给 Agent 什么样的上下文"。上下文给对了,它自己干得比你写的还好。
04.3 两个模式,别用错
Flue 有两种 Agent 模式,用错会报错。这个坑我踩过,单独提一下:
| 模式 | 用途 | 怎么写 | 标叔的结论 |
|---|---|---|---|
| 交互式 Agent | 网页聊天、SSE、WebSocket | 直接 createAgent(),导出 route/websocket |
持续对话选它 |
| 工作流 Agent | flue run 一次性任务 |
handler 里 createAgent() 再 init() |
干完即走选它 |
核心建议:长聊用交互式,干完就走用工作流。
分不清时,问自己:这个活要持续对话吗?要,就是 Agent;不要,就是工作流(§08)。
零件讲完了。下一章,先把"工具"这个最关键的零件讲透。