01_AI应用开发入门 - 从Web开发到AI开发的思维转变
本课程帮助Python Web开发者理解AI应用开发的思维方式。通过对比传统Web开发和AI开发的差异,用通俗易懂的类比解释LangChain的作用和价值。学完本课,你将建立起AI应用开发的基本认知,理解为什么需要LangChain,以及如何用新的思维方式来构建AI应用。
🎯 学习目标
- 理解AI应用和传统Web应用的区别
 - 了解LangChain是什么,为什么需要它
 - 建立AI应用开发的基本思维模型
 
📖 核心概念
1. AI应用 vs Web应用:一个类比
传统Web开发(你熟悉的)
想象你在开发一个餐厅点餐系统:
1  | 用户输入 → 路由判断 → 业务逻辑处理 → 数据库操作 → 返回结果  | 
特点:
- ✅ 逻辑确定:你写什么代码,就执行什么
 - ✅ 结果可控:同样的输入,总是得到同样的输出
 - ✅ 流程固定:if-else、循环、函数调用
 - ✅ 数据结构化:数据库、JSON、明确的字段
 
AI应用开发(新的世界)
现在想象你雇了一个聪明的服务员(AI):
1  | 用户输入 → AI理解意图 → AI思考 → AI生成回答 → 返回结果  | 
特点:
- 🤔 逻辑不确定:AI会”思考”,每次回答可能不同
 - 🎲 结果概率性:同样的问题,可能得到不同答案
 - 🧠 需要引导:通过提示词(Prompt)引导AI
 - 💬 处理非结构化数据:自然语言、图片、文本
 
2. 为什么需要LangChain?
问题1:直接调用AI模型很麻烦
不用LangChain(原始方式):
1  | import requests  | 
用LangChain(简化方式):
1  | from langchain_openai import ChatOpenAI  | 
问题2:复杂应用需要多个步骤
假设你要做一个”智能文章写手”:
传统思路(Web开发):
1  | # 步骤1: 生成标题  | 
每一步都要自己调用API、处理响应、传递数据,很繁琐。
LangChain思路:
1  | from langchain.chains import SequentialChain  | 
问题3:需要给AI添加”能力”
AI默认只能”说话”,不能:
- ❌ 查询数据库
 - ❌ 调用API
 - ❌ 搜索网页
 - ❌ 读取文件
 
LangChain提供了工具(Tools)和Agent,让AI可以:
- ✅ 自己决定是否需要查询数据
 - ✅ 自己调用工具获取信息
 - ✅ 组合多个工具完成复杂任务
 
3. LangChain的核心思想:乐高积木
把LangChain想象成乐高积木系统:
1  | 基础积木(组件):  | 
核心优势:
- 标准化:统一的接口调用不同模型
 - 组件化:可重用、可组合
 - 简化开发:不需要关心底层细节
 - 生态丰富:大量现成的工具和集成
 
🌰 通俗类比
类比1:AI应用 = 雇佣助手
传统Web开发:
- 你是老板,写了详细的操作手册(代码)
 - 员工(程序)严格按手册执行
 - 结果完全可预测
 
AI应用开发:
- 你雇了一个聪明的助手(AI)
 - 你给他任务说明(提示词)
 - 他自己理解并完成,可能用不同方法
 - LangChain就是助手的工作流管理系统
 
类比2:LangChain = 智能家居系统
不用LangChain:
- 每个设备(模型、工具)都要单独控制
 - 需要记住每个设备的遥控器怎么用
 - 组合使用很麻烦
 
用LangChain:
- 统一的控制面板
 - 一键场景模式(链)
 - 自动化流程(Agent)
 
🔄 思维转变对照表
| 方面 | Web开发思维 | AI应用开发思维 | 
|---|---|---|
| 输入 | 结构化参数 | 自然语言描述 | 
| 处理 | 确定的逻辑 | AI理解和生成 | 
| 输出 | 精确的结果 | 概率性的答案 | 
| 调试 | 看日志、断点 | 调整提示词、观察输出 | 
| 优化 | 优化算法、SQL | 优化提示词、选择模型 | 
| 测试 | 单元测试、固定结果 | 评估质量、多样本测试 | 
| 错误处理 | try-catch | 提示词引导、输出验证 | 
💡 实际应用场景
场景1:智能客服
传统方式:
1  | def handle_customer_query(query: str) -> str:  | 
问题:
- 需要穷举所有情况
 - 用户问法稍有不同就识别不了
 - 维护成本高
 
AI方式(用LangChain):
1  | from langchain.agents import create_agent  | 
优势:
- AI理解各种问法
 - 自动选择合适的工具
 - 可以组合多个步骤
 
场景2:文档分析
传统方式:
- 关键词搜索
 - 正则表达式匹配
 - 固定的规则提取
 
AI方式(RAG):
1  | # 让AI理解文档内容,智能回答问题  | 
场景3:数据转换
传统方式:
1  | # 需要为每种格式写转换逻辑  | 
AI方式:
1  | # AI理解各种表达方式  | 
🎓 关键要点总结
AI应用是”概率性”的
- 不像传统代码那样确定
 - 需要通过提示词”引导”而不是”控制”
 
LangChain是工具箱,不是魔法
- 它简化了AI应用开发
 - 但仍需要理解底层原理
 
从”编程”到”提示工程”
- Web开发:写精确的代码逻辑
 - AI开发:设计有效的提示词
 
组件化思维
- 像搭积木一样组合组件
 - 重用和组合是关键
 
测试和调试方式不同
- 需要评估质量而不是验证正确性
 - 需要多样本测试而不是单一测试用例
 
📚 下一步
现在你已经理解了AI应用开发的基本思维,接下来我们将:
- 第2课:搭建环境,配置国内可用的AI模型
 - 第3课:学习LangChain的核心组件
 - 第4课:开始构建实际的AI应用
 
🤔 思考题
在进入下一课之前,思考这些问题:
- 你目前的工作中,哪些场景可以用AI来优化?
 - 这些场景更适合传统方式还是AI方式?
 - 如果用AI,可能会遇到什么挑战?
 
准备好了吗? 继续第2课:环境搭建 →