3224 字
16 分钟
Agent 应用开发技术学习笔记

Agent 应用开发技术学习笔记#

整理日期:2026-09-03
主题:Agent SDK、编排框架、RAG、Harness、低代码平台与生产配套设施

1. 先建立整体认识#

Agent 应用不是“选一个框架就完成了”,而是由多个技术层共同组成。不同产品即使界面相似,解决的问题也可能完全不同。

用户界面 / API / 消息渠道
AI 应用平台:Dify、Flowise、Langflow
Agent SDK 与编排:LangChain、LangGraph、PydanticAI、OpenAI Agents SDK
Agent Harness:Pi、DeepSeek Harness、OpenHands
工具与数据:MCP、RAG、数据库、搜索、企业系统
可靠执行与观测:Temporal、Restate、LangSmith、Langfuse

这些层可以组合。例如:

n8n 监听邮件并获取附件
→ 调用 Dify 完成知识检索与内容分析
→ 调用 LangGraph 服务处理复杂审批状态
→ n8n 将结果写入 CRM 并发送通知

2. 六类核心技术#

类型主要解决的问题代表技术
Agent SDK用代码定义 Agent、工具、记忆和结构化输出LangChain、PydanticAI、OpenAI Agents SDK
Agent 编排框架管理状态、分支、循环、多 Agent 和人工审批LangGraph、CrewAI、Google ADK、Microsoft Agent Framework
数据与 RAG 框架让 Agent 检索、理解和处理文档及企业数据LlamaIndex、Haystack
Agent Harness为 Agent 提供完整、可持续执行的运行环境Pi、DeepSeek Harness、OpenHands、OpenCode
可视化 AI 平台低代码搭建、测试和发布 AI 应用Dify、Flowise、Langflow
自动化集成平台连接业务系统、触发器、Webhook 和消息渠道n8n

另外还有两类生产配套设施:

配套类型代表技术
可靠执行Temporal、Restate、DBOS、Prefect
观测与评测LangSmith、Langfuse、Phoenix、Braintrust、Logfire、W&B Weave

3. Agent SDK:提供编程零件#

Agent SDK 通常提供:

  • 模型统一接口;
  • Tool calling;
  • Agent loop;
  • Memory 和 Session;
  • 结构化输入输出;
  • 模型厂商适配。

3.1 LangChain#

LangChain 生态大、连接器丰富,适合需要同时集成多种模型、工具、Retriever 和向量数据库的项目。它更接近组件与集成层;复杂、状态化的 Agent 通常配合 LangGraph。

3.2 PydanticAI#

PydanticAI 强调 Python 类型安全、依赖注入、结构化输出和可测试性。适合已有 FastAPI/Pydantic 技术栈、希望保持代码清晰的后端团队。

3.3 OpenAI Agents SDK#

OpenAI Agents SDK 提供 Agent、Runner、Tools、Handoffs、Guardrails、Sessions 和 Tracing。适合主要使用 OpenAI 模型,希望用较少抽象快速构建工具型 Agent 的项目。

4. Agent 编排框架:控制执行过程#

编排框架主要解决:

  • 状态管理;
  • 条件分支与循环;
  • 任务拆解;
  • 多 Agent 协作;
  • 暂停、恢复与人工审批;
  • 长流程中的错误处理。

4.1 LangGraph#

LangGraph 将 Agent 表达成有状态图:Node 是模型、工具或普通代码,Edge 表示执行路径,State 保存共享状态,Checkpoint 用于中断与恢复。

它适合客服工单、研究报告、编码 Agent、审批流程,以及需要明确控制执行路径的长期任务。

LangChain:模型、Agent 和工具集成
LangGraph:状态、流程和执行控制
LangSmith:Tracing、评测与监控

三者属于同一生态,经常组合使用,并非三选一。

4.2 CrewAI#

CrewAI 用 Agent、Task、Crew 和 Flow 表达角色式协作,适合研究、内容生产、市场分析等天然具有角色分工的任务。

