AI闯关学习-方案设计

Step1: 梳理思路

  1. 技术选型
  2. 开发的流程和思路

利用大模型的能力,让他分析需求文档,进行方案设计。 方案设计的能力要求,是要高于代码开发的,这一步要求使用高性能模型,能减少后期开发的坑

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

局部截取_20260405_165444.png

方案设计

和大模型交互,通过TODO项 融入自己的思考 Code.exe_20260405_174144.png

大模型选型

大模型擅长使用CLI命令行,因此技术选型要方便大模型能调用 大模型选型推荐:优选国产大模型。一是便宜,二是中文表现更好 DeepSeek、智谱GLM、Kimi、Qwen 其中DeepSeek更适配LangChain 首选:deepseek-chat 预留:deepseek-reasoner

当前推荐使用 DeepSeek Chat 系列模型作为主要生成模型,理由是:

  1. 成本可控,适合高频练习场景。
  2. 已支持 OpenAI 兼容接口,接入成本低。
  3. 支持 JSON Output,可用于题目、报告、知识结构化输出。
  4. 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-canvasStep 2 用于知识图谱可视化
样式方案SCSS页面样式与组件样式组织

后端技术栈

层级技术作用
Web 框架FastAPI提供 REST API、异步处理与 SSE 能力
语言Python 3.11+承担 AI 编排、数据校验、文本处理
AI 编排框架LangChain统一管理 DeepSeek 接入、Prompt、结构化输出与可观测性
DeepSeek 集成langchain-deepseek / ChatDeepSeek官方推荐的 LangChain DeepSeek 集成方式
数据校验Pydantic校验请求体、题目结构、报告结构
会话存储内存 Session StoreStep 1 暂存学习会话与答题记录
部署环境微信云托管运行 Python 服务容器
可观测性LangSmith(可选)追踪模型调用、Prompt 调试与链路分析

LangChain LangChain是开源的AI开发框架,能够更好地对接AI大模型,实现各种复杂的AI应用所需的技能

  • 使用ChatPromptTemplate组织系统消息和用户消息,这比拼接长字符串的Prompt更稳定、更易维护
  • 官方提供结构化输出能力,可以直接把大模型返回的结果约束到Pydantic Schema,适合JSON场景
  • ChatOpenAI支持通过 base_urlapi_key 对接OPENAPI兼容接口,兼容能力强
  • 模型调用统一放到LangChain层,后续模型切换、增加重试、增加输出解析和引入RAG时,扩展路径清晰

提示词工程

提示词技巧文章:https://ai.codefather.cn/library/2010974716125712386 这一章直接决定产品质量。AI炼金不是“问模型拿一段话”这么简单,而是要把模型输出收敛成稳定的数据产品。 建议将 AI 处理拆成三个独立任务,而不是一次提示词生成所有内容。

  1. 知识结构化:从输入内容中抽取主题、关键概念、核心事实、常见误区。
  2. 题目生成:基于结构化知识生成题目、选项、答案和解析。
  3. 报告生成:基于用户答题记录生成总结、薄弱点和建议。

这样拆分的好处是:

  1. 更容易调试。
  2. 更容易校验。
  3. 更容易定位是哪一步出了问题。

UI原型设计

使用相同提示词,用多个模型一起生成,取长补短

核心功能实现

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
鱼友76111
下载 APP