← Back to 文字

纯 API 对照重构实验

本文来自《AI 应用开发课程》月份 1 课程文档,已整理为网站文章版本。

1. 文档目的

本实验的目标不是证明 LangChain “一定更好”,而是训练你做客观比较:

  • 哪些地方更省代码
  • 哪些地方更清晰
  • 哪些地方被隐藏了

2. 推荐对照对象

选择一个已经完成的任务,例如:

  • 需求总结
  • commit message 生成
  • 待办项抽取

然后分别实现:

  • 纯 API 版本
  • LangChain 版本

3. 对照维度

维度纯 APILangChain
Prompt 组织手动拼字符串PromptTemplate
调用链路手动逐步调用LCEL 组合
输出解析手动 json.loads + PydanticParser 组件
工具抽象自写注册表Tool 适配层

4. 你必须回答的问题

  1. 哪种实现更容易读?
  2. 哪种实现更容易调试?
  3. 哪种实现更容易替换其中一个组件?
  4. 哪种实现更容易让初学者误以为“框架自动帮我做了很多事”?

5. 验收要求

最终你要输出一份简短对照笔记,至少包含:

  • 两种实现的核心代码结构
  • 你的优缺点判断
  • 哪种方式更适合月份 1 当前阶段

6. 推荐结论方向

对于月份 1,大多数情况下会得到这样的结论:

  • 纯 API 更适合理解底层
  • LangChain 更适合理解组件抽象
  • 两者都应该会,但学习顺序应先纯 API 再框架

7. 如何把这份对照实验真正做成“有结论”的实验

建议你不要只写“我觉得 LangChain 更简洁”,而是明确比较:

  • 哪一版更容易解释给别人听
  • 哪一版更容易单步调试
  • 哪一版更容易替换 Prompt
  • 哪一版更容易替换输出解析逻辑
  • 哪一版更容易让初学者失去底层理解

只有把这些维度写出来,实验结果才真正有价值。

8. 一个推荐的结论模板

你可以按下面结构记录结论:

任务说明

本次对照的是哪条链路,例如“研发任务总结”。

纯 API 版本优点

纯 API 版本缺点

LangChain 版本优点

LangChain 版本缺点

结论

这一条链路在月份 1 更适合哪种写法,为什么。

9. 本章在研发助手项目中的位置

这份对照实验的价值,不只是帮助你学会 LangChain。它还会帮助你在第 4 周决定:

  • 综合项目哪些部分继续保持原生实现
  • 哪些部分值得引入 LangChain 做更清晰的链路表达

10. 从本章过渡到下一章的桥接说明

LangChain 模块到这里收束完成。接下来会进入 07-综合项目-研发助手 模块,把月份 1 前面所有模块:

  • Python
  • 工程化
  • LLM API
  • Tool Calling
  • FastAPI
  • LangChain

真正汇总成一个可演示、可解释、可继续演进的项目。

11. 一个推荐的对照记录表

如果你真的要把这份实验做扎实,建议把“纯 API 版”和“LangChain 版”放到一张固定表里:

维度纯 API 版LangChain 版我的结论
可读性
调试难度
替换 Prompt 成本
替换解析器成本
是否容易丢底层理解

这张表的价值,在于它强迫你输出“比较后的判断”,而不是停留在印象。

12. 做这份实验时最容易犯的两个错误

错误一:对照的不是同一条链路

如果纯 API 版做的是“简单文本总结”,LangChain 版做的是“结构化分析 + 工具调用”,这个对照根本不公平。

错误二:把“代码更短”直接等同于“工程更好”

代码更短有时是好事,但也可能意味着:

  • 隐藏细节更多
  • 调试入口更少
  • 初学者更容易失去边界感

所以你必须同时看:

  • 表达是否清晰
  • 调试是否更难
  • 替换成本是否更低

13. 这份对照实验为什么对综合项目有直接价值

因为它会帮助你做一个很现实的决定:

  • 综合项目哪些环节继续保留原生实现
  • 哪些环节可以引入 LangChain 获得更清晰的组合表达

如果没有这份对照,很多人会在综合项目里陷入两种极端:

  • 完全不用框架,重复写很多样板
  • 完全依赖框架,结果解释不清每一层边界

14. 一个推荐的最终结论写法

你可以把最终结论写成一句非常具体的话,例如:

“对于月份 1 的研发任务总结链路,我保留原生 LLMClient 负责底层调用,但使用 LangChain 的 PromptTemplate + OutputParser 来提升链路可读性;我暂不把整套项目全面框架化,因为当前项目的主要目标仍是巩固边界而不是增加抽象层。”

这种结论的价值在于,它不是泛泛而谈,而是能直接指导综合项目的实现选择。

Fin