鱼皮AI导航
鱼皮AI导航
  • 主页
  • 社区
  • AI工具
  • AI知识库
  • AI提示词
  • MCP
  • Skills
  • AI学习资源
  • AI资讯
  • GitHub开源
登录/注册

AI 应用开发,不就是调个接口么?

编程导航
编程导航
2025-10-31 18:11
阅读 3873
编程导航
2025-10-31 18:11
阅读 3873

大家好,我是程序员鱼皮。

由于 AI 的流行,很多公司开始搞起了 AI 相关的业务,或者给老项目加个 AI 相关的功能。

这也给开发方向的程序员们提供了一个新的垂直岗位 —— AI 应用开发。

但有朋友可能会觉得:“AI 应用开发?不就是调个接口么?有什么难的?”

还真的是应了那句话 —— 你知道的越少,以为自己知道的越多。

就好比有人问:电商系统是怎么把你喜欢的商品推送到主页的?

有同学秒答:不就是 推荐算法 么?

的确是这样,但就是这 4 个字,可能是很多精英们日以继夜地研究、不断地优化,才呈现出给用户看到的效果。

AI 应用开发也是一样的,调个接口的确可以实现一些需求,但深入到具体业务场景和解决方案中,还是有很多值得学习的知识和经验。

这不,前段时间我直播面试了一位工作 3 年的 Java 后端开发老哥,目标是 AI 应用开发岗。下面分享下面试过程,看完你就知道,AI 开发绝不只是调个接口这么简单。

⭐️ 推荐观看视频版:https://bilibili.com/video/BV1qgHezFEaR

Java & AI 应用开发面试

候选人背景

小王 2022 年毕业,有 3 年多的 Java 后端开发经验。在上家公司负责电子签合同云平台的建设,包括账号系统、权限系统、消息系统等核心模块。

除了传统 Java 业务,他还自学了半年多的 AI 技术,做过电子合同 AI 智能助手(RAG 系统)和模拟面试官 Agent 应用。技术栈涵盖 Spring Boot、MySQL、Redis、RabbitMQ 等,AI 方面熟悉提示词工程、工具调用、Agent 等。

目标薪资:20K

看起来背景还不错吧,那我们来看看面试都问了什么~

第一轮:提示词工程

面试官:跟我讲一下提示词工程吧,最好能结合你做过的项目举例,有哪些优化提示词的技巧?

小王的回答:

提示词工程是提高大模型输出质量的重要技术,常用技巧包括:

  1. 角色设定:给大模型设定系统提示词,包含角色说明、任务和约束条件
  2. 小样本提示:给模型一些输入输出示例,让它仿照执行
  3. 思维链:让大模型先思考再输出答案,分为零样本思维链和小样本思维链

在实际开发中,提示词需要不断迭代优化,可以通过阿里云百炼等平台做 A/B 测试。

面试官追问:少样本和零样本你在实际项目中怎么选择?什么情况下用少样本?

小王:小样本适合想让模型输出贴合我们规范的场景,不想让它输出多余内容,通过示例让模型遵循固定格式要求。

点评:这个回答还算全面,但缺乏深度。真正的提示词工程远不止这些基础技巧。

第二轮:AI 应用开发关注点

面试官:你觉得开发 AI 项目时有哪些注意事项?你会更关注哪些点?

小王的回答:

  1. 业务理解:深入了解业务,抽象成工作流或 Agent
  2. 工程化优化:
    • 缓存高频问题,命中缓存时直接返回
    • 流式输出和异步处理提高响应速度
    • 不同任务场景用不同模型,简单任务用小模型节省成本

面试官追问:你提到批处理能节省成本,能举个例子说服我吗?

小王:emmmm。。。这个方法我确实没用过。

面试官继续追问:你做项目时不关注 AI 的可观测性吗?不关注 AI 的准确度和幻觉问题吗?

小王:准确度方面可以通过提示词和 RAG 优化。。。

