返回首页
产品工程案例 // 进行中

佛脚AI

多智能体 AI 学习助手

打开产品

完整产品演示

中文 · 01:05

产品闭环

01
导入学习材料
PDF · 视频 · 链接
02
与 Tutor 学习
阅读 · 提问 · 生成
03
练习与模考
测验 · 真题模考 · 陪练
04
追踪与提升
报告 · 后续计划
SHIPPED_OUTCOME

我把产品从内测码准入推向可走完的游客模考,再把题库做成模考与陪练共用的数据底座:真题用来考,锚点留在服务端,原题不回传。变式生成与质检内核由队友负责。

我的角色
产品负责人 / 产品工程师
2025年12月 - 至今
展开案例概述

佛脚AI 把 PDF、视频、链接等学习材料,变成可对话、可测验、可追踪的学习闭环。我负责产品路线、优先级和反馈评审,并从产品设计、UI/UX、前端延伸到游客路径、题库表结构、陪练状态机与 GA4 使用信号。

65 秒中文演示,展示佛脚AI 从产品入口到核心学习体验的完整流程。英文版本将在后续补充。

三条产品决策

功能清单说明产品有什么。决策说明为什么做成这样。下面三张生产截图是证据,不是装饰。

DEC_0101 / 03

价值放在认证之前

考虑过

内测码墙和整页登录,先拿到账号再给体验。

选择

/exam/ 静默创建 Guest。复用正式模考 UI,加载固定 12 道 CFA 单选。GET 不返回正确答案;POST 服务端确定性批改,不调 Grade Agent。

原因

用户要先看见批改,才会愿意留邮箱。开放游客会增加成本和滥用,所以 Gateway 只精确放行两条 guest-exam-demo 路径,32KiB、最多 12 题。账户型能力仍在注册后。

落地页是公开体验入口,不是登录墙。
落地页是公开体验入口,不是登录墙。
DEC_0202 / 03

生成物长在对话里

考虑过

把 FeaturePanel 做成摘要、思维导图、闪卡、测验的独立按钮墙。

选择

材料进 Content 状态机,产物作为 artifact 挂在同一 sessionId。阅读、提问、生成连续切换。

原因

功能数量增加会抬高认知负担。孤立按钮会让用户丢掉正在读的材料。

工作台把材料上下文和 FeaturePanel 产物放在同一条对话里。
工作台把材料上下文和 FeaturePanel 产物放在同一条对话里。
DEC_0303 / 03

先有可运营题库,再开放陪练

考虑过

演示 JSON 继续支撑模考,陪练直接讲真题,或复用举一反三接口。

选择

四表拆开卷和题;陪练独立域,不写模考错题表;createSession 不下发锚点;冻结三阶加 L1–L4。

原因

没有独立题目实体,就无法跨卷复用,也无法在不泄露原题的前提下练。变式生成与 Blind Solver / Judge 由队友负责。

模考界面跑在发布后的正式卷上。
模考界面跑在发布后的正式卷上。

游客 /exam/ 七步

一期不用 AI 动态出题、批改或计划。答题只在浏览器。Gateway 只精确放行 GET/POST /agent/guest-exam-demo。漏斗七步 fail-open,不编转化率。

01

入口

进入 /exam/。URL 固定,没有 ?demo=1。

02

Dashboard

NewExamDashboard 静默创建 Guest。不渲染入口卡、错题集、最近考试、考试库。

03

开始

复用 ExamImmersionStage。加载 guest_full_loop_12_v2 的 12 道 CFA 单选。

04

提交

POST grade:32KiB、最多 12 题。确定性批改。失败回到答题页并保留答案,不得伪造成绩。

05

结果

复用正式结果页。雷达来自本次真实批改。GET 从未返回过正确答案。

06

计划

StudyPlanView 套 5 段固定模板,不触发 AI。

07

注册

CTA 去现有 /auth?mode=register。不做设备指纹。

团队与职责

团队规模
峰值 9 人跨职能团队
产品负责人 / 产品工程师

我负责

产品路线、优先级与版本节奏
审核市场与用户反馈,并转化为产品方案
产品开发、UI/UX、前端、游客路径、题库表结构与陪练状态机
事件埋点与 GA4 / Plausible 使用信号(不是转化率)

协作边界

AI Agent 内部算法、Blind Solver / Judge、变式生成与难度判定由其他成员负责
多模态 RAG 核心能力由其他成员负责
AWS 基础设施与部署由其他成员负责
展开角色说明