多 Agent 并不天然优于单 Agent,它通常增加 Token、延迟、错误传播和评测难度。应先验证“单 Agent + 明确工作流”无法满足需求,再引入多 Agent。

4.3 Google ADK 与 Microsoft Agent Framework#

  • Google ADK 适合 Gemini、Google Cloud、多语言 SDK 和多 Agent 场景。
  • Microsoft Agent Framework 适合 Azure、Microsoft 365、.NET 和企业身份体系。AutoGen 与 Semantic Kernel 的新项目应关注微软统一后的 Agent Framework 路线。

5. 数据与 RAG 框架:让 Agent 使用知识#

5.1 LlamaIndex#

LlamaIndex 擅长文档接入、解析、索引、检索、Query Engine、RAG 和数据型 Agent,适合企业知识库、研究助手和文档分析。

5.2 Haystack#

Haystack 以 Document Store、Retriever、Component 和 Pipeline 为核心,适合企业搜索、文档问答和复杂检索流程。

简单选择:

  • 文档、知识库和数据 Agent:优先比较 LlamaIndex 与 Haystack;
  • 通用业务 Agent:优先比较 LangGraph、PydanticAI 与 OpenAI Agents SDK。

6. Agent Harness:给模型一个完整工作环境#

Harness 可以理解为已经组装好的 Agent 运行外壳:

Agent Harness
├── 模型适配与 Agent loop
├── 上下文组装与压缩
├── Tool、文件系统与 Shell
├── 权限审批与沙箱
├── Session、持久化和失败恢复
├── Skills、Plugins 与 Subagents
├── 轨迹、回放和评测
└── CLI、TUI 或 Web UI

Agent SDK 提供零件;Harness 更接近一台可以直接工作的机器。Harness 与 LangGraph 也不互斥:前者提供环境,后者可以负责业务状态编排。

6.1 Pi Agent Harness#

Pi 是 TypeScript monorepo,主要包含:

  • pi-ai:统一多模型 API;
  • pi-agent-core:Agent runtime、工具调用和状态管理;
  • pi-coding-agent:交互式编码 Agent;
  • pi-tuipi-web-ui:终端和 Web UI;
  • Extensions 与 Skills 扩展机制。

Pi 核心相对精简,适合读源码、开发自己的 Coding Agent,或者将 Agent Core 嵌入 TypeScript 应用。

6.2 DeepSeek Harness#

DeepSeek Harness(dsh)采用“一切皆插件”的思路,模型、工具、Skills、Session、Sandbox、Storage、Loop、调度和 UI 均可由插件提供。

它的 append-only Session Event Log 支持 Resume、Fork、Replay、Search 和 Trajectory 检查。运行模式包括 Standard、Code、Minimal 和 Creator。

截至本文整理时,它仍处于 Developer Preview,基础 API 可能发生破坏性变化,适合技术预研和插件化运行时研究,不宜未经充分验证直接成为关键生产系统的唯一底座。

6.3 Pi 与 DeepSeek Harness 对比#

维度PiDeepSeek Harness
主要语言TypeScriptTypeScript
核心风格精简、可扩展的 Coding Agent全插件化 Agent Runtime
扩展机制Extensions、SkillsCordis Plugins
Session 特色Agent 状态与会话事件日志、恢复、分叉与回放
学习用途Agent loop、工具和 UI插件内核、事件系统和运行时组合
当前风险相对成熟,但仍需评估版本兼容Developer Preview,API 变化风险高

选择建议:

  • 快速开发自己的 Coding Agent:优先研究 Pi;
  • 研究可组合 Agent Runtime:重点研究 DeepSeek Harness;
  • 构建稳定的业务流程:优先考虑 LangGraph/PydanticAI 与可靠执行设施;
  • 构建 Agent IDE 或开放扩展平台:Pi 和 DeepSeek Harness 都有较高参考价值。

7. 可视化 AI 平台#

7.1 Dify#