点评:这里暴露了一个问题,只知道怎么做,但缺乏生产级别的工程实践经验。

第三轮:消除 AI 幻觉

面试官:你在开发 AI 应用时,怎么尽可能消除 AI 调用的幻觉?

小王的回答:

  1. 提示词优化:更明确的角色定位,加限制条件
  2. RAG 系统:外挂知识库,让 AI 基于知识库内容回答
  3. 模型微调:针对特定领域进行微调训练

面试官:还有别的吗?你做过工具调用,怎么消除工具调用的幻觉?

小王:工具调用幻觉具体指什么?

面试官:比如 AI 调用了系统中不存在的工具,怎么消除这种情况?

小王:可以用 RAG 方式把工具信息放到知识库。。。

面试官:这个方案是不是有点绕?考虑考虑工程层面的解决方案?

小王:。。。(沉默是今晚的康桥)

点评:实际上,工程层面有很多方法可以处理工具调用幻觉,比如添加幻觉处理策略、大模型参数调整、提示词优化、异常捕获等等。

第四轮:技术框架深度

面试官:你平时开发 AI 应用用什么框架?

小王:Spring AI

面试官:Spring AI 有哪些特性?

小王的回答:

  1. Advisor 机制:相当于拦截器,可以在调用大模型前后进行拦截
  2. 对话记忆:提供多种内置对话记忆实现
  3. 向量存储:内置向量存储,也可以自定义实现
  4. ChatClient:和大模型交互的客户端
  5. 工具调用:通过注解将 Java API 转换为工具
  6. 结构化输出:指定返回 JSON 格式输出

虽然看起来小王回答的不少,但回答速度很慢,而且还有很多特性没有回答出来。

所以这里鱼皮扶了一下:MCP 用过吗?

小王:用过。

面试官:按理来说你用过的话应该很快就能答出来,感觉不太熟练的样子。

第五轮:项目深度

面试官:你做过电子合同 AI 智能助手,使用 Elasticsearch 进行向量存储,介绍一下混合检索策略的实现?

小王的回答:用户输入问题后,先进行 embedding 向量化,然后并行调用 KNN 和 BM25 进行语义检索和关键词匹配,使用 RRF 算法重新评分排序,最后取 TOP 5 文档给到大模型。

面试官:为什么取 TOP 5?(这个问题其实是诈一下)

小王:数量太少会导致上下文信息不足,太多会导致上下文污染,5 是测试下来的准确度和多样性平衡点。

面试官:怎么尽可能保证 AI 搜集到足够多的信息?

小王:通过工具调用联网搜索,加上本地知识库。。。

面试官:还能想到更多方法吗?

小王:。。。(汗流浃背了)

面试官:提示词本身是不是可以改一改?你可以告诉 AI 要尽可能获取足够多信息;还可以使用多关键词搜索、查询优化和扩展等等。用过 Cursor 等工具的话应该会有点印象。

点评:这个问题考查的是信息检索的深度优化,小王的回答比较浅显。

面试结果与总结

从面试结果来看,小王的优势在于:

  • 有实际的 AI 应用开发经验
  • 基础概念掌握还可以

不足:

  1. 表达节奏慢:回答问题需要面试官一步步引导,缺乏主动性
  2. 缺乏生产级实践:只知道怎么做,但不知道怎么优化
  3. 工程化能力不足:对 AI 应用的监控、可观测性、异常处理等认识不够

最终我觉得小王拿 20K 月薪是有希望的,但不稳,还需要在工程实践和表达能力上继续提升。到了这个薪资水平,做项目不能只满足于 “完成” 了,而是要尽量把每一个核心功能点都做到最好,多学习和尝试不同的方案。

AI 开发真的只是调接口吗?

通过这场面试,大家应该也能感受到,AI 应用开发绝不只是简单的调接口。

一个合格的 AI 应用开发者需要掌握:

