- 文档
- 教程
- 知识库
- 人工智能
【免费下载链接】ai-guide
程序员鱼皮的 AI 资源大全 + Vibe Coding 零基础教程,分享 OpenClaw 保姆级教程、大模型玩法(DeepSeek / GPT / Gemini / Claude / GLM)、最新 AI 资讯、Prompt 提示词大全、AI 知识百科(Agent Skills / RAG / MCP / A2A)、AI 编程教程(Harness Engineering)、AI 工具用法(Cursor / Claude Code / TRAE / Codex / Copilot)、AI 开发框架教程(Spring AI / LangChain)、AI 产品变现指南,帮你快速掌握 AI 技术,走在时代前沿。本项目为开源文档 aiguide,已升级为鱼皮 AI 导航网站
导读:本文是「Vibe Coding 零基础教程」系列中的核心知识章节,系统拆解 AI 应用开发的 5 种主流模式——HTTP API 直接调用、官方 SDK、AI 开发框架、低代码平台与 AI 编程工具 SDK。读完你将能准确回答"AI 应用怎么开发"这一高频面试问题,并在用 AI 编程做项目时,知道自己该往技术栈里加什么。
很多同学对 AI 应用开发的认知停留在「调个 API」这个层面,觉得能发个 HTTP 请求拿到 AI 的回答就完事儿了。但实际上,调 API 只是最基础的一种方式:从最底层的 HTTP 请求,到官方 SDK 封装,到功能齐全的开发框架,再到拖拽式的低代码平台,外加一种鲜为人知的 AI 编程工具 SDK 模式——AI 应用开发的方式已经非常丰富。
本仓库的 主流 AI 应用开发模式.md 是理解这条技术脉络的核心文档。本文将继承其完整骨架,并结合仓库内 AI 编程技术栈速查、AI 应用开发面试题、Dify 平台教程、Spring AI 项目实战 与 LangChain4j 项目实战 等配套资料做源码级纵深补充,让每个模式既有可直接复制的代码,又有工程落地层面的解释。
一、模式总览:AI 应用开发的 5 条技术路线
下面这张对比表可以帮你快速建立整体认知(也是面试时"一句话总结"的素材):
| 模式 | 一句话总结 | 适合谁 |
|---|---|---|
| HTTP API | 自己拼请求调模型,最底层最灵活 | 想了解底层原理、或 SDK 不支持的语言 |
| 官方 SDK | 用官方封装好的工具包调模型 | 大多数开发者的日常开发 |
| AI 开发框架 | 记忆、RAG、工具调用等能力开箱即用 | 需要开发完整 AI 应用的团队 |
| 低代码平台 | 拖拽搭建,不用写代码 | 非技术人员、快速验证想法 |
| AI 编程工具 SDK | 让 AI Agent 帮你写代码 | 想把 AI 编程能力集成到自动化流程中 |
这 5 种模式并不互相排斥,实际开发中经常混用:用低代码平台快速搭原型验证想法,验证通过后用开发框架重写成正式版本;或者在框架项目里,某个模块直接用 HTTP API 调一个特殊接口。
二、模式一:HTTP API 直接调用
2.1 基本原理:像打电话一样调大模型
最原始、最直接的方式,就是通过 HTTP 请求调用大模型的 API 接口。简单来说,就是你的程序给大模型发送一条消息,大模型处理完之后把结果返回给你。
这就像打电话给专家咨询问题:你得自己拨号码(拼接 API 地址)、报上身份(传入密钥)、把问题描述清楚(构造请求体),然后等专家回答完再自己记录下来(解析响应)。虽然每一步都得自己来,但你对整个过程有完全的掌控。
不管你用什么编程语言,只要能发 HTTP 请求,就能调用 AI 大模型。因此这是所有大模型服务商都支持的最基本调用方式——无论是 OpenAI、Anthropic,国内的 DeepSeek、通义千问,本地用 Ollama 部署的开源模型,还是 OpenRouter 这类"一个 API Key 调用多家模型"的聚合平台,都支持 HTTP API。
目前 HTTP API 调用主要有两种协议格式。
2.2 OpenAI 兼容格式(事实标准)
这套格式最初由 OpenAI 定义,但因为用的人多,如今已成为各家默认遵循的标准。DeepSeek、通义千问、Kimi、Ollama 等绝大多数大模型服务商都兼容这套格式。统一标准的好处是:你写一套调用代码,只需换 API 地址和密钥,就能无缝切换到不同厂商的模型,无需重新适配格式。
下面用 curl 发一个 OpenAI 兼容格式的请求,调用 DeepSeek 大模型:
curl https://api.deepseek.com/chat/completions \ -H "Authorization: Bearer 你的API密钥" \ -H "Content-Type: application/json" \ -d '{ "model": "deepseek-v4-pro", "messages": [ {"role": "system", "content": "你是一个有用的助手"}, {"role": "user", "content": "用一句话介绍什么是AI应用开发"} ] }'如果换成调用 OpenAI 的模型,只需把 URL 请求地址和model模型名称换掉即可,请求格式完全一样。
2.3 Anthropic Messages API 格式
Anthropic(Claude 模型开发商)使用自己独立的协议,请求结构与 OpenAI 不同。比如系统提示词放在顶层的system参数里,而不是作为一条消息传入。调用 Claude 系列模型时必须按其格式来:
curl https://api.anthropic.com/v1/messages \ -H "x-api-key: 你的API密钥" \ -H "content-type: application/json" \ -d '{ "model": "claude-sonnet-4-6", "max_tokens": 1024, "system": "你是一个有用的助手", "messages": [ {"role": "user", "content": "用一句话介绍什么是AI应用开发"} ] }'2.4 核心字段与两种调用方式
实际开发时,你需要理解请求和响应中各个字段的含义:
messages:核心字段,即你跟 AI 的对话消息列表,按role(system / user / assistant)区分角色;temperature:控制回答的随机性,值越高输出越随机多样(适合创意写作),值越低输出越确定保守(适合专业问答);max_tokens:限制回答的最大长度;usage:响应中用于告诉你本次调用消耗了多少 Token 的计费信息;stream:是否开启流式输出。
大模型 API 通常提供两种调用方式:
- 普通请求:一问一答,等 AI 生成完整个回答后一次性返回;
- 流式请求:想实现"一个字一个字往外蹦"的打字机效果,需要用到SSE(Server-Sent Events)流式传输协议,让服务端把生成内容一段一段推送给你。用法不复杂,请求参数里把
stream设为true即可。
用 Python 写一个流式调用示例,感受打字机效果是如何实现的:
import requests response = requests.post( "https://api.deepseek.com/chat/completions", headers={ "Authorization": "Bearer 你的API密钥", "Content-Type": "application/json" }, json={ "model": "deepseek-chat", "stream": True, # 开启流式输出 "messages": [ {"role": "system", "content": "你是一个有用的助手"}, {"role": "user", "content": "用一句话介绍什么是AI应用开发"} ] }, stream=True # 开启流式接收 ) # 逐行读取服务端推送的内容 for line in response.iter_lines(): if line: print(line.decode())2.5 何时该选 HTTP API?
从源码结构看,HTTP 直调适合以下场景:想深入理解大模型调用底层原理、使用 SDK 不支持的语言、或需要精确控制请求头与协议细节。但代价也很明显——填 URL、设请求头、构造 JSON、解析响应、处理错误码、流式数据逐行解析,这些与业务无关的细节全都要自己处理。这也是催生下一层封装(SDK)的根本原因。
三、模式二:官方 SDK 调用
3.1 SDK 的本质:把 HTTP 细节封装成"智能通讯 APP"
写过上面那段代码后你会明显感到:直接用 HTTP 调用很麻烦。所以各大模型厂商都提供了SDK(Software Development Kit,软件开发工具包),帮你把底层细节封装好。
打个比方:如果 HTTP API 是自己拨号打电话,那 SDK 就像装了智能通讯 APP——你只管说话,APP 自动拨号、接通、录音、整理成文字,拿到手的就是现成答案。
目前 OpenAI、Anthropic、Google、阿里云百炼、智谱等主流大模型服务商都提供了多语言 SDK,覆盖 Python、Java 等常用语言。SDK 的本质是对 HTTP 请求的封装,所以 OpenAI 兼容格式在 SDK 层面同样适用——比如 DeepSeek 兼容 OpenAI 协议,直接用 OpenAI 的 SDK 改个参数就能调用 DeepSeek。
3.2 用 OpenAI Python SDK 调用模型
# 引入 OpenAI 官方 SDK from openai import OpenAI client = OpenAI(api_key="你的API密钥") completion = client.chat.completions.create( model="gpt-5", messages=[ {"role": "system", "content": "你是一个有用的助手"}, {"role": "user", "content": "用一句话介绍什么是AI应用开发"} ] ) print(completion.choices[0].message.content)不用填 URL、不用设请求头、不用手动解析 JSON,几行代码搞定。而且 SDK 内置了错误重试、类型提示、流式处理等功能,开发效率更高、代码更简洁、系统更稳定。
3.3 一个 SDK 通吃多家模型:改 base_url 即可
如果你用 DeepSeek 模型,代码几乎一模一样,只需改base_url请求地址和model模型名称:
client = OpenAI( api_key="你的DeepSeek密钥", base_url="https://api.deepseek.com" ) # 调用时把 model 换成 DeepSeek 的模型名 completion = client.chat.completions.create( model="deepseek-chat", messages=[...] )这与本文 2.2 节提到的"OpenAI 兼容格式成为事实标准"互为印证:正是因为协议统一,SDK 层面才能做到"一套代码、多家模型"。
四、模式三:AI 开发框架
4.1 为什么需要框架?
SDK 解决了"怎么方便地调模型",但企业级 AI 应用远不止调模型那么简单。你可能还需要:
- 会话记忆:让 AI 记住之前聊过什么;
- RAG 检索增强生成:让 AI 先去知识库查资料再回答;
- 工具调用:让 AI 调用外部工具(查天气、搜网页);
- MCP 协议:接入更多外部服务;
- 多 Agent 协作:让多个 AI 协同完成复杂任务。
这些能力每个都从零开始写,工作量巨大。于是有人在 SDK 基础上又封装一层,做成AI 开发框架。打个比方:SDK 是给你发动机、轮胎、方向盘这些零件自己装配;AI 开发框架是直接给你半成品车,底盘、车架、电路都搭好了,你只需要决定外观和内饰就能上路。
4.2 Python 生态:LangChain 与 LangGraph
Python 生态中,LangChain是目前最主流的 AI 应用开发框架,提供大量集成组件,涵盖模型调用、RAG 知识库、工具调用、MCP 集成等常用能力。LangGraph是 LangChain 团队推出的进阶框架,用图结构编排复杂 AI 工作流,适合构建有状态、需要循环和分支逻辑的 AI 智能体。
用 LangChain 调用模型的代码:
from langchain.chat_models import init_chat_model from langchain.messages import HumanMessage, SystemMessage model = init_chat_model("gpt-5") messages = [ SystemMessage("你是一个有用的助手"), HumanMessage("用一句话介绍什么是AI应用开发") ] response = model.invoke(messages) print(response.content)看起来和 SDK 差不多?但 LangChain 的价值在于,当你需要加记忆、工具调用这些高级能力时,只需几行配置就能搞定,不用自己从零实现。比如创建一个带工具调用能力的 AI Agent:
from langchain.agents import create_agent from langchain.tools import tool # 定义一个工具,让 AI 能查天气 @tool def get_weather(city: str) -> str: """查询指定城市的天气""" return f"{city}今天晴,25°C" # 一行代码创建带工具调用能力的 Agent agent = create_agent(model="gpt-4o", tools=[get_weather]) # 调用 Agent,它会自动判断是否需要调用工具 result = agent.invoke( {"messages": [{"role": "user", "content": "北京今天天气怎么样?"}]} )这样 AI 就能主动调用工具查天气,你只需定义好工具函数,剩下交给 LangChain。
4.3 跨语言生态:LangChain4j、Spring AI、Vercel AI SDK
很多其他语言生态的 AI 开发框架在设计上都参考了 LangChain 的思路:
- Java 的 LangChain4j、Go 的 LangChainGo:功能上与 Python 版基本对齐,学会一个版本切到其他语言也容易上手。仓库的 Cursor + LangChain4j - AI 编程助手项目实战 展示了其核心玩法:通过
AiServices.builder(...)链式装配chatModel(对话模型)、chatMemory(会话记忆)、contentRetriever(RAG 检索器)、tools(工具调用)与toolProvider(MCP 工具),一行行代码演示了对话记忆、结构化输出、RAG、工具调用、MCP、护轨(Guardrail)、日志与可观测性等特性如何开箱即用。 - Spring AI 与 Spring AI Alibaba:由 Spring 官方与阿里推出,深度融入 Spring Boot 生态,适合 Java 后端开发者。仓库的 Spring AI - AI 超级智能体项目实战 以 Spring AI 为核心,结合 RAG 知识库、PGvector 向量数据库、Tool Calling、MCP、ReAct Agent 构建了完整的"AI 超级智能体",并总结出其核心特性包括:Advisor 拦截机制、对话记忆、结构化输出、ChatClient 客户端、工具调用注解等。
- Vercel AI SDK:TypeScript 生态的 AI 开发框架,提供 20 多个模型供应商的统一接口,特别适合前端和全栈开发者。仓库 AI 编程技术栈速查 中也提示:LangChain 更适合原型开发和复杂的多模型编排场景,如果应用比较简单,直接用各家大模型的 SDK 反而更轻量。
五、模式四:低代码 AI 开发平台
5.1 搭积木式开发:不写代码也能做出 AI 应用
框架虽强大,但写代码终归有门槛。低代码 AI 开发平台让业务人员或编程初学者也能搭建 AI 应用。打个比方,低代码平台就像搭积木:大模型是一块积木,知识库是一块积木,工具调用是一块积木,每块都是现成的,你只需决定怎么拼接。
5.2 Dify:开源、可私有化部署的典型代表
Dify 是典型的低代码 AI 开发平台,支持通过可视化界面搭建 AI 聊天助手、工作流、知识库问答等应用,还能一键接入各种大模型。它最大的优势是开源、可私有化部署,企业想把数据放在自己服务器上也没问题。在 Dify 上搭一个 AI 聊天助手大致四步:
- 选择一个大模型(比如 GPT-5.5 或 DeepSeek);
- 写一段系统提示词,告诉 AI 它的角色;
- 配置知识库(可选),上传你的文档资料;
- 点击发布,得到一个可调用的 API 或者直接分享的聊天链接。
整个过程不需要写一行代码。仓库的 Dify:零代码 AI 应用开发平台 还进一步拆解了 Dify 的核心概念链路:选大模型(LLM)→ 调温度参数 → 写系统/用户提示词 → 理解 Token 计费 → 用 Embedding 技术把文档切块转向量存入向量库、实现知识库问答(RAG)→ 发布并暴露 API。这些概念(大模型、提示词、Token、RAG、智能体)在所有 AI 工具中是通用的。
5.3 其他低代码平台一览
- Coze(扣子):字节跳动推出,提供大量预置插件和模板,可视化流程、零代码,上手快,适合个人和轻量应用;
- 阿里云百炼:一站式大模型应用构建平台,集成模型调用、智能体编排、知识库管理,提供企业级可视化流程编排,与阿里云服务深度集成,适合企业用户;
- n8n:开源的工作流自动化平台,擅长做跨系统的 AI 自动化流程。
六、模式五:AI 编程工具的 SDK(隐藏模式)
6.1 模式本质:雇一个会写代码的 AI 程序员
前面 4 种模式覆盖了从手动写代码到完全不写代码的各种方案,但还有第 5 种很多人不知道的模式——AI 编程工具的 SDK。
2026 年,Cursor、Claude Code、GitHub Copilot 等 AI 编程工具纷纷推出自己的 SDK。你可以在自己的代码里直接调用这些 AI 编程工具的 Agent,它们能帮你读代码、改代码、跑命令,而且你在 AI 编程工具里配置好的MCP 服务、Skills、项目规则这些能力,通过 SDK 调用时同样生效。
如果说前面那些方式都是你自己动手干活,那么使用 AI 编程工具的 SDK 相当于雇了一个会写代码的 AI 程序员:你只需要告诉它做什么,它会自动读文件、分析代码、完成开发。
6.2 Cursor SDK 实战:让 Agent 自动完成整个开发流程
以 Cursor SDK 为例,它允许你在 TypeScript / Node.js 代码中直接调用 Cursor 的 AI Agent。
第一步:安装 SDK。新建项目文件夹,在终端执行:
npm install @cursor/sdk第二步:获取 API Key。登录 Cursor Dashboard,在 Integrations 页面生成一个 API Key 保存下来,后面代码用它验证身份。
第三步:编写调用代码。假设本地有一个「创作选题获取器」项目,里面用 AGENTS.md 定义了选题获取的工作流规则,还安装了 frontend-design 前端设计技能。现在想让 AI 获取今天的热门选题并生成漂亮的网页报告,新建main.js:
import { Agent } from "@cursor/sdk"; // 创建 AI Agent,指向「创作选题获取器」项目 const agent = await Agent.create({ apiKey: '你的 API Key', model: { id: "gpt-5.5" }, local: { cwd: "/Users/yupi/workflow/创作选题获取器" }, }); // 一句话下达指令 const run = await agent.send("帮我获取今日 AI 领域的热门选题,并生成一个网页报告"); // 收集所有事件,打印到终端的同时保存到文件 const events = []; for await (const event of run.stream()) { console.log(event); events.push(event); } // 把完整的事件记录保存为 JSON 文件,方便事后分析 const fs = await import("fs"); fs.writeFileSync("agent-output.json", JSON.stringify(events, null, 2));第四步:运行。在终端执行:
node main.js运行后终端会输出一连串事件,从日志里可以清晰地看到 Agent 的整个执行过程:它先用glob工具扫描项目目录,用read工具依次读取 AGENTS.md 工作流规则和 frontend-design 的 SKILL.md 技能说明,通过shell工具调用项目里的热点获取脚本进行联网搜索(从 GitHub、Hacker News 等 6 个平台采集了 70 条热门话题),再用edit命令生成近千行代码的 HTML 网页报告,最后自动打开浏览器展示结果。
一次性的简单任务还有更简洁的写法:
const result = await Agent.prompt( "给这个项目写一个 README.md", { apiKey: process.env.CURSOR_API_KEY!, model: { id: "composer-2" }, local: { cwd: process.cwd() }, } );6.3 三种运行模式与工程化价值
- 本地运行模式:Agent 直接在你自己电脑上跑,适合开发调试(上文演示即此模式);
- Cursor 托管云模式:Cursor 帮你在云端开一台隔离虚拟机执行任务,适合同时跑多个 Agent 并行处理;
- 自托管云模式:自己管理服务器,适合企业内部使用。
整个过程和在 Cursor 编辑器里跟 AI 对话一模一样,但区别在于你是用代码调用它——这意味着可以把它嵌入 CI/CD 流水线、自动化脚本、甚至自己的产品里。普通大模型 SDK 只能生成文本,而 AI 编程工具的 SDK 能直接操作代码库、调用工具、生成文件。
更进一步,你甚至可以把 AI 编程工具当成一种开发环境:像部署项目需要配置数据库一样,在服务器上配好 AI 编程工具的环境,然后在代码中通过 SDK 调用,实现自动化的代码生成、审查、重构等任务。
除了 Cursor,Anthropic 的 Claude Agent SDK 和 GitHub 的 Copilot SDK 也提供类似能力,用法大同小异。
七、怎么选择:用最少的成本解决当前的问题
7.1 五模式横向对比
| 模式 | 一句话总结 | 适合谁 |
|---|---|---|
| HTTP API | 自己拼请求调模型,最底层最灵活 | 想了解底层原理、或 SDK 不支持的语言 |
| 官方 SDK | 用官方封装好的工具包调模型 | 大多数开发者的日常开发 |
| AI 开发框架 | 记忆、RAG、工具调用等能力开箱即用 | 需要开发完整 AI 应用的团队 |
| 低代码平台 | 拖拽搭建,不用写代码 | 非技术人员、快速验证想法 |
| AI 编程工具 SDK | 让 AI Agent 帮你写代码 | 想把 AI 编程能力集成到自动化流程中 |
选择的核心原则是:用最少的成本解决当前的问题。能拖拽解决的,就别写代码;能用框架搞定的,就别自己造轮子;能用 SDK 的,就别手撸 HTTP。
7.2 实际开发可以混用
这 5 种模式之间并不互相排斥:
- 用低代码平台快速搭原型验证想法,验证通过后再用开发框架重写成正式版本;
- 在框架搭好的项目里,某些模块直接用 HTTP API 调一个特殊接口;
- 学习阶段则建议反过来:从 HTTP API 开始,一步步往上走,这样对每一层原理都有清晰理解,后面用更高层工具也不会一头雾水。
仓库 AI 应用开发面试题 也从面试视角印证了这一点:真正的 AI 应用开发要考虑如何用更低的成本让应用稳定、高效、准确地运行在生产环境,需要掌握提示词工程、AI 工程化(缓存、流式输出、可观测性、异常处理与容错)、RAG 与向量数据库、开发框架(Spring AI / LangChain4j)、MCP、Agent 设计与多工具协调等完整能力栈——绝不只是"调个接口"。
八、写在最后
AI 应用开发领域变化太快,新框架、新工具几乎每个月都在冒出来。但万变不离其宗,底层就是这 5 种模式:HTTP API → 官方 SDK → AI 开发框架 → 低代码平台 → AI 编程工具 SDK。搞懂了这些,不管未来出现什么新工具,你都能快速定位它属于哪一层、解决什么问题。
回到开头那个面试场景:如果你能把这 5 种模式的适用场景和优劣讲清楚,面试官大概率会对你刮目相看。想进一步上手实战,可以继续在仓库中阅读 Vibe Coding 项目实战导读 与 AI 编程技术栈速查,从编程语言、前后端框架、数据库到部署上线,把 AI 编程时代的完整技术栈一次补齐。
- 文档
- 教程
- 知识库
- 人工智能
【免费下载链接】ai-guide
程序员鱼皮的 AI 资源大全 + Vibe Coding 零基础教程,分享 OpenClaw 保姆级教程、大模型玩法(DeepSeek / GPT / Gemini / Claude / GLM)、最新 AI 资讯、Prompt 提示词大全、AI 知识百科(Agent Skills / RAG / MCP / A2A)、AI 编程教程(Harness Engineering)、AI 工具用法(Cursor / Claude Code / TRAE / Codex / Copilot)、AI 开发框架教程(Spring AI / LangChain)、AI 产品变现指南,帮你快速掌握 AI 技术,走在时代前沿。本项目为开源文档 aiguide,已升级为鱼皮 AI 导航网站
相关推荐
2025新范式:Mastra工具链彻底重构AI应用开发流程
2025新范式:Mastra工具链彻底重构AI应用开发流程 你还在为AI应用开发中的工具集成、流程编排和打包部署而头疼吗?本文将带你探索Mastra如何通过一体
人工智能Agent 框架AI AgentRAG后端Vercel AI SDK生态系统:工具链、测试与部署最佳实践
Vercel AI SDK生态系统:工具链、测试与部署最佳实践 本文全面介绍了Vercel AI SDK的完整开发到部署流程,涵盖了工具链配置、多环境测试策略、
人工智能AI 应用AI Agent工具调用MCP ClientsNexa SDK全面解析:一站式AI模型开发与部署工具
Nexa SDK全面解析:一站式AI模型开发与部署工具 项目概述 Nexa SDK是一个功能强大的AI模型开发与部署工具包,专为支持ONNX和GGML模型而设计
人工智能大模型推理引擎本地部署多模态
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考