作为产品负责人 / 产品工程师,我负责产品路线、优先级、反馈评审与主要产品体验,并直接参与 UI/UX、前端、游客路径、题库表结构、陪练状态机及 GA4 使用信号。12 Agent 内部算法、Blind Solver / Judge、变式生成、多模态 RAG 和 AWS CDK 由其他成员负责。

真实使用信号

UPDATED // 2026-09-05
SIG_01
1,264
90 天活跃用户
SIG_02
22,514
产品事件
SIG_03
2分29秒
每位活跃用户平均互动
SIG_04
1,670
中英文 Dashboard 浏览
LOADING_DATA_STREAM...
展开统计方法与数据说明

上线后的早期数据证明,这不是停留在原型里的概念项目:用户已经进入落地页、学习工作台和模考等核心路径。

数据区间为 2026-06-07 至 2026-09-04。以上为 GA4 聚合使用信号,不代表增长率、留存率或转化提升;漏斗结论会在事件契约和内部流量清理完成后更新。

近期工作重点

题库数据底座

先有可运营的题目实体,模考和陪练才有资格共用同一套锚点

为什么先做库

Quick 12 / Full 180 验证了模考体验,但一份演示 JSON 撑不起长期运营:题目无法跨卷复用,版本改了无法重放,陪练也没有合格真题可当锚点。所以先把题做成独立实体,卷只负责编排。

质检规模

CFA Level I 约 16 卷 / 2600+ 题是导入与质检规模,不是我出的题。配图 hash 只看到 16 道复用,文本身份则报出 443 道跨卷复用,以及 2 道文相同、答案不同的源错误。

一期四表

题目成为独立实体,卷退化成一组引用加编排信息。正确答案存文本不存选项字母,因为字母在跨卷去重时没有稳定含义。

01
RawExamImport
原始文件落到 S3,双 hash 让归一化算法以后还能重放,而不是解析完就把字节丢掉。
02
ExamPaper
卷只负责场次、题序、年份、大纲版本和试卷类型。历史 240 题卷不会被当前 180 题蓝图改写。
03
ExamPaperItem
编排项挂在卷上,保存题号、题组、材料结构和分值。材料题组不进题目表,避免同一题干在不同材料下被错误合并。
04
ExamQuestion
canonical_hash 管身份,revision_hash 管版本。主观评分载荷放 content_payload,七种规范题型共用一张题表。

考试库层级 · Category → Program → Track → 出题模版 → Card/Paper → Question + Scope。模版是生成规格,不是历史真题约束。按所选 track 取题,失败即停,不回落到全局题库。

受控入库,默认只读

转换停在规范 JSON,从不碰数据库。审计和预览默认只读;必须显式授权才写库、才发布。

01
转换

转换器注册表覆盖规范 JSON、行测 PDF、CFA 配对 PDF、申论合订本。产物按转换器版本和源 SHA-256 缓存。

02
审计

本地审计对齐 Admin 拒绝条件:10 MB、解析必填、paperKind 枚举。文本身份忽略配图,才能看见跨卷复用和答案冲突。

03
预览

远端分波预览,校验和可续跑。一批解析失败时逐文件重放并点名,而不是只给一个不透明错误。

04
写入 / 发布

--apply 才写库,--publish 才发布。内容政策:不改、不编答案键;AI 解析必须标注;优先原始 PDF 而不是旧 JSON。

七种规范题型 · 单选、多选、判断、填空、简答、论述、材料分析。当前陪练放量只用前四种客观题当锚点;后三种已入库,生成与评分能力留给后续放量。

陪练模式

陪练是独立产品功能,不是模考配置,也不是举一反三改版。范围从 Program → Track → Paper 读取;createSession 只验证合格锚点,不下发原题。自动笔记、错因五分类、知识树点亮不在 MVP。

冻结的三阶契约

STAGE_01
完整讲解

进入即第一阶段。提交前默不展开讲解;答错后仍在本阶段换变式,不倒退。

佛脚AI 陪练第一步完整讲解,可逐级打开定向、方法和步骤提示
STAGE_02
半提示练习

同知识点新变题。题干高亮加方法提示,不再直接给完整解法。S2 连错两次才临时开步骤。

佛脚AI 陪练第二步提示递减,完整讲解已完成,提示停在方法
STAGE_03
零提示验证

提交前永不给帮助。零提示答对后追加确认题;连续两道才写 independentPassedAt。

佛脚AI 陪练第三步零提示验证,前两阶已完成,界面不再提供提示
提交前分级披露 L1–L4

每点一次只开一级,级别只增不减。不提供「我不会,直接看讲解」。默认全用户;自适应开关关掉才熔断。