1)提示词工程

  • 角色设定、小样本学习、思维链
  • 提示词优化和 A/B 测试
  • 针对不同场景的提示词策略

2)AI 工程化能力

  • 性能优化(缓存、流式输出、异步处理)
  • 成本控制(模型选择、批处理、负载均衡)
  • 可观测性(监控、日志、指标统计)
  • 异常处理和容错机制

3)核心技术栈

  • RAG 系统设计与优化
  • 向量数据库使用
  • 混合检索策略
  • 模型微调和评估

4)框架和工具

  • Spring AI、LangChain 等开发框架
  • MCP 模型上下文协议
  • 各种 AI 开发工具和平台

5)业务理解能力

  • 将复杂业务抽象为 AI 工作流
  • Agent 设计和多工具协调
  • 用户体验优化

完整的 AI 大模型应用开发学习路线我也帮大家整理了,可以 在编程导航获取:

https://www.codefather.cn/course/1789189862986850306/section/1912024009574629377

学习建议

最后也给想转型 AI 应用开发的同学几个建议:

1)不要只停留在 “能用” 层面

很多朋友学会了调用 OpenAI 的 API,就觉得自己会 AI 开发了。但真正的 AI 应用开发,需要考虑的是如何用 更低的成本 让应用 稳定、高效、准确 地运行在生产环境中。

2)重视工程化实践

要学会使用 AI 开发框架,而不是只会裸写 HTTP 请求。还要了解 AI 应用的监控和可观测性、掌握成本优化和性能调优技巧、学会处理 AI 应用的各种异常情况。

3)深入理解核心概念

比如提示词工程,不只是写几个示例那么简单。还有 RAG 系统,涉及信息检索、向量数据库、重排序等多个环节,每个环节都有很多优化技巧。

不过我觉得最复杂的还是 Agent 的设计,需要考虑工具选择、任务分解、结果整合、多智能体协作模式等等。当时火出圈的 Manus,其实也是在 Agent 的设计上 “讨了个巧”。

4)多做项目,多总结

这句就纯正确的废话了,大家都知道得多做项目才能积累经验。尤其是 AI 应用开发,不同的业务场景都需要对 AI 生成的效果进行定制的优化,不是背个方法论就能解决所有问题。

我自己开源了不少 AI 应用开发项目,甚至还写过几套体系化的实战教程,分享给大家:

  • AI 应用生成平台:https://github.com/liyupi/yu-ai-code-mother
  • AI 超级智能体:https://github.com/liyupi/yu-ai-agent
  • AI 文献阅读助手:https://github.com/liyupi/literature-assistant
  • AI 知识库:https://github.com/liyupi/ai-guide

最后

AI 技术发展日新月异,对程序员的要求也在不断提高。AI 相关知识不再只是算法工程师需要了解,而是每个程序员都必须掌握的基本技能。

无论你是前端、后端还是全栈开发者,都需要了解 AI 应用开发的基本概念和实践方法。

因为未来的软件开发,AI 将无处不在。

更多

💻 编程学习交流:编程导航:https://www.codefather.cn/
📃 简历快速制作:老鱼简历:https://laoyujianli.com
✏️ 面试刷题神器:面试鸭:https://mianshiya.com
📖 AI 学习指南:AI知识库:https://ai.codefather.cn/

