摘要: GPT‑6 Astra 与 n8n 的最佳组合不是把所有事情都交给一个“万能 AI Agent”节点,而是明确分工:n8n 负责触发器、凭据、数据搬运、确定性规则、审批、重试和审计;Astra 负责研究、复杂判断、结构化提取、内容生成与跨步骤规划。由于 GPT‑6 Astra 的工具调用必须使用 Responses API,企业接入时要区分两种路线:需要高度可控的研究、表格与文档流水线时,用 n8n HTTP Request 节点直接调用 /v1/responses;需要让模型自主选择 n8n 工具时,使用新版 AI Agent/Tools Agent,并把写入、发送、发布、删除等工具接入 Human Review。本文基于 2026 年 9 月 9 日 OpenAI 与 n8n 官方文档,提供四条完整流程、节点配置、JSON Schema、Code 节点脚本、审批与错误处理、成本优化及生产验收清单。
核心结论
- **n8n 做编排,Astra 做推理。**定时、Webhook、Google Sheets、文件转换、Slack 审批和 CRM 写入交给 n8n;来源归纳、异常判断、字段映射、报告生成和工具选择交给 Astra。
- **Astra 工具调用必须使用 Responses API。**如果 n8n 内置模型节点尚未暴露所需 Astra/Responses 参数,应使用 HTTP Request 节点调用
/v1/responses,不能用旧 Chat Completions 工具调用配置替代。 - **企业数据流优先使用 Structured Outputs。**用严格 JSON Schema 固定字段、枚举和数据类型,再让 n8n Split Out、Merge、IF、Google Sheets 等节点处理,避免靠正则从自然语言中提取业务字段。
- **新版 n8n AI Agent 已统一为 Tools Agent。**旧 v1 节点中的 agent type 设置自 n8n 1.82.0 起弃用,并计划在 n8n 3.0 移除;新流程应使用当前节点并至少连接一个工具。
- **高影响工具必须接 Human Review。**n8n 可通过 Chat、Slack、Telegram 等审批渠道暂停工作流;读取、分析和草稿可自动完成,发送、发布、删除、付款、权限变更与敏感数据传输必须审批。
一、整体架构:不要把 n8n 与 Astra 的职责混在一起
企业自动化通常同时包含确定性步骤和不确定性步骤。前者适合工作流引擎,后者适合推理模型。
| 工作内容 | 推荐执行者 | 原因 |
|---|---|---|
| 定时、Webhook、队列触发 | n8n | 可重复、可追踪 |
| API 凭据和 OAuth | n8n Credentials | 避免把秘密交给模型 |
| 数据清洗、字段重命名、日期计算 | Set / Code 节点 | 确定性强、成本低 |
| 多来源研究与矛盾识别 | GPT‑6 Astra | 需要综合判断 |
| JSON Schema 输出 | Astra Structured Outputs | 下游字段稳定 |
| Sheets/CRM/数据库读写 | n8n 应用节点 | 权限与错误可观测 |
| 写工具选择 | n8n Tools Agent+Astra | 适合开放式任务 |
| 高风险动作确认 | Human Review | 保留人的最终控制 |
| 重试、告警与审计 | n8n | 工作流级治理 |
flowchart TD
A[Trigger / Webhook] --> B[采集与清洗]
B --> C[GPT-6 Astra 推理]
C --> D[Structured Output]
D --> E{确定性处理}
E --> F[表格 / 文档草稿]
F --> G{高影响动作}
G -->|需要| H[Human Review]
G -->|无需| I[执行与审计]
H --> I
二、两种接入方式怎么选
路线 A:HTTP Request 调用 Responses API
适合固定流水线:研究简报、表格分类、文档生成、发票抽取、周报汇总。n8n 明确控制每一步,Astra 返回结构化结果。
优点是 API 参数完整、容易升级模型、能直接使用 text.format、内置 Web Search、File Search 或 Function Calling;缺点是需要自己解析 response 和处理多轮工具调用。
路线 B:n8n AI Agent / Tools Agent
适合开放式任务:“查找最近未跟进的客户,汇总原因并创建草稿任务”。Agent 根据工具 schema 决定调用哪个节点或子工作流。
n8n 官方文档说明,AI Agent 必须连接至少一个工具;新版节点统一为 Tools Agent。Human Review 可以连接到指定工具,模型准备调用时暂停,审批人批准才执行,拒绝则取消。
路线 C:混合架构
生产中最实用。固定研究和结构化生成走 HTTP Request;少量开放式查询走 Tools Agent;所有写操作仍由可审计的子工作流执行,并在必要时审批。