01

L1 定向

考什么、问哪个量,可高亮题干。S3 关闭。

02

L2 方法

公式名或路径第一步,不代入本题数字。S3 关闭。

03

L3 步骤

演示第一步或排除干扰。S2 同阶段连错 2 次才临时开。S3 关闭。

04

L4 完整讲解

只随提交后判题给,没有提交前入口。

掌握证据

看过提示再答对记 correct_with_hint,不算独立通过。掌握 = 连续两道零提示答对,含升一档确认题。确认题打错则降一档、清标记,重新凑两道。四选一 25% 蒙对必须确认。

下一题怎么来

用户一次只交 1 道。首次幂等键 initial:episodeId:stage:1。提交后 prefetch;有同阶段 ready 缓存则不生成不扣费。推进阶段时旧 ready 全部 retired。变体不会变成新锚点。批次 0 通过不结算用户积分。

产品规则
  • +锚点只在服务端使用题库真题;原题不出现在学员界面。createSession 验证锚点但不下发。
  • +生成候选必须保持锚点题型;结构校验失败即丢。Blind Solver 与 Judge fail closed,源题答案不是正确性依据。
  • +当前放量:单选、多选、判断、填空。导入题只要不是明确拒绝或受限授权,就可以当锚点。
  • +只结算成功交付的合格题;生成失败、空批次不扣费。
  • +变式生成、Judge 和自适应难度由队友的 AI services 推进;普通用户仍走上面的三阶契约。
  • +陪练禁止写入 ExamAttempt / 错题集 / 知识掌握表。独立 ExamCoachSession / Episode / Item / Attempt / GenerationJob。
  • +点前提示再答对不算掌握。不提供放弃直接看讲解。星级如果以后做,不能给看过讲解授星。
落地结果

模考和陪练共用同一套题实体,但会话域分开。已发布试卷可以进入陪练范围;陪练不再依赖另一份临时 JSON,也不改举一反三链路。

产品系统

05 MODULES
SYS_01

准入与增长闭环

在内测、开放体验与注册之间切换

佛脚AI 中文生产环境落地页
LIVE_PRODUCTION // 公开体验入口

关键决策

不把整页做成登录墙。Gateway 只精确放行两条 guest-exam-demo。GET 不回答案;批改失败不得伪造成绩。

落地结果

游客能先完成真题、批改与报告。guest_exam_funnel 七步 fail-open。这是使用路径,不是转化提升结论。

展开决策记录

产品经历了内测码墙、开放注册和调研引导。我把游客 /exam/ 做成可走完的模考:静默 Guest、本地答题、确定性批改、固定计划,再进现有注册页。

关键决策

不把整页做成登录墙。Gateway 只精确放行两条 guest-exam-demo。GET 不回答案;批改失败不得伪造成绩。

取舍

开放游客会增加成本与滥用,因此限额 12 题 / 32KiB,账户型能力仍在注册后。一期故意不用 AI 出题或批改。

  • +管理内测码墙开启、开放注册与调研引导的产品节奏
  • +落地 /exam/ 静默 Guest、local-only 答题、guest_full_loop_12_v2
  • +GET 不返回正确答案;POST 确定性批改,失败保留浏览器答案
  • +七步漏斗埋点 fail-open;认证仍走现有注册页
SYS_02

AI TUTOR 学习功能系统

把 FeaturePanel 百宝箱能力融入对话

佛脚AI 中文 AI Tutor 学习对话
LIVE_PRODUCTION // AI Tutor 工作台

关键决策

不把生成工具做成彼此孤立的按钮。材料进 Content 状态机,产物作为 artifact 挂在同一 sessionId。

落地结果

用户可围绕同一份材料完成阅读、对话、总结、自测和复习,FeaturePanel 从工具集合变成一套学习工作流。

展开决策记录

FeaturePanel 集合了摘要、思维导图、闪卡、测验、知识海报、播客、资源与笔记等能力。我负责确认功能组合、交互入口和产品优先级,并将这些产物集成到 AI Tutor 对话与当前材料上下文。

关键决策

不把生成工具做成彼此孤立的按钮。材料进 Content 状态机,产物作为 artifact 挂在同一 sessionId。

取舍

功能数量快速增长会增加认知负担,因此需要统一入口、状态和产物呈现,同时在桌面与移动端采用不同的材料切换方式。

  • +规划并确认摘要、思维导图、闪卡、测验、海报、播客等功能入口
  • +将 FeaturePanel 产物挂到同一 sessionId,避免丢掉当前材料
  • +重做 DocumentViewer 多文件切换与移动端适配
  • +解析失败即停空态;大文档优先吃章节摘要与文档 digest
