先别连接邮箱、CRM 或社媒账号。打开一张空白的 n8n 画布,只放三个节点:
Manual Trigger → Edit Fields → IF
在 Edit Fields 里写入一条假的内容信号,让 IF 根据证据数量把它送进 True 或 False 分支。先把 evidence_count 设为 3 执行一次,再改成 1 执行一次。两条路线都跑对以后,你已经碰到了工作流自动化最重要的五件事:触发、结构化数据、规则、分支和执行记录。
这三个节点不会替你增加一位订阅者。它们先训练一件更重要的事:看清输入是什么,哪条规则在做决定,错误会停在哪里,以及谁能批准有后果的动作。
我公开运行的 Agent Kit 与 Brain→brief→Blog 创作路由,已经具备能力边界、校验和人工终审。Growth OS 目前仍停在逻辑设计:没有 runtime,没有连接 n8n,也没有执行过任何对外增长动作。本文因此是一份经过官方资料核验的入门路径和系统提案,不包含转化战绩。
读完以后,你可以在 30 分钟内搭出第一条零账号 workflow;也可以判断下一步该选 n8n、Zapier/Make、Activepieces、Pipedream/Windmill、Trigger.dev、Temporal,还是暂时保留人工流程。
先用 30 分钟学会 n8n 的骨架
n8n 官方把自己定义为一款结合 AI 与业务流程自动化的 fair-code 工具,可以连接带 API 的应用并处理数据;Cloud、npm 和自托管是不同运行选择。n8n 官方文档
第一次练习不需要 API key,也不需要外部账号。
第一步:让工作流只在你按下按钮时开始
新建 workflow,保留默认的 Manual Trigger。它只在你点击执行时触发,适合学习和调试。生产环境再换成 Schedule、Webhook 或应用事件。Manual Trigger 节点文档
第二步:造一条可检查的输入
在后面添加 Edit Fields (Set),使用 Fixed value 建四个字段:
| 字段 | 类型 | 值 |
|---|---|---|
signal_id | String | demo-001 |
evidence_count | Number | 3 |
risk | String | low |
decision_scope | String | offer |
Edit Fields 可以新增、覆盖和裁剪传给下游的数据;这个小节点已经在教你把松散输入整理成契约。Edit Fields 节点文档
执行到这里,输出面板应出现一条 item。n8n 在节点之间传递的是 item 数组,普通字段放在每个 item 的 JSON 中;表达式可以引用当前 item 或前序节点的数据。n8n 数据结构 在界面中引用数据
第三步:让规则分出两条路
添加 IF,设为同时满足:
evidence_count >= 2
risk == "low"
把 True 分支理解为「进入人工复核」,False 分支理解为「继续收集」。这里还没有 Agent;判断完全由可见规则完成。IF 节点文档
点击执行,demo-001 应走 True。再把 evidence_count 改成 1,第二次执行应走 False。若结果不符,先检查 Input/Output 中的字段名和类型:3 应是 Number,不能误设成 String。
这就是最小验证:
| 要检查的对象 | 预期 |
|---|---|
| 输入 | 一条带稳定 signal_id 的 JSON item |
| 规则 | 数量阈值与风险条件都可见 |
| 输出 | 两组测试值分别命中 True 与 False |
| 失败 | 字段缺失、类型错误或条件写错时能定位到具体节点 |
| 副作用 | 没有外部写入,可以安全地反复执行 |
开发后续节点时,可以 pin 住 Edit Fields 的输出,让测试数据保持稳定;它只能证明下游逻辑能处理这份样本,不能证明真实信源健康。Pinning 与 mocking 文档
到这里再认识六个词会容易很多:
| 概念 | 在刚才练习里的对应物 |
|---|---|
| Workflow | 整张自动化流程图 |
| Node | 一个触发、转换、判断或动作步骤 |
| Trigger | 决定一次运行何时开始 |
| Item / JSON | 节点之间传递的结构化数据 |
| Expression | 从当前或前序 item 取值的动态引用 |
| Execution | 一次可查看状态、节点输入输出与错误的运行 |
n8n 会在 Executions 中列出成功、失败、运行中和等待中的执行,也允许用原 workflow 或当前已保存版本重试失败执行。Executions 文档
把 n8n 放在正确的一层
画布很容易让人把所有方框都当成同一类智能。真正进入经营系统以后,它们承担的责任差异很大。
我为 Growth OS 采用的公开模型是:
signal
→ state / rules
→ bounded Agent
→ human approval
→ operation
→ outcome
→ retro candidate
这条链上有四种性质不同的工作:
| 层 | 负责什么 | 不能偷偷扩大成什么 |
|---|---|---|
| n8n workflow | 触发、路由、等待、重试、执行记录 | 业务方向的最终裁判 |
| bounded Agent | 分类、摘要、提出候选方案 | 无限制地调用外部工具 |
| Codex | 构建 workflow、schema、validator、eval | 替作者作出发布或花钱承诺 |
| 作者 | 定位、隐私、发布、外联、花钱 | 事后随意改写失败标准 |
确定性 workflow 适合表达「条件成立就走 A,否则走 B」。概率性 Agent 适合处理语义边界,例如判断一段反馈主要在质疑价格、信任还是使用门槛。模型输出会变化,所以 Agent 的输入范围、输出 schema、最大迭代、失败分支和评测样本都要受到约束。
发布、发送外联、购买、删除和权限修改会改变外部世界。它们要放在审批之后。n8n 的 AI Agent 工具调用支持把敏感工具接到 human review;普通业务审批也可以用 Wait 或「发送并等待响应」类操作暂停执行。AI Agent 的 human review 文档 Wait 节点文档
这张责任图比「组建多个 Agent 角色」更重要。角色名不会自动带来状态、权限、幂等或恢复能力。
重试之前,先处理重复副作用
一次 execution 失败,可能发生在外部动作之前,也可能发生在对方已经收到了请求、n8n 尚未记下响应的瞬间。直接重试整条流程,可能重复发信、重复建记录、重复扣费或重复发布。
所以增长流水线里的 operation_id 要在外部动作之前产生:
- 用
proposal_id + destination + version生成稳定业务键; - 先查 operation ledger,已经有成功记录就停止重复写入;
- 对方 API 支持 idempotency key 时,把同一业务键传过去;
- 保存 request、response、external reference 与状态;
- 超时后先向外部系统对账,再决定是否重试。
节点级 retry 解决的是瞬时故障,幂等解决的是重复执行后果。n8n 可以承载这套检查和记录,但业务键由你定义。失败 workflow 还应连接独立的 Error Workflow,把 execution id、失败节点和可操作告警送给负责人;单纯把错误写进日志,系统仍可能安静地坏掉。n8n 错误处理文档
第二条 workflow:把内容信号送进可复核的收件箱
当三节点练习稳定以后,下一条流程可以开始处理真实信息,但仍不对外发布:
Schedule / RSS / Webhook
→ 标准化
→ 持久化去重
→ 结构化 AI 分类
→ Data Table
→ 每日人工摘要
输入至少保留:
{
"source_id": "stable-source-id",
"canonical_url": "https://example.com/item",
"published_at": "2026-08-07T00:00:00Z",
"captured_at": "2026-08-07T01:00:00Z",
"content_hash": "sha256:...",
"raw_text": "..."
}
先用 source_id 或 canonical URL 做确定性去重,必要时再增加 content hash。语义相似只能生成「可能重复」候选,不能悄悄抹掉两个独立来源。
Agent 只接收通过去重的文本,并被要求返回固定字段:
{
"topic": "pricing",
"objection": "价值表达不清",
"decision_scope": "offer",
"candidate_reason": "读者无法判断购买后会得到什么",
"evidence_excerpt": "原始反馈中的相邻片段",
"confidence": 0.78
}
其中 candidate_reason 是模型判断,evidence_excerpt 必须能回到原始输入。低置信度、schema 校验失败或缺少证据片段的 item 进入人工队列。AI 分类不获得发布凭据。
模型或 prompt 变化以后,要用一小组已人工标注的样本重跑分类,观察准确率、漏报、schema 失败与人工改判。n8n 的 light evaluations 适合从小规模数据集和人工检查起步;需要自动计算指标时,再进入 metric-based evaluations。Light evaluations Metric-based evaluations
这条内容信号箱可以接在我现有的超级个体情报系统 之后:前者保留来源、判断和故障,Growth OS 再决定哪些信号值得进入实验。两层都不应该自动把摘要变成事实。
第三条 workflow:让增长实验等到真实结果回来
内容、增长与营销在这里接成一条线:
- 内容产生并验证信号;
- 增长把信号送进关系与实验;
- 营销负责价值表达与承诺;
- 结果回来以后,修正下一轮内容、Offer 或产品。
一条增长实验可以这样走:
signal
→ proposal
→ human approval
→ operation_id
→ external operation
→ T+3 outcome
→ T+7 outcome
→ retro candidate
proposal 只是候选。它至少要说清目标对象、准备改变什么、成本上限、停止条件和预期证据。审批人可以同意、拒绝或修改;审批记录要保留 proposal 的版本,不能让 Agent 在批准后悄悄换内容。
operation_id 在出站前预留。外部动作结束以后,workflow 把 external reference 与状态写回 operation ledger,再由定时触发器在 T+3 与 T+7 拉回结果。不同业务会用回复、有效预约、激活、留存、退款、取消或收入作为 outcome;阅读量和发布数只能证明渠道在动。
本文给出一个待验证的北极星提案:
每个 Sprint 获得多少条足以改变 Offer、内容或产品决策的有效证据?
「有效」需要有可检查的后果:改变优先级、改写承诺、否定一个假设,或触发停止。若一条数据只进入周报、没有权力改变下一步,它还没有闭环。
这个指标同样会被滥用。团队可能把普通评论包装成「证据」,或者只统计支持当前方向的反馈。因此还要保留分母、反例、被拒绝的 proposal,以及「收到信号但没有改变决策」的理由。
这也延续了我在《我不缺执行力,我缺一个有权否决我的战场》 里的判断:系统能力必须接受外部结果。Growth OS 的新要求,是把这种否决关系写进状态转换。
Instance-level MCP 应该开放多少
n8n 的 instance-level MCP 可以让兼容客户端搜索并运行获准暴露的 workflow;当前官方文档也覆盖了通过 MCP 构建、测试和管理 workflow 的方式。n8n MCP 文档
它改变的是交互入口,不会替系统决定权限。一个合理的初始范围是:
- 允许 Codex 创建或更新草稿 workflow;
- 允许读取 schema、测试 execution 与 validation 结果;
- 只暴露低风险、可回滚的 workflow;
- 禁止 Agent 直接获得发布、花钱、删除或权限修改能力;
- 生产切换、凭据注入和对外 operation 仍需人工审批。
MCP client、n8n 和外部服务各自都有鉴权与日志边界。把它们接通以后,权限面更大了,审计工作不会自动减少。
n8n alternatives:按任务层选,别做总榜
工具选择先问「哪一层最难」,再问「能否替代 n8n」。连接器数量与统一评分很难回答这两个问题。下表的能力描述来自各产品官方文档;「替代、组合、暂时不用」是本文按任务层给出的工程推论,不是厂商间的统一基准测试。
| 任务层 | 优先候选 | 什么时候选 | 与 n8n 的关系 |
|---|---|---|---|
| 短链 SaaS 自动化 | Zapier / Make | 主要工作是连接现成 SaaS,团队希望用 trigger/action 或 scenario/module 快速配置 | 可以替代短链 n8n;复杂错误分支要单独验证,Make 的 error handler 也有自己的执行语义 |
| 开放与自托管的可视化自动化 | Activepieces | 希望使用开放的 Community Edition、自托管,并保留可视化 trigger/action | 可以替代同层的 n8n;先核对企业权限、审计和运维需求 |
| 开发者代码与内部工具 | Pipedream / Windmill | 核心逻辑更适合 Node.js、Python、Go、Bash 或内部脚本,工程师希望直接看代码与运行日志 | 可以替代以代码为主的步骤;也可让 n8n 负责业务路由,Windmill/Pipedream 执行重代码。Windmill 还支持暂停与审批 |
| TypeScript 后台任务 | Trigger.dev | 任务属于代码库,需要队列、并发、重试与后台运行 | 常替代 n8n 的代码任务层;它对idempotency key 有一等支持,也可被 n8n 触发 |
| 高可靠持久业务流程 | Temporal | 流程跨越较长时间,故障恢复和状态持久性属于核心业务正确性 | 可以替代关键业务编排层;学习与运维成本更高,不必拿它做第一条内容自动化 |
| Agent 内部编排 | OpenAI Agents SDK / LangGraph | 难点在 tool loop、handoff、guardrail、持久 Agent state 或 human-in-the-loop | 通常与 n8n 组合:Agent 在受限节点内部推理,n8n 管外部业务状态和副作用 |
还有一个经常被忽略的选项:暂时不用自动化。若流程尚未重复出现、输入输出仍在变、没有明确负责人处理失败、也说不出哪个结果会改变决策,人工执行能更快暴露真实形状。先手工跑三到五次,再决定该固化哪一步。
上线前要过的四道门
1. 可观测
每次 execution 都能回答:由什么触发、处理了哪些 signal、走了哪条分支、在哪一步失败、重试了几次、产生了哪个 operation,以及 outcome 是否按期回来。
2. 可拒绝
审批不是「点一下继续」。它要显示 proposal、证据、目标、成本、权限与即将发生的副作用,并允许拒绝和修改。拒绝本身也是一条可分析的结果。
3. 可恢复
瞬时错误使用有上限的 retry;不可恢复错误进入 Error Workflow;外部写入依靠 operation ledger 防重;等待太久的审批和 outcome 有 timeout、负责人和 runbook。
4. 可评估
规则节点用固定样本做分支测试,Agent 节点用标注数据看准确率与改判率,系统层看有效证据、成本、延迟和漏报。更换模型后不能只确认 workflow 仍显示绿色。
自托管也不会天然获得这些能力。n8n 的 security audit 会检查未使用 credentials、危险节点、未保护 webhook、缺失安全设置与过旧实例;它提醒我们,运行位置只是安全设计的一部分。n8n Security Audit 文档
从一条会说“不”的流程开始
我的 Growth OS 还没有连接 n8n。现在最合理的第一步,是把画布压到最小,暂时不把内容、增长和营销一次性搬进去。
先完成那条三节点 workflow。然后挑一个真实信号来源,让它进入收件箱,由人做一次判断;再挑一个低风险实验,为 operation 写下稳定 ID,并等待 T+3、T+7 的结果回来。结果能够取消下一步以后,自动化才开始成为经营系统。
超级个体需要的杠杆很强。它也要允许现实把方向改掉。
参考资料
- n8n Docs:产品定位、运行选择与文档入口
- n8n Docs:Manual Trigger
- n8n Docs:Edit Fields (Set)
- n8n Docs:IF
- n8n Docs:How n8n structures data
- n8n Docs:Referencing data in the UI
- n8n Docs:Pinning and mocking data
- n8n Docs:All executions
- n8n Docs:Error handling
- n8n Docs:Tools AI Agent 与 human review
- n8n Docs:Wait
- n8n Docs:Light evaluations
- n8n Docs:Metric-based evaluations
- n8n Docs:Build with MCP
- n8n Docs:Security audit
- Zapier Help:What is a Zap?
- Make Help:Types of modules
- Make Help:Overview of error handling
- Activepieces Docs:Installation overview
- Pipedream Docs:What Are Workflows?
- Windmill Docs:Flow architecture and data exchange
- Windmill Docs:Suspend & Approval
- Trigger.dev Docs:Tasks overview
- Trigger.dev Docs:Idempotency
- Temporal Docs:Durable execution platform
- OpenAI Agents SDK
- LangGraph Docs:Overview





读者回响