三、基础准备与凭据配置
需要准备:可用的 OpenAI API 项目与 Key、n8n 实例、目标表格或数据库、文档存储、审批渠道。API key 应保存在 n8n Credentials 中,不写进节点参数、表达式、工作流 JSON 或执行日志。
HTTP Request 节点建议配置:
| 字段 | 值 |
|---|---|
| Method | POST |
| URL | https://api.openai.com/v1/responses |
| Authentication | Header Auth / Credential |
| Header | Authorization: Bearer ... |
| Content-Type | application/json |
| Send Body | JSON |
| Timeout | 依据任务设定,例如 120 秒 |
| Retry on Fail | 只对可安全重试错误开启 |
最小请求:
{
"model": "gpt-6-astra",
"reasoning": { "effort": "medium" },
"input": "根据输入数据生成管理摘要,并列出需要人工确认的异常。"
}
GPT‑6 Astra 不支持 none reasoning effort。简单分类从 low 起测,研究与跨来源判断可用 medium 或 high;不要默认全部使用最高档,应以成功任务成本评估。
四、工作流一:自动研究与事实核验
目标:每天收集行业动态,按来源可信度、事件日期和业务影响生成结构化研究卡片。
节点顺序
- Schedule Trigger:每天固定时间启动。
- RSS Read / HTTP Request:采集官方公告和指定来源。
- Remove Duplicates:按规范化 URL 或内容哈希去重。
- Code:裁剪正文、统一日期、过滤空内容。
- Split In Batches:控制并发和单批 token。
- HTTP Request → Astra:提取事件与证据。
- Merge:合并多来源结果。
- Astra 二次综合:识别冲突、排序并生成摘要。
- Google Sheets / Database:写入研究库。
- Slack:发送待复核摘要。
研究提取请求应要求模型区分“来源明确陈述”与“编辑判断”,不要让模型凭记忆补充动态事实:
{
"model": "gpt-6-astra",
"reasoning": { "effort": "medium" },
"input": [
{
"role": "user",
"content": [
{
"type": "input_text",
"text": "从以下来源提取事件。只使用提供的正文;缺失信息返回null。\n{{$json.article}}"
}
]
}
],
"text": {
"format": {
"type": "json_schema",
"name": "research_item",
"strict": true,
"schema": {
"type": "object",
"properties": {
"title": { "type": "string" },
"event_date": { "type": ["string", "null"] },
"facts": { "type": "array", "items": { "type": "string" } },
"evidence_urls": { "type": "array", "items": { "type": "string" } },
"uncertainties": { "type": "array", "items": { "type": "string" } },
"impact_score": { "type": "integer", "minimum": 1, "maximum": 5 }
},
"required": ["title", "event_date", "facts", "evidence_urls", "uncertainties", "impact_score"],
"additionalProperties": false
}
}
}
}
Structured Outputs 不只是“返回合法 JSON”,还要求符合 schema。n8n 下游因此可以直接按字段判断,不必猜测模型是否把 impact_score 写成“五颗星”。
五、在 Code 节点中提取 Responses 输出
Responses API 返回 typed output 数组。不同输出项可能包含 reasoning、message 或 tool call,不能假定正文永远位于固定数组下标。
const response = $json;
const texts = [];
for (const item of response.output ?? []) {
if (item.type !== 'message') continue;
for (const content of item.content ?? []) {
if (content.type === 'output_text' && content.text) {
texts.push(content.text);
}
}
}
if (!texts.length) {
throw new Error(`No output_text; status=${response.status}`);
}
let parsed;
try {
parsed = JSON.parse(texts.join('\n'));
} catch (error) {
throw new Error(`Structured output parse failed: ${error.message}`);
}
return [{
json: {
response_id: response.id,
model: response.model,
usage: response.usage,
result: parsed,
}
}];
还要检查 status、拒绝输出和 incomplete 状态。达到 max_output_tokens 可能在没有可见正文时结束,不能把空文本当成功。
六、工作流二:表格清洗、分类与异常处理
目标:从 Google Sheets、Excel 或 CSV 读取业务数据,先做确定性清洗,再让 Astra 处理语义分类,最后只更新允许的列。
正确的分工
- 空值删除、数字格式、日期标准化:n8n Code/Edit Fields。
- 客户意图、投诉主题、工单优先级:Astra。
- 唯一键查重:数据库或表格节点。
- 写回:Google Sheets/Excel/数据库节点。
- 高风险批量覆盖:人工审批。
一个常见错误是把整张表转换成一大段 Markdown 发给模型。这样成本高、行号易错、失败难重试。应按稳定批次发送,并保留 row_id:
const BATCH_SIZE = 25;
const rows = items.map(item => ({
row_id: item.json.row_id,
subject: item.json.subject,
description: item.json.description,
}));
const batches = [];
for (let i = 0; i < rows.length; i += BATCH_SIZE) {
batches.push({ json: { rows: rows.slice(i, i + BATCH_SIZE) } });
}
return batches;
输出 schema 必须回传同一个 row_id,并限制 category 和 priority 的枚举。写入前 Merge by Key,确认返回行数等于输入行数;缺失、重复或未知 ID 进入异常分支,禁止按数组顺序盲写。
Google Sheets 节点建议
使用行唯一键匹配,限制更新列;把原始数据、AI 建议和人工确认状态分列保存。例如:ai_category、ai_confidence、review_status、reviewer、reviewed_at。不要直接覆盖人工维护的 final_category。
七、工作流三:从数据生成 Word/PDF/Google Docs 文档
目标:读取表格与数据库数据,生成周报、项目报告、客户方案或会议纪要。
推荐采用“两阶段生成”:
- Astra 返回结构化文档计划:标题、章节、要点、表格数据、风险和来源。
- n8n 使用模板节点或子工作流渲染成 HTML/Docs/DOCX/PDF。
不要让模型直接输出一整段不可控 HTML 并立即发送。结构化计划更容易验证字段和套用企业模板:
{
"report_title": "2026年第36周客户运营周报",
"period": { "start": "2026-08-31", "end": "2026-09-06" },
"executive_summary": "...",
"sections": [
{ "heading": "新增线索", "body": "...", "table_ref": "leads" }
],
"risks": [
{ "level": "high", "item": "...", "owner": "销售运营" }
],
"sources": ["sheet:Leads!A2:H200"]
}
文档生成后增加 QA 分支:校验标题、日期、必需章节、数字合计、空字段、链接和文件大小。外发前通过 Human Review 展示收件人、文件名、摘要和附件。
八、工作流四:跨 CRM、工单与企业消息的业务流程
示例:新客户表单进入后,Agent 判断意向、在 CRM 查重、生成跟进建议、创建任务草稿,并通知销售。
flowchart TD
A[Webhook 新线索] --> B[校验与去重]
B --> C[Astra 评分与摘要]
C --> D[CRM 查询]
D --> E{已有客户?}
E -->|是| F[更新草稿]
E -->|否| G[新建草稿]
F --> H[Human Review]
G --> H
H --> I[CRM 写入]
I --> J[消息通知与审计]
Tools Agent 可连接:查询客户、读取订单、创建草稿任务、更新 CRM、发送消息。将只读工具直接连接;将 update_crm、send_message 等工具接入 Human Review。n8n 官方流程是从 AI Agent 的工具连接器进入 Human review,选择 Chat、Slack、Telegram 等审批渠道,再把需审批工具接上。