SYS_03

考试与题库

卷是编排,题是可复用实体

佛脚AI 中文全屏模拟考试界面
LIVE_PRODUCTION // 全屏模考体验

关键决策

模考只用审计、预览、写入、发布之后的正式卷,不用演示 JSON。

落地结果

答题、批改、弱项复习和考后计划都跑在可运营试卷上。

展开决策记录

演示卷验证了模考界面。四表、失败即停检索和受控入库写在上方「近期工作重点」。这张卡片只保留建立在题库上的全屏模考。

关键决策

模考只用审计、预览、写入、发布之后的正式卷,不用演示 JSON。

取舍

结构化题库比直接丢一份 JSON 更慢,但这是后面陪练能复用同一套题目的前提。

  • +设计题库一期四表:RawExamImport → ExamPaper → ExamPaperItem → ExamQuestion
  • +建立 Category/Program/Track/模版/卷/题 + Scope;按 track 失败即停
  • +做可移植入库:转换、审计、分波预览、显式 --apply / --publish;Restrict 保溯源
  • +canonical_hash 管身份;答案存文本数组;七种题型入库,陪练只用前四种客观题
SYS_04

分阶陪练

独立域;原题只留在服务端

佛脚AI 陪练模式起始页,左侧三阶契约,右侧从题库选择考试和知识点
LIVE_PRODUCTION // 独立陪练入口

关键决策

createSession 验证锚点但不下发。next-item 一次交 1 题。掌握要连续两道零提示,含确认题。

落地结果

模考和陪练共用题实体,会话域分开。看过提示再答对不算掌握。

展开决策记录

陪练不是模考配置,也不改举一反三 API。截图来自生产环境:选考试与知识点,再走完整讲解、提示递减和零提示验证。

关键决策

createSession 验证锚点但不下发。next-item 一次交 1 题。掌握要连续两道零提示,含确认题。

取舍

变式生成、Blind Solver / Judge 由队友负责。我负责独立域表、状态机、L1–L4 和陪练界面。

  • +独立 ExamCoachSession / Episode / Item / Attempt / GenerationJob,禁止写模考错题表
  • +三阶契约 + L1–L4;点前提示记 correct_with_hint
  • +createSession 不下发原题;批次最多 6 条,用户只收到 delivered
  • +掌握 = 连续两道零提示,含升一档确认题
SYS_05

商业化与数据反馈

用 GA 与 Plausible 验证产品路径

佛脚AI 中文订阅套餐与商业化界面
LIVE_PRODUCTION // 订阅方案验证

关键决策

用统一、可去重的事件契约覆盖落地、游客体验、认证、激活和首条消息,并对齐客户端与服务端身份。

落地结果

关键路径事件形成连续链路,用来定位掉点。GA4 数字是使用信号,不是转化提升。

展开决策记录

我参与商业化设计,并负责关键事件埋点、注册漏斗和归因修复。数据表现不会被包装成漂亮数字,而是用来判断用户在哪一步流失、哪些产品假设需要调整。

关键决策

用统一、可去重的事件契约覆盖落地、游客体验、认证、激活和首条消息,并对齐客户端与服务端身份。

取舍

事件契约和身份对齐比零散埋点更慢,但避免同一转化被重复计算或在登录前后断裂。

  • +定义从落地到游客模考七步再到认证的事件契约
  • +对齐客户端与服务端身份,避免登录前后链路断裂
  • +保证余额刷新失败不丢数据,游客会话不堵死主入口

关键反思

REFLECTION_01

准入不是一次性开关。内测码墙、开放注册和调研引导需要跟随产品阶段变化,而不是散落在页面里的永久逻辑。

REFLECTION_02

功能数量不等于产品价值。FeaturePanel 只有进入 AI Tutor 对话与材料上下文,才从百宝箱变成学习闭环。

REFLECTION_03

演示卷可以验证体验,却不能支撑内容运营。题库成为模考和陪练共用的数据底座之后,变式生成才有资格挂上来。

REFLECTION_04

数据不必好看,但必须可信。漏斗的价值是暴露问题并帮助做下一次优先级判断,而不是包装转化率。

技术栈

INTERFACE
Next.js 15React 19TypeScriptTailwind CSSHeroUI
PRODUCT API
Hono (Node.js)FastAPI (Python)PrismaPostgreSQL
AI SYSTEM
LangGraphLlamaIndexAWS Bedrock
MEASUREMENT
EChartsGA4Plausible