Dify 的主角是 AI 应用,围绕以下能力构建:

  • 模型与 Prompt 管理;
  • Agent、Workflow 与 Chatflow;
  • 知识库、文档解析、Embedding 和检索;
  • 会话与上下文;
  • Web App 与 API 发布;
  • AI 调用日志和运营。

适合企业知识助手、客服机器人、文档问答、内容生成和 AI 产品 MVP。

7.2 Flowise 与 Langflow#

  • Flowise 偏向 AgentFlow、多 Agent 和复杂节点编排;
  • Langflow 偏向 LangChain 组件、RAG 与 MCP 的可视化实验。

低代码平台适合快速验证,但核心业务规则过多时,可视化画布会变得难以测试、Code Review 和版本管理。重要逻辑应逐步下沉到独立代码服务。

8. n8n:自动化与系统集成平台#

n8n 虽然也有模型和 Agent 节点,但核心优势是:

  • Cron、Webhook 和事件触发;
  • HTTP API 与 OAuth 凭证;
  • 邮件、IM、CRM、表格和数据库连接器;
  • JSON 转换、循环与批处理;
  • 错误分支、重试、等待和通知。

它适合将 Agent 接入真实业务系统。例如:

收到客户投诉邮件
→ 下载附件
→ 查询 CRM
→ 调用 Agent 分类
→ 创建工单
→ 高风险投诉通知主管
→ 更新客户状态

9. n8n 与 Dify 的本质区别#

二者都是低代码,但主角不同:

Dify 的主角是 AI 应用;n8n 的主角是业务自动化。

维度Difyn8n
产品定位AI 应用开发平台通用工作流自动化平台
核心对象Prompt、模型、知识库、Agent、对话Trigger、API、数据、SaaS、任务
最擅长AI 助手、RAG、对话与内容生成串联系统、数据同步、定时与事件自动化
AI 能力原生核心能力工作流中的一种能力
RAG原生完整支持通常需要组合外部组件
对话状态原生支持通常需要自己设计和存储
应用发布Web App、聊天应用、APIWebhook、后台工作流和任务
外部连接器有,但不是首要优势核心优势
数据转换中等
技术门槛方向Prompt、模型、RAG、上下文API、JSON、OAuth、数据库、错误处理

可以通过需求中的动词判断:

  • “问答、理解、检索、总结、生成、对话”多:倾向 Dify;
  • “定时、监听、同步、调用、批处理、通知、审批”多:倾向 n8n;
  • 两组动词都多:组合使用 n8n 与 Dify;
  • 涉及复杂状态和核心交易:增加独立代码服务或 LangGraph。

9.1 为什么会觉得 n8n 更技术#

n8n 更接近“可视化后端代码”,使用者经常需要处理:

  • 节点输入输出和 JSON 字段映射;
  • API 鉴权、分页与限流;
  • 循环、批处理和数据转换;
  • 超时、重试和失败分支;
  • 外部数据库与系统状态。

Dify 隐藏了更多 AI 基础设施,但深入使用同样需要理解 Prompt 可靠性、文档切分、检索召回、上下文长度、幻觉和评测。

因此更准确的说法是:

n8n 的门槛偏传统软件工程,Dify 的门槛偏 AI 工程。

9.2 推荐组合方式#

用户 / 定时器 / Webhook
n8n
获取并整理业务数据
调用 Dify API
RAG、推理、生成结果
n8n
审批、入库、通知、更新系统

10. 生产系统不可忽视的配套技术#

10.1 协议与工具接口#

  • MCP:连接 Agent 与工具、数据源;
  • A2A:用于 Agent 之间的发现和通信;
  • OpenAPI / JSON Schema:定义传统服务与 Tool 接口;
  • AG-UI:处理 Agent 与前端之间的事件交互。

新项目应优先设计清晰、强约束的 Tool Schema。有跨客户端复用需求时,再将工具封装为 MCP Server。

10.2 可靠执行#

Temporal、Restate、DBOS 和 Prefect 可用于解决:

  • 超时和自动重试;
  • 断点恢复;
  • 长时间等待人工审批;
  • 幂等性和外部副作用;
  • 工作流版本升级。

