N8N零代码构建AI代理
在这篇文章中,我将向你展示如何使用 n8低代码平台构建一个 AI 代理,该代理可以自动审查你在 GitHub 仓库中的代码。

这些天,大家都在谈论人工智能将如何取代开发人员。
但今天,让我们换个角度思考。
与其问“人工智能会抢走我们的工作吗?”,不如问:
人工智能将如何改变我们的工作方式?
更重要的是,它如何帮助我们构建更好、更快和更聪明的东西?🤔
在这篇文章中,我将向你展示如何使用 n8n(一个低代码自动化平台)构建一个 AI 代理,该代理可以自动审查你在 GitHub 仓库中的代码。
无论你是独自工作还是团队合作,这种助手可以帮助你更早地发现问题,并更快地进行审查。
1、什么是 n8n?
它是开源的工作流自动化工具,类似于 Zapier 或 Make,但具有更多的灵活性、自托管和开发者控制。
在 n8n 中,你可以通过连接 节点 来可视化地构建流程:
- 触发节点(例如,当拉取请求打开时或用户发送消息时)
- HTTP 请求节点(通过 API 获取/发送数据)
- AI 节点(如 OpenAI、Mistral 等)
- 代码节点(用于自定义逻辑脚本)
- 输出节点(用于发布评论、发送消息等)
n8n 支持数百种集成工具:
🛠️ GitLab、Atlassian、Slack、WhatsApp、Google Sheets、Notion、LinkedIn……
⚠️ 如果没有现成的节点,只需使用 HTTP 请求节点进行自定义 API 调用。
2、工作流中的 AI 代理
n8n 与竞争对手的不同之处在于,它是最早将 AI 代理直接集成到工作流中的工具之一。
AI 代理不仅仅是聊天机器人。它是一个小型系统,能够:
- 接收一个目标:“审查这段代码” 🎯
- 拥有上下文:代码差异、文件元数据、团队最佳实践数据库 🧠
- 使用工具:LLMs、API、内存、Google 表格 🛠️
- 生成输出:评论、更新或建议 ✅
理论够多了!让我们深入一个真实的例子 👇
3、代码审查工作流
我有一个简单的 iOS 应用程序,显示实时加密货币价格,公开托管在 GitHub 上,并由 OpenAI 生成。
我们希望 AI 代理根据团队的最佳实践知识自动审查每个新 PR。以下是工作流的外观:

3.1 触发节点
在拉取请求创建时触发。
使用现有的 GitHub 触发节点,当开发人员打开 PR 时启动流程。
在这个步骤中,没有什么特别的,只需插入你的 GitHub 凭证,并通过 “PR 创建” webhook 将 n8n 与你的代码项目链接起来。🔗
✅ 设置好之后,你就准备好实时响应 PR 了!

获取 PR 的文件更改
如果没有现成的节点,API 总是能解决问题😉。
调用 GitHub API 获取已更改文件和差异列表:
https://api.github.com/repos/{owner}/{repo}/pulls/{pull_number}/files
我们将使用 HTTP 请求节点 如下所示👇

