N8N零代码构建AI代理

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

N8N零代码构建AI代理

这些天,大家都在谈论人工智能将如何取代开发人员。

但今天,让我们换个角度思考。

与其问“人工智能会抢走我们的工作吗?”,不如问:

人工智能将如何改变我们的工作方式?

更重要的是,它如何帮助我们构建更好更快更聪明的东西?🤔

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

无论你是独自工作还是团队合作,这种助手可以帮助你更早地发现问题,并更快地进行审查。

1、什么是 n8n?

它是开源的工作流自动化工具,类似于 ZapierMake,但具有更多的灵活性、自托管和开发者控制。

n8n 中,你可以通过连接 节点 来可视化地构建流程:

  • 触发节点(例如,当拉取请求打开时或用户发送消息时)
  • HTTP 请求节点(通过 API 获取/发送数据)
  • AI 节点(如 OpenAI、Mistral 等)
  • 代码节点(用于自定义逻辑脚本)
  • 输出节点(用于发布评论、发送消息等)

n8n 支持数百种集成工具:

🛠️ GitLab、Atlassian、Slack、WhatsApp、Google Sheets、Notion、LinkedIn……

⚠️ 如果没有现成的节点,只需使用 HTTP 请求节点进行自定义 API 调用。

2、工作流中的 AI 代理

n8n 与竞争对手的不同之处在于,它是最早将 AI 代理直接集成到工作流中的工具之一。

AI 代理不仅仅是聊天机器人。它是一个小型系统,能够:

  1. 接收一个目标:“审查这段代码” 🎯
  2. 拥有上下文:代码差异、文件元数据、团队最佳实践数据库 🧠
  3. 使用工具:LLMs、API、内存、Google 表格 🛠️
  4. 生成输出:评论、更新或建议 ✅

理论够多了!让我们深入一个真实的例子 👇

3、代码审查工作流

我有一个简单的 iOS 应用程序,显示实时加密货币价格,公开托管在 GitHub 上,并由 OpenAI 生成。

我们希望 AI 代理根据团队的最佳实践知识自动审查每个新 PR。以下是工作流的外观:

自动化的代码审查工作流

3.1 触发节点

在拉取请求创建时触发。

使用现有的 GitHub 触发节点,当开发人员打开 PR 时启动流程。

在这个步骤中,没有什么特别的,只需插入你的 GitHub 凭证,并通过 “PR 创建” webhook 将 n8n 与你的代码项目链接起来。🔗

✅ 设置好之后,你就准备好实时响应 PR 了!

PR 触发节点
获取 PR 的文件更改

如果没有现成的节点,API 总是能解决问题😉。

调用 GitHub API 获取已更改文件和差异列表:

https://api.github.com/repos/{owner}/{repo}/pulls/{pull_number}/files

我们将使用 HTTP 请求节点 如下所示👇

HTTP 请求节点
💡 提示 始终逐步测试你的工作流!不要等到最后。 当你检查当前步骤的 输出字段 时,这有助于确定下一个步骤的 输入字段 应该是什么。
代码审查提示节点

这个步骤需要一些 技术技能(但你总是可以向 AI 寻求帮助😉)。

我们将使用 代码节点 编写一个小的 JavaScript 片段来:

  1. 从上一步骤的输出中提取代码差异列表
  2. 将每个差异与其对应的文件名拼接在一起
  3. 构建一个自然语言提示,将所有内容组合在一起,要求 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()  
    }  
  }  
];

⚠️ 你不需要担心 换行符\nOpenAI 中的提示中会被正确解析。

3.2 工具节点

不包含触发节点的工作流
聊天模型

每个 AI 代理都需要一个 LLM 模型。在这里,我们将使用 OpenAI,但如果需要,你可以轻松切换到其他提供商。

所以你需要通过提供 API 密钥 配置你的 OpenAI 账户到 n8n。这允许代理连接并通信与 LLM 🤖

Google Sheet 工具

我们还将通过 Google Sheet 向代码审查代理提供所有 Swift 代码最佳实践

⚡ 现在我们可以在 提示 中添加一个新的指令:

“- 根据团队最佳实践进行代码审查”

3.3 动作(输出)节点

发布审查评论

在这个步骤中,我们将配置原生的 GitHub 节点,将代理的审查直接发布到 拉取请求

GitHub 审查节点
添加拉取请求标签

这是我们工作流的 最后一步 🥳。

我们将标记 PR 为类似“由 AI 审查”以添加一个清晰的视觉标签,表明审查是由我们的代理完成的!

4、现在让我们执行整个工作流并看看它的实际效果!

首先,我会创建一个 新的拉取请求,推送一个修改,将一种新的加密货币‘iota’添加到列表中。

这个更改将触发我们的自动化审查过程从头到尾:

由 PR 触发的工作流

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

自动化的代码审查
由 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 😎

汇智网翻译整理,转载请标明出处