九、如何定义安全的 n8n Agent 工具
工具名和描述应具体,参数尽量少。不要提供一个 run_any_sql 或 call_any_api 万能工具。
| 不安全工具 | 推荐拆分 |
|---|---|
manage_customer | search_customer、draft_customer_update、apply_approved_update |
send_message 任意收件人 | draft_sales_notice、send_approved_sales_notice |
run_sql | 参数化的 get_open_tickets、update_ticket_status |
file_manager | read_report_input、write_report_output |
工具输出返回结构化 JSON,并包含业务 ID、状态和可验证字段。写工具使用幂等键,重试前回读实际状态。
十、Human Review:审批什么,不审批什么
自动执行
- 读取指定表格或数据库视图;
- 搜索白名单来源;
- 清洗和分类;
- 生成草稿与差异预览;
- 写入隔离的 AI 建议列;
- 在测试环境创建临时文件。
必须审批
- 代表员工对外发送邮件或消息;
- 发布文章、修改线上页面;
- 覆盖人工维护字段或批量更新 CRM;
- 删除、合并或不可逆修改记录;
- 付款、退款、下单;
- 改变权限或共享范围;
- 向第三方传输敏感数据。
审批消息应显示动作、目标、原值、新值、影响记录数、数据目的地和过期时间。批准令牌绑定具体参数;数据变化后必须重新审批。
十一、错误处理与重试设计
n8n 的 Error Trigger、Continue on Fail、Retry on Fail 很方便,但 Agent 写操作不能无脑重试。
| 错误类型 | 处理方式 |
|---|---|
| 429/临时网络错误,尚未写入 | 指数退避并限制次数 |
| Structured Output 缺失/拒绝 | 进入人工复核或安全降级 |
status=incomplete | 检查原因,调整输出预算后重新创建受控任务 |
| CRM 写入后连接中断 | 按幂等键查询真实状态,禁止直接重试 |
| 审批拒绝 | 终止该动作,记录拒绝原因 |
| Schema 或列名变化 | 停止写回并报警 |
| n8n 凭据失效 | 通知管理员,不把凭据问题交给模型处理 |
建议每条业务记录都有 workflow_run_id、task_id、idempotency_key、source_hash 和 schema_version。
十二、研究、表格与文档的质量验证
研究验证
- 来源链接可访问;
- 事件日期与发布日期分开;
- 事实能够追溯到来源;
- 不确定内容明确标记;
- 多来源冲突不被强行合并。
表格验证
- 输入行数与输出行数一致;
- 每个
row_id唯一且存在; - 枚举值合法;
- 数值范围、日期和必填列通过校验;
- AI 建议列与人工最终列分离。
文档验证
- 模板必需章节齐全;
- 数据总计与源表一致;
- 日期范围正确;
- 来源与附件存在;
- 发送前完成预览与审批。
十三、成本与性能优化
Astra 单价高于轻量模型,不应承担所有机械步骤。建议采用模型路由:低成本模型或 Code 节点处理格式化和简单分类,Astra 处理多来源研究、复杂异常和最终综合。
降低成本的八个方法:
- 在进入模型前去重、过滤和裁剪内容;
- 将稳定系统说明放在 prompt 前缀以利用缓存;
- 按合理批次处理表格,不逐行单独调用;
- 用 Structured Outputs 降低解析失败重试;
- 只让 Astra看到完成任务必需的字段;
- 限制
max_output_tokens,但为 reasoning 留足空间; - 记录 token 与成功任务成本,而非只看单次调用;
- 后台非紧急流程使用 Standard,并评估 Batch/Flex。
官方文档显示 Astra 标准短上下文输入、缓存输入、输出分别为每百万 token 10、1、50 美元,缓存写入 12.50 美元;超过 272K 输入后整次请求使用更高档位。价格会变化,上线前核对实时页面。
十四、凭据、数据与提示注入安全
- OpenAI Key、Google OAuth、CRM token 全部放 n8n Credentials;
- 工作流导出前检查是否包含固定密钥或测试数据;
- 来源网页、邮件和文档视为不可信,不能授予工具权限;
- Agent 工具使用最小权限账户;
- 对外部 URL 使用白名单,禁止模型自由决定任意目的地;
- 执行日志脱敏密码、API key、身份证和财务信息;
- 测试与生产使用不同凭据、项目和表格;
- 定期轮换密钥并检查 n8n 实例、社区节点和依赖版本。
十五、生产监控仪表盘
至少统计:工作流成功率、一次通过率、Astra 调用次数、输入/缓存/输出 token、每成功任务成本、P50/P95 用时、Schema 失败率、审批率、拒绝率、人工接管率、外部 API 错误、重复写入、回滚与补偿次数。
每次执行保留输入来源 ID、模型响应 ID、模型快照、reasoning effort、schema version、工具调用、审批人与实际写入结果。日志用于复盘,不应无限保存敏感原文。
十六、可复制的节点清单
研究 Agent
Schedule Trigger → RSS/HTTP Request → Code清洗 → 去重 → Loop Over Items → Astra Responses → Parse JSON → Merge → Sheets/DB → Slack摘要
表格 Agent
Google Sheets Trigger → Filter → Code分批 → Astra分类 → Schema校验 → Merge by row_id → IF异常 → 写AI建议列 → Review → 写最终列
文档 Agent
Schedule/Webhook → 数据查询 → Aggregate → Astra文档计划 → 模板渲染 → Convert to File → QA → Human Review → 邮件/Drive归档
业务流程 Agent
Webhook → Validate → Tools Agent → Read Tools → Draft Write Tool → Human Review → Approved Write Workflow → Verify → Notify → Audit
如需扩展,可参考 AI Stack Nav 的 n8n 工作流教程 和 GPT‑6 Astra 实战,把本文的结构化 schema、审批和审计字段复用到现有 WordPress 自动发文或企业 Agent 项目。
十七、上线验收清单
- Astra 工具调用使用 Responses API,而非旧 Chat Completions 工具路径。
- n8n AI Agent 使用当前 Tools Agent 节点。
- 每个 Agent 至少连接一个定义清晰的工具。
- 固定流水线优先用 HTTP Request+Structured Outputs。
- 输入去重、裁剪并保留来源 ID。
- 表格按
row_id合并,不按数组位置写回。 - AI 建议字段不直接覆盖人工最终字段。
- 所有写、发送、发布和删除工具已接 Human Review。
- 审批消息包含目标、参数、影响范围与数据目的地。
- 写操作使用幂等键并执行后回读。
- API 和 OAuth 凭据只存在于 Credentials。
- 配置 Error Workflow、超时、并发和重试上限。
- 记录模型、token、成本、审批和业务结果。
- 已测试拒绝、超时、重复执行、Schema 变化和断点恢复。
事实依据与来源
| 事实 | 官方来源 | 实施影响 |
|---|---|---|
| GPT‑6 Astra 工具调用要求 Responses API | OpenAI Function Calling | HTTP Request 接 /v1/responses |
| Astra 支持 Structured Outputs、工具调用、MCP、缓存等 | OpenAI Model Guidance | 可构建结构化企业流水线 |
| Structured Outputs 遵守 JSON Schema | OpenAI Structured Outputs | 下游不依赖自然语言解析 |
| n8n AI Agent 必须连接至少一个工具 | n8n AI Agent | 明确 Agent 环境与能力 |
| 新版 AI Agent 统一为 Tools Agent | n8n AI Agent | 避免继续使用将移除的 v1 类型选项 |
| Tools Agent 使用工具 schema 并支持标准输出格式 | n8n Tools Agent | 工具应参数化、细粒度 |
| 指定工具可接 Human Review | n8n Tools Agent | 写入和发送前暂停审批 |
| Human Review 支持 Chat、Slack、Telegram 等渠道 | n8n Tools Agent | 可接入企业现有审批入口 |
| Google Sheets 可作为 Agent 数据源/工具 | n8n 官方示例 | 支持表格查询与业务数据流 |
十八、常见问题 FAQ
Q1:n8n 内置 OpenAI Chat Model 能直接使用 Astra 工具调用吗?
要看当前节点是否明确使用 Responses API 并暴露所需模型参数。官方规定 Astra 工具调用要求 Responses API;不确定时使用 HTTP Request 调 /v1/responses。
Q2:所有工作流都需要 AI Agent 节点吗?
不需要。固定研究、分类和文档流程用普通节点加一次 Astra 请求更稳定。只有工具选择和路径本身不固定时才需要 Tools Agent。
Q3:为什么一定要 Structured Outputs?
它不仅保证 JSON 合法,还保证符合指定 Schema,能显著减少缺字段、错误枚举和下游解析重试。
Q4:Astra 可以直接更新 Google Sheets 吗?
可以通过 n8n Google Sheets 工具或节点执行,但应限制表格、工作表、行与列;高影响覆盖应审批并保留原值。
Q5:表格应该逐行调用还是批量调用?
通常小批量更划算。每批保留唯一 row ID,控制上下文大小,并在写回前验证数量和 ID。
Q6:Human Review 如何配置?
在 AI Agent 的工具连接器中找到 Human review,选择 Chat、Slack、Telegram 等审批渠道,把需要审批的工具连接过去。
Q7:审批拒绝后 Agent 会怎样?
被审批保护的动作取消。工作流应记录拒绝原因,并决定结束、返回草稿或让 Agent提出无风险替代方案。
Q8:能否让 Astra 自动发送所有日报?
内部固定收件人、低敏感内容可在明确策略下预授权;新收件人、外部地址、敏感附件和公开发布应实时确认。
Q9:怎样避免 n8n 重复创建 CRM 记录?
为每条业务动作创建幂等键,写入前按唯一键查询,连接中断后先回读真实状态再决定是否重试。
Q10:n8n 的旧 Tools Agent 配置还能用多久?
官方文档说明旧 v1 节点的 agent type 设置从 1.82.0 起弃用,并计划在 n8n 3.0 移除,应迁移到当前 AI Agent 节点。
十九、最终实施建议
先从一条低风险、可衡量的流程开始,例如“读取表格→Astra 分类→写入 AI 建议列→人工抽检”。稳定后增加研究与文档生成,再开放经过审批的 CRM 或消息写工具。
企业 Agent 的价值来自稳定交付,而不是节点数量。让 Astra 集中处理真正需要推理的部分,让 n8n 承担连接、规则、审批、重试和审计,才能把研究、表格、文档与业务流程组合成可观察、可复用、可治理的自动化系统。
参考资料
- OpenAI,GPT‑6 Astra Model Guidance
- OpenAI,Function Calling
- OpenAI,Structured Outputs
- OpenAI,MCP and Connectors
- n8n,AI Agent node
- n8n,Tools Agent
- n8n,Use Google Sheets as a data source
环境配置与 Docker 工作流
适合阅读安装部署、本地配置、服务器搭建和自动化流程类文章后继续转化。