AI闯关学习-方案设计
Step1: 梳理思路
- 技术选型
- 开发的流程和思路
利用大模型的能力,让他分析需求文档,进行方案设计。 方案设计的能力要求,是要高于代码开发的,这一步要求使用高性能模型,能减少后期开发的坑
▼text复制代码你是一位专业的微信小程序开发者,擅长设计技术方案,我会给你提供一系列资源,请你帮我完成任务 ## 提供的资源 ${需求分析文档} ${方案设计文档} ## 需要完成的任务 1)完成详细的《方案设计文档》,包括技术选型,项目的开发流程和思路,以及其他方案设计文档的重点 2)将文档生成到当前项目中的 `docs/方案设计` 目录中 ## 注意事项 1)你必须完全理解我给你的资源和任务,有任何不确定的地方必须及时找我进行确认,才能进行下一步 2)由于小程序开发更新迭代非常快,你要重点帮我对比小程序的技术选型 3)由于功能非常多,请你分步骤实现,先实现最核心的功能(用户输入内容 -> AI生成题目 -> 用户答题 -> AI生成分析报告),而不是用户登录这种需要数据库和其他依赖的内容 4) 重点分析方案设计文档中的TODO项

方案设计
和大模型交互,通过TODO项 融入自己的思考

大模型选型
大模型擅长使用CLI命令行,因此技术选型要方便大模型能调用
大模型选型推荐:优选国产大模型。一是便宜,二是中文表现更好
DeepSeek、智谱GLM、Kimi、Qwen
其中DeepSeek更适配LangChain
首选:deepseek-chat
预留:deepseek-reasoner
当前推荐使用 DeepSeek Chat 系列模型作为主要生成模型,理由是:
- 成本可控,适合高频练习场景。
- 已支持 OpenAI 兼容接口,接入成本低。
- 支持 JSON Output,可用于题目、报告、知识结构化输出。
deepseek-reasoner可以作为高难度题目或复杂分析的增强能力,不是MVP必需
架构
架构图
▼mermaid复制代码flowchart LR A[微信小程序<br/>Taro + React + TS] --> B[API网关层<br/>FastAPI] B --> C[AI编排层<br/>LangChain Chains + Prompt Templates] C --> D[ChatDeepSeek<br/>langchain-deepseek] D --> E[DeepSeek API] C --> F[内存会话存储<br/>Session Store] F --> C B -. Step 2/3 引入 .-> G[(MySQL)] B -. Step 2 引入 .-> H[知识图谱渲染数据] B -. Step 3 引入 .-> I[网页/文档解析服务] C -. 可选接入 .-> J[LangSmith]
核心数据流图
▼mermaid复制代码sequenceDiagram participant U as 用户 participant FE as 小程序前端 participant BE as FastAPI participant LC as LangChain participant DS as DeepSeek U->>FE: 输入学习内容 FE->>BE: 创建学习会话 BE->>LC: 调用知识提取链 LC->>DS: 调用 deepseek-chat DS-->>LC: 返回结构化结果 LC-->>BE: 返回知识结构 BE->>LC: 调用题目生成链 LC->>DS: 调用 deepseek-chat DS-->>LC: 返回题目结果 LC-->>BE: 返回题目JSON BE-->>FE: 返回会话和题目 U->>FE: 提交答案 FE->>BE: 提交答题结果 BE-->>FE: 返回即时反馈 FE->>BE: 请求复盘报告 BE->>LC: 调用报告生成链 LC->>DS: 调用 deepseek-chat DS-->>LC: 返回报告结果 LC-->>BE: 返回报告JSON BE-->>FE: 返回复盘报告
会话状态机图
▼mermaid复制代码stateDiagram-v2 [*] --> idle idle --> creating_session creating_session --> generating_questions generating_questions --> questions_ready questions_ready --> answering answering --> report_generating report_generating --> completed generating_questions --> failed report_generating --> failed
前端技术栈
| 层级 | 技术 | 作用 |
|---|---|---|
| 小程序框架 | Taro 4 | 统一微信小程序工程化与跨端能力 |
| UI 框架 | React 18 | 负责组件化开发与状态驱动视图 |
| 语言 | TypeScript | 提供类型约束,降低复杂交互状态错误 |
| UI 组件库 | NutUI React(Taro 版) | 快速搭建输入、按钮、弹层、进度等基础界面 |
| 状态管理 | Zustand | 管理学习会话、题目、答题进度、报告状态 |
| 网络请求 | Taro.request 封装 API Client | 对接后端 FastAPI 接口 |
| 图谱渲染 | ECharts + ec-canvas | Step 2 用于知识图谱可视化 |
| 样式方案 | SCSS | 页面样式与组件样式组织 |
后端技术栈
| 层级 | 技术 | 作用 |
|---|---|---|
| Web 框架 | FastAPI | 提供 REST API、异步处理与 SSE 能力 |
| 语言 | Python 3.11+ | 承担 AI 编排、数据校验、文本处理 |
| AI 编排框架 | LangChain | 统一管理 DeepSeek 接入、Prompt、结构化输出与可观测性 |
| DeepSeek 集成 | langchain-deepseek / ChatDeepSeek | 官方推荐的 LangChain DeepSeek 集成方式 |
| 数据校验 | Pydantic | 校验请求体、题目结构、报告结构 |
| 会话存储 | 内存 Session Store | Step 1 暂存学习会话与答题记录 |
| 部署环境 | 微信云托管 | 运行 Python 服务容器 |
| 可观测性 | LangSmith(可选) | 追踪模型调用、Prompt 调试与链路分析 |
LangChain LangChain是开源的AI开发框架,能够更好地对接AI大模型,实现各种复杂的AI应用所需的技能
- 使用
ChatPromptTemplate组织系统消息和用户消息,这比拼接长字符串的Prompt更稳定、更易维护 - 官方提供结构化输出能力,可以直接把大模型返回的结果约束到
PydanticSchema,适合JSON场景 ChatOpenAI支持通过base_url和api_key对接OPENAPI兼容接口,兼容能力强- 模型调用统一放到LangChain层,后续模型切换、增加重试、增加输出解析和引入RAG时,扩展路径清晰
提示词工程
提示词技巧文章:https://ai.codefather.cn/library/2010974716125712386 这一章直接决定产品质量。AI炼金不是“问模型拿一段话”这么简单,而是要把模型输出收敛成稳定的数据产品。 建议将 AI 处理拆成三个独立任务,而不是一次提示词生成所有内容。
- 知识结构化:从输入内容中抽取主题、关键概念、核心事实、常见误区。
- 题目生成:基于结构化知识生成题目、选项、答案和解析。
- 报告生成:基于用户答题记录生成总结、薄弱点和建议。
这样拆分的好处是:
- 更容易调试。
- 更容易校验。
- 更容易定位是哪一步出了问题。
UI原型设计
使用相同提示词,用多个模型一起生成,取长补短
核心功能实现
评论
问答助学
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
内容推荐
Day 115✅ 今天做了:学习了jdbc⏰ 明天计划:继续学习mysql
1
Day 39✅ 今天做了:1、扇贝英语单词打卡2、微信阅读15分钟3、英语听说读写4、编程导航学习⏰ 明天计划:待定📚 今日感悟:Keep going!
2
Day 116✅ 今天做了:学习了jdbc⏰ 明天计划:学完jdbc
1
Day 75时间15:00~ 21:00(6h)✅ 今天做了:事务、AOP⏰ 明天计划:Bean📚 今日感悟:为减少数据不一致的风险情况,使用事务。AOP 的作用是“解耦”,把记录操作日志、权限控制、事务管理等场景与业务逻辑拆封开来
3
Day 40✅ 今天做了:1、扇贝英语单词打卡2、英语听力练习⏰ 明天计划:待定📚 今日感悟:Keep going!
2