💡 提示: 始终逐步测试你的工作流!不要等到最后。 当你检查当前步骤的 输出字段 时,这有助于确定下一个步骤的 输入字段 应该是什么。
代码审查提示节点
这个步骤需要一些 技术技能(但你总是可以向 AI 寻求帮助😉)。
我们将使用 代码节点 编写一个小的 JavaScript 片段来:
- 从上一步骤的输出中提取代码差异列表。
- 将每个差异与其对应的文件名拼接在一起。
- 构建一个自然语言提示,将所有内容组合在一起,要求 AI 代理审查代码。
结果将是一个结构良好的提示,如下所示:
“你是一位高级 iOS 开发人员。请审查以下这些文件中的代码更改:[filename1]: [diff], [filename2]: [diff]…”
这确保代理接收完整上下文以提供有意义的反馈。
这是完整的代码片段:
const files = $input.all().map(item => item.json);
let diffs = '';
for (const file of files) {
diffs += `### File : ${file.filename}\n\n`;
if (file.patch) {
const safePatch = file.patch.replace(/```/g, "''");
diffs += "```diff\n";
diffs += safePatch;
diffs += "\n```\n";
} else {
diffs += "No patch available (probably a binary file)";
}
diffs += "\n---\n\n";
}
const userMessage = `
You are a senior iOS developer.
Please review the following code changes in these files :
${diffs}
---
Your mission:
- Review the proposed code changes file by file and by significant modification.
- Generate inline comments on the relevant lines of code.
- Ignore files without patches.
- Do not repeat the code snippet or the filename.
- Write the comments directly, without introducing the context.
`;
return [
{
json: {
user_message: userMessage.trim()
}
}
];
⚠️ 你不需要担心 换行符,\n 在 OpenAI 中的提示中会被正确解析。
3.2 工具节点

聊天模型
每个 AI 代理都需要一个 LLM 模型。在这里,我们将使用 OpenAI,但如果需要,你可以轻松切换到其他提供商。
所以你需要通过提供 API 密钥 配置你的 OpenAI 账户到 n8n。这允许代理连接并通信与 LLM 🤖
Google Sheet 工具
我们还将通过 Google Sheet 向代码审查代理提供所有 Swift 代码最佳实践。
⚡ 现在我们可以在 提示 中添加一个新的指令:
“- 根据团队最佳实践进行代码审查”
3.3 动作(输出)节点
发布审查评论
在这个步骤中,我们将配置原生的 GitHub 节点,将代理的审查直接发布到 拉取请求。

添加拉取请求标签
这是我们工作流的 最后一步 🥳。
我们将标记 PR 为类似“由 AI 审查”以添加一个清晰的视觉标签,表明审查是由我们的代理完成的!
4、现在让我们执行整个工作流并看看它的实际效果!
首先,我会创建一个 新的拉取请求,推送一个修改,将一种新的加密货币‘iota’添加到列表中。
这个更改将触发我们的自动化审查过程从头到尾:

AI 代理添加了一个 评论 并标记了 PR 为“由 AI 审查”:


现在感觉就像有一位专家工程师为你审查每个 PR 😎
5、下一步可以改进什么?
虽然当前的工作流功能正常,并且已经增加了实际价值,但还有一些地方可以改进:
5.1 在确切的行上添加内联评论
目前,AI 代理生成了对整个拉取请求的一般性审查评论。 但理想情况下,它应该:
- 对每个相关的文件进行内联评论
- 针对检测到的问题或改进建议的具体行进行评论
🌀 如何做到这一点?
遍历在 第 2 步中从 GitHub 的 PR 文件 API 获取的修改文件列表,并对每个文件:
➡️ 提取 差异和行号
➡️ 使用 精确提示 将它们提供给代理
➡️ 使用我们的 AI 代理和 GitHub 机器人添加评论
5.2 改进提示质量
有时,AI 代理:
- 返回冗长、过于详细的评论
- 缺乏对实际问题或不良实践的关注
🎯 下一步改进:
- 优化提示以专注于检测不良实践,而不是仅仅描述代码
- 在上下文记忆中添加谷歌表格中良好与不良代码的例子,帮助代理更好地推理。
💡 完整的工作流现在作为 开源 n8n 模板 可用:n8n 模板。
6、结束语
这个工作流只是一个开始,迈向将真正有用的 AI 代理融入你的开发流程的第一步。
但如果你想进一步构建更先进的、上下文感知的代理,使其在团队和应用场景中扩展,遵循一个坚实的方法很重要。
这是我推荐的 5 步方法:
发现
识别那些可以通过自动化改善的重复性、耗时或容易出错的任务(例如代码审查、报告、支持工单……)。
设计
详细绘制流程图:
- 输入是什么?
- 有哪些业务规则或团队标准适用?
- 知识存储在哪里(Google Sheets、文档、API……)?
测试
测试各种场景,确保 AI 可靠地处理它们。
部署
将代理整合到真实的工作流中。 从小处着手:并行运行它与人工审查,然后逐渐增加自主性。
维护
代理不是“设置后不管”的工具。通过以下方式不断改进它们:
- 更新知识来源
- 优化提示或上下文
- 收集用户和边缘案例的反馈
原文链接:AI Agent with n8n : From Zero to Hero 😎
汇智网翻译整理,转载请标明出处