站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
🔥热门工具
朱雀AI检测朱雀AI检测
朱雀AI检测助手朱雀AI检测助手
LovartLovart
老鱼简历老鱼简历
WritePass官网WritePass官网
面多多面多多
CursorCursor
星月写作星月写作
零感AI零感AI
墨得问题墨得问题
🔥 热门文章
1
离谱,DeepSeek 崩了 5 小时,大家却喊:梁圣恩情还不完??
450
2
B 站上 DeepSeek 闹鱼灾了,我发起《大肥鱼清除计划》!
410
3
DeepSeek 全新模型发布,性价比最高的一集!
400
4
自己学习ai,直接买cursor 的套餐,还是买gpt 或者claude 的套餐?
370
5
又一个国产版 Codex 神器,也来卷办公了!
340
6
Vibe Coding 实战:从零构建现代专业级 AI 搜索引擎
330
7
day3-如何写出一个高质量的 Skill(组内分享) 高质量 Skill 不是“一个调得很顺的巨型 Prompt”,而是一个可验证、可回归、可维护的能力包。 先定义“什么算好”,再实现“怎么做好”。评估体系先于 Skill 本身成型。 下面用“故障诊断 Markdown 转 YAML”作为例子,但方法是通用的。 --- 一、先想清楚:Skill 到底是什么 一个 Skill 至少包含四部分: 部分 作用 接口 输入什么、输出什么、边界在哪 流程 分几步做,每步的产物是什么 规则 硬约束、经验规则、失败模式 降级策略 不确定时怎么办,而不是硬编一个看似合理的结果 高质量 Skill 的共同点:职责单一、接口清晰、规则可定位、输出可验证。 反例:把几十条经验全塞进一个主 Prompt,改一条规则要重调整个 Prompt,评估时也不知道是哪条规则退化。 --- 二、核心方法:先建评估,再写 Skill 不要先写转换器再补测试。正确顺序是: 1. 定义输出契约:什么算合法、什么算合格; 2. 建金标准集:一小批人工认可“可放行”的样本; 3. 先写评估 Skill:让它在金标准集上跑出基线; 4. 再迭代生成 Skill:每次修改跑同一套评估,无退化且目标维度提升才算正向。 这就是评估驱动开发:评估是 Skill 的单元测试,金标准集是回归锚点。 --- 三、评估 Skill:三层门禁,逐层递进 前一层不过,后一层不跑。每层留可追溯证据。 第 1 层:确定性硬门禁 用解析器、Schema、校验器完成,不消耗模型成本。 · 输出可解析; · 必填字段齐全,类型/枚举合法; · 引用目标存在,无悬空引用、无不可达节点; · 关键路径至少有一条能到达预期出口。 不通过直接打回。 第 2 层:语义断言 用脚本 + 结构遍历检查“逻辑对不对”,仍然保持确定性。 通用检查项: · 覆盖率:源材料里的关键步骤、分支、条件,输出里是否都有对应? · 完整性:每个判断节点是否都有明确出口?有没有死胡同? · 可达性:每条路径是否都能到达预期终点?有没有无出口循环? · 顺序与依赖:有先后依赖的操作,是否保留了顺序?有没有被拍平成无序列表? 例子:故障诊断转换中,检查“每个判断项是否有是/否/异常出口”“每条路径是否能到根因”。 第 3 层:LLM-as-Judge 只处理解析器表达不了的维度:忠实度、完整性、可执行性。 但 Judge 会漂移,不能单独放行,必须建立在第 1、2 层之上。Judge 的 Prompt、rubric、模型版本都要版本化,换模型必须用金标准集重新校准。 通用 Judge 维度: 维度 问什么 忠实度 输出是否忠实源材料意图?有没有自行发明内容? 完整性 关键步骤、条件、证据是否保留?隐式知识有没有被压成空话? 收敛性 输出是否仍指向原目标,而不是发散? 可执行性 下游不依赖源材料能否直接使用? --- 四、金标准集:回归测试的锚点 不需要一开始就标注几百份。用已认可的样本当种子,扩到 15~30 份,覆盖失败模式而非随机抽样: · 完整正例:典型流程; · 边界/异常分支:异常路径、循环、前置失败回退; · 已知易错模式:实际踩过的坑; · 留出集:不参与调优,只用于最终验收,防过拟合。 金标准不需要完美,只需要当前标准下认可可放行。 回归指标:关键路径用 pass^k(k 次全过),稳定性用 pass@k。 --- 五、工程约束:让批量产出可重放 · 幂等:同输入 + 同 Skill 版本 + 同规则 → 输出一致,否则无法判断变好是 Skill 改了还是随机波动; · 隔离不阻断:单份失败进隔离队列,记录失败层和原因,不阻塞其余; · 版本绑定:规则、rubric、金标准集进 Git;每份报告绑定“源版本 + 生成 Skill 版本 + 评估 Skill 版本 + Judge 模型版本”; · 抽样人工复核:Judge 临界样本 + 易错模式,人工抽检结果反过来校准 rubric。 --- 六、Skill 本身怎么写 · SKILL.md 控制篇幅,写清:输入约定、输出契约、分步流程、硬规则、降级策略; · 经验规则放 references/ 或 rules/,按失败模式分类,不要全塞进主 Prompt; · 不确定时标 needs_review: true,不要硬编看似合理的结果; · 迭代由评估报告驱动:报告告诉你哪层挂了、哪类失败模式,你改对应规则文件,而不是漫无目的调 Prompt。 --- 七、落地顺序(不要反过来) 1. 固化输出契约:Schema + 结构约束; 2. 建金标准集:从已认可的 + 最易出错的样本开始; 3. 先写评估 Skill:跑出基线报告; 4. 再迭代生成 Skill:每次修改对比逐项通过率,无退化且目标提升才算正向; 5. 批量运行 + 隔离回放:失败进队列,结束后人工抽检; 6. 评估 Skill 自身版本化:换 Judge 模型必须重新校准。 --- 八、给组员的三条硬要求 1. 不许凭感觉说“变好了”:每次修改必须附评估报告对比,逐项通过率说话。 2. 不许跳过确定性门禁直接看 Judge 分数:前两层挂了,Judge 分数没有意义。 3. 不许把规则堆进主 Prompt:规则按失败模式分文件,评估报告要能定位到具体文件。 --- 一句话收尾 生成 Skill 决定“能不能做”,评估 Skill 决定“敢不敢用”。 先让评估体系站稳,再让生成器迭代。这样交付的不是一堆“看起来还行”的产出,而是一套可证明、可回归、可交接的 Skill 质量体系。
320
8
WorkBuddy 本地 API 桥 + dsh 插件:把你的 WorkBuddy 额度,变成手边随手可用的模型
310
9
我的第一个出海产品!7 天 2 万
300
10
什么是LLM
300
11
最近在落地 AI Native 项目,卡在团队资产协同这块,想请教下社区各位有实际落地经验的同学: 我们现在的资产分为三块:项目文档(PRD/ADR/ 运行手册)、Agent Skill(业务技能、执行 SOP、提示词包)、MCP 工具服务定义。 目标是做到:人和多 Agent 共用一套可信资料源,Skill、MCP 配置、项目文档能够版本化、同步、共享、可评审。 目前我们初步方案是用 Git 做底层版本主线: - 文档:Markdown + ADR,带元信息,支持 RAG 检索 - Skill:单技能包目录化,带版本、评估用例、依赖声明 - MCP:项目级声明文件纳入 Git 但实际协作里遇到不少疑问,想参考大家成熟的实践: 1. 大家团队里,文档、Skill、MCP 三者是怎么组织目录和版本管理的?有没有稳定的仓库结构模板? 2. 多人协作时,Skill 的变更评审、灰度升级、依赖管理怎么做?如何避免本地版本不一致、“本地能跑别人不行”? 3. MCP 是统一中心化网关模式,还是大家各自本地启动 + git 同步配置?权限白名单、调用审计这块有什么好方案? 4. 有没有成熟工具链做自动同步(类似 agentmeld /teamai-cli)、变更校验、eval 回归门禁? 5. 文档和 Agent 的打通:哪些文档放进 Git 作为可信真值,哪些放外部知识库,边界怎么划分? 如果有现成的仓库样例、目录规范、团队协作流程,非常希望能分享参考,感谢!
260
12
PHP 被曝两大致命漏洞,请所有程序员抓紧做这件事!
260