转账、下单、发消息和修改生产数据等工具必须设计幂等键、权限校验和操作日志。

10.3 可观测与评测#

常见产品包括 LangSmith、Langfuse、Phoenix、Braintrust、Logfire 和 W&B Weave。至少需要记录:

  • 每次模型调用和工具调用;
  • Prompt、模型版本和参数;
  • Token、成本与延迟;
  • 最终状态和失败原因;
  • 用户反馈与离线评测结果;
  • 工具调用正确率和任务完成率。

没有评测集时,频繁修改 Prompt 很容易沦为凭感觉调参。

10.4 安全#

Agent 能执行外部操作,因此应专门设计:

  • Prompt Injection 防护;
  • 工具最小权限;
  • 写操作人工审批;
  • 容器或虚拟机沙箱;
  • 密钥隔离和 PII 脱敏;
  • URL、文件访问边界;
  • 调用次数和预算限制;
  • 完整审计日志。

11. 按目标选型#

目标优先考虑
通用复杂业务 AgentLangGraph
Python 强类型后端 AgentPydanticAI
OpenAI 单一技术栈OpenAI Agents SDK
企业知识库和文档 AgentLlamaIndex / Haystack / Dify
快速交付 AI 产品 MVPDify
连接邮件、IM、CRM 和定时任务n8n
角色式多 AgentCrewAI,但先验证是否真的需要多 Agent
Google Cloud 与 GeminiGoogle ADK
Azure、.NET 与 Microsoft 生态Microsoft Agent Framework
自研 Coding AgentPi
插件化 Agent Runtime 预研DeepSeek Harness
完整软件工程 AgentOpenHands
TypeScript 全栈 AgentMastra 或 Pi Agent Core

常见组合:

通用生产 Agent:LangGraph + PostgreSQL + MCP + Langfuse/LangSmith
Python 轻量 Agent:PydanticAI + FastAPI + Logfire
快速 AI 产品:Dify + 企业知识库 + 独立业务 API
企业自动化:n8n + Dify/LangGraph 服务 + 企业系统
Coding Agent:Pi/OpenHands + 沙箱 + MCP + Session Store

12. 推荐学习顺序#

  1. 不使用框架,理解一次基本的 Tool Calling Loop。
  2. 学习结构化输出、上下文管理和 Tool Schema。
  3. 掌握 MCP 的 Client、Server、Tool 和 Resource。
  4. 使用 PydanticAI 或 OpenAI Agents SDK 完成一个单 Agent。
  5. 使用 LangGraph 加入状态、分支、审批和断点恢复。
  6. 使用 Dify 完成一个可视化知识助手。
  7. 使用 n8n 接入 Webhook、邮件、IM 或定时任务。
  8. 阅读 Pi 或 DeepSeek Harness 源码,理解完整 Agent Runtime。
  9. 最后再研究 CrewAI 式多 Agent。
  10. 从项目早期建立 Trace 和小型评测集。

13. 最简记忆版#

LangChain = Agent 和工具的组件库
LangGraph = 复杂 Agent 的状态与流程控制
LlamaIndex = 数据、文档和 RAG
Pi / DSH = 能实际持续工作的 Agent 运行外壳
Dify = 低代码 AI 应用平台
n8n = 低代码业务自动化与系统连接器
Temporal/Restate = 长任务的可靠执行
Langfuse = Agent 的追踪、观测与评测

一句话总结:先按问题所在的技术层选工具。Dify 负责“把 AI 做成应用”,n8n 负责“让系统自动运转”,LangGraph 负责“让复杂 Agent 可控”,Pi 与 DeepSeek Harness 负责“给 Agent 一个完整工作环境”。

14. 延伸阅读#

Agent 应用开发技术学习笔记
https://blog-8jx.pages.dev/posts/agent-application-development-notes/
作者
Starflyer
发布于
2026-09-03
许可协议
CC BY-NC-SA 4.0