[论文阅读] AI + 软件工程(Debug)| 告别 “猜 bug”:TreeMind 用 LLM+MCTS 破解 Android 不完整报告复现难题

作者:张较瘦_日期:10/1/2025

告别 “猜 bug”:TreeMind 用 LLM+MCTS 破解 Android 不完整报告复现难题

1. 一段话总结

为解决Android bug报告(尤其不完整报告与高复杂度UI场景)自动复现的挑战——现有RL方法(如ReproBot)语义理解弱、LLM方法(如AdbGPT、ReBL)缺乏全局规划,易陷入UI组合爆炸困境,研究者提出TreeMind:首个将LLM语义推理与定制化蒙特卡洛树搜索(MCTS) 结合的技术。其核心是通过两个LLM引导智能体(Expander在MCTS扩展阶段生成top-k候选动作,Simulator在模拟阶段一步前瞻估计复现概率),结合多模态UI输入(文本+截图)与高级提示工程(少样本学习、思维链),实现反馈感知导航。在93个真实Android bug报告上的实验显示,TreeMind复现成功率达63.44%,显著优于ReActDroid(45.16%)、ReBL(40.86%)、AdbGPT(34.41%)和ReproBot(31.18%)四大基线;消融实验验证提示工程(+33.34%成功率)和Simulator一步前瞻(+43.34%成功率)为关键,案例研究证明其能恢复报告中缺失的关键动作,证实LLM与MCTS结合是自动bug复现的有效方向。

2. 思维导图(mindmap)

在这里插入图片描述

3. 详细总结

1. 研究背景与核心挑战
1.1 行业背景与需求
  • Android应用生态规模:据Statista数据,Google Play商店现有超3.9百万款Android应用,开发者需通过高效bug修复维持用户留存——调查显示88%的用户会因应用bug或故障直接弃用
  • bug报告的核心作用:bug报告是开发者理解故障的主要信息源,复现崩溃需依赖报告中的用户交互步骤(S2R,Steps to Reproduce),但70%以上的报告存在关键细节缺失(用户未按指引提供完整步骤),导致手动复现耗时(平均需数小时)。
1.2 现有方法的局限性
方法类型代表工具核心缺陷
传统NLP/RLReproBot、ReCDroid1. NLP提取S2R精度低,难捕获遗漏步骤;2. RL语义理解弱,面对复杂UI探索开销高(如ReproBot平均耗时827.2s)
LLM-basedAdbGPT、ReBL、ReActDroid1. 缺乏全局规划,仅局部反应式决策;2. 难应对UI组合爆炸(单应用可能交互序列超10⁵种);3. 报告不完整时易陷入无效循环(如AdbGPT反复执行同一步骤)
1.3 解决思路

蒙特卡洛树搜索(MCTS)在博弈(如围棋)、自动化规划中表现出优秀的探索-利用平衡能力,可弥补LLM全局规划不足;而LLM的语义理解能力(文本+图像)可解决MCTS在bug复现中“动作筛选”和“奖励估计”的核心难题,二者互补形成技术突破。

2. TreeMind方法论:LLM与MCTS的深度融合
2.1 整体定位与架构
  • 定位:首个将外部决策(MCTS)与LLM语义推理结合的Android bug自动复现技术,输入为“bug报告+APK文件”,输出为“复现动作序列”或“未找到bug”提示,无需用户具备LLM专业知识。
  • 两大核心组件(图2):
    1. MCTS模块:核心规划单元,协调MCTS四阶段(选择、扩展、模拟、回传),集成LLM多智能体框架,通过与动作执行引擎交互获取UI信息。
    2. 动作执行引擎:基于UI Automator2的Android自动化后端,功能包括:①执行LLM生成的交互命令(点击、旋转等);②提取多模态UI输入(文本描述:UI控件层级/名称;截图:视觉状态)。
2.2 LLM增强的MCTS四阶段设计(核心创新)

TreeMind对MCTS四阶段进行定制化改造,通过两个LLM智能体解决bug复现场景的特有问题:

MCTS阶段核心任务关键设计与参数解决的痛点
选择(Selection)从根节点(初始UI)递归选择子节点,确定下一步探索路径1. 采用softmax-over-UCB策略,公式如下:P(t)=exp(UCBt−max(U)τ)∑k=1nexp(UCBk−max(U)τ)P(t)=\frac{exp \left(\frac{UCB_{t}-max (U)}{\tau}\right)}{\sum_{k=1}^{n} exp \left(\frac{UCB_{k}-max (U)}{\tau}\right)}P(t)=∑k=1n​exp(τUCBk​−max(U)​)exp(τUCBt​−max(U)​)​2. 温度参数τ=1.8(实验确定),将UCB分数转为概率分布避免标准UCB“过度利用高分数路径”的问题,确保对低概率但关键的路径(如报告缺失步骤)仍有探索机会
扩展(Expansion)为叶子节点生成候选动作,避免动作空间爆炸1. 引入Expander智能体(GPT-4o驱动);2. 基于“当前UI状态+探索历史+bug报告”生成top-k候选动作(最优k=3);3. 动作类型限制为6种:click/long_click/set_text/multiple_select/rotate/back传统MCTS全动作扩展会生成数百个无效动作(如点击无关控件),top-k筛选将探索范围聚焦于高潜力动作
模拟(Simulation)估计候选动作的复现潜力,替代耗时的“全路径rollout”1. 引入Simulator智能体(GPT-4o驱动);2. 执行“一步前瞻rollout”(仅执行当前动作,观察UI变迁);3. 结合“bug报告核心需求+探索历史”给动作打分(0-10分,代理奖励);4. 应用状态恢复机制:模拟后重启app并回放历史动作,确保各动作模拟独立全路径rollout在bug复现中不可行(需执行数十步,平均耗时超1小时),一步前瞻+LLM评分实现高效奖励估计
回传(Backpropagation)更新路径上所有节点的“访问次数”和“价值分数”,指导后续探索1. 分数映射规则:将Simulator的0-10分映射为「高=5(7≤分≤10)、中=2(4≤分≤6)、低=1(0≤分≤3)」;2. 满足约束:high+(k−1)×low>k×midhigh +(k-1) × low >k × midhigh+(k−1)×low>k×mid(确保高分数节点不被低分数节点平均掩盖);3. 节点价值=子节点映射分数的平均值直接平均原始分数会导致高潜力路径被掩盖(如节点B分数9,但被两个分数1的兄弟节点拉低平均),映射规则保护关键路径
2.3 提示工程:LLM智能体的“操作手册”

TreeMind为Expander和Simulator设计专属Prompt,核心包含三大要素,确保LLM输出符合bug复现需求:

  1. 任务指定:明确LLM角色、输入内容、输出格式:
    • ExpandPrompt:角色为“Android UI测试专家”,输入含“app名+bug报告+UI文本+截图”,输出为JSON格式的top-k动作(如[{"action": "click", "feature": "escape methods"}])。
    • SimulatePrompt:角色为“bug复现评估专家”,输入含“复现历史+目标动作+UI变迁”,输出为0-10分(如“Score: 9”)。
  2. 少样本学习:嵌入典型案例引导LLM:
    • 例:ExpandPrompt中加入“点击Profile按钮复现崩溃”案例,SimulatePrompt中加入“登录场景点击Sign In按钮评9分”案例,提升输出一致性。
  3. 思维链推理:提供步骤化推理指引:
    • ExpandPrompt推理步骤:①判断bug报告中的目标控件是否可见→②可见则优先建议点击→③不可见则判断是否需滚动→④仍不可见则探索一级控件。
    • SimulatePrompt推理步骤:①提取bug核心触发条件→②对比目标动作与核心条件的关联性→③分析UI变迁是否接近崩溃状态→④给出分数。
3. 实验评估:93个真实bug报告验证
3.1 实验设置
配置项详情
数据集93个真实Android bug报告,来自3个公开数据集:ReActDroid(28个)、ReproBot(35个)、AndroR2(30个),排除重复和不可安装APK
基线方法4个SOTA工具:ReActDroid(LLM+崩溃定位)、ReBL(LLM+反馈)、AdbGPT(LLM+少样本)、ReproBot(RL+NLP)
实验环境硬件:Intel i9-13900K、32GB内存;软件:Android 12模拟器、GPT-4o、UI Automator2
评估指标1. 复现成功率:至少1次成功复现的bug占比;2. 平均耗时:成功复现案例的最短耗时平均值
实验规则每个bug重复5次,单次时限30分钟,成本约0.45美元/bug(183,163 tokens)
3.2 核心实验结果(RQ1:与基线对比)

TreeMind在成功率上显著超越所有基线,耗时虽高于纯LLM方法,但总耗时因成功率高最优:

评估指标TreeMindReActDroidReBLAdbGPTReproBotTreeMind优势(成功率)
复现成功率63.44%(59/93)45.16%(42/93)40.86%(38/93)34.41%(32/93)31.18%(29/93)超基线40.5%-103.5%
平均耗时(s)268.287.5123.4152.7827.2-(但总耗时最优,因成功率最高)
  • 失败原因分析:①报告缺失关键细节(如Markor-1565,仅提旋转崩溃,未提前置操作);②依赖第三方服务(如yakusu-35,需Google账号登录);③UI Automator2局限(如Memento-169,无法提取自定义日期选择器)。
3.3 消融实验(RQ2:各策略贡献)

随机选取30个bug验证关键策略的必要性,结果显示Simulator的一步前瞻(SI)和提示工程(PE)对成功率影响最大

实验变体复现成功率平均耗时(s)与原始版本的成功率差距关键结论
原始版本(全功能)76.67%233.9-基准性能
w/o PE(无提示工程)43.33%472.9-33.34%提示工程确保LLM理解任务,减少无效输出
w/o IG(无UI截图)46.67%409.5-30.00%UI截图解决文本UI信息不足(如LibreNews开关状态区分)
w/o TK(无top-k动作)56.67%239.9-20.00%top-k筛选避免动作空间爆炸,提升探索效率
w/o SI(标准rollout)33.33%412.9-43.34%一步前瞻是MCTS高效奖励估计的核心,标准rollout不可行
3.4 最优k值实验(RQ3:扩展阶段top-k选择)

测试k=1-5的性能,结果显示k=3时实现成功率与耗时的最优平衡

k值复现成功率平均耗时(s)关键原因
136.7%574.4候选动作太少,易缺失关键步骤(如FakeStandby的“点击escape methods”)
246.7%478.9仍存在关键动作遗漏风险
376.7%233.9动作数量适中,兼顾探索广度与效率
453.3%460.5引入无关动作(如点击“关于”按钮),搜索空间扩大
560.0%422.9无关动作更多,耗时增加,成功率未提升
3.5 真实案例研究(RQ4:缺失步骤复现)

以FakeStandby应用崩溃案例为例(bug报告仅1句:“旋转屏幕崩溃”,缺失2个关键步骤:①点击“escape methods”、②弹窗打开时旋转):

  • 基线表现:所有基线30分钟内失败(AdbGPT反复旋转,ReproBot重复动作,ReBL陷入State#1与State#3循环)。
  • TreeMind表现:3分41秒成功复现,关键步骤:①选择阶段通过softmax-UCB以4%概率选中“点击escape methods”(避免仅选“旋转”);②模拟阶段Simulator对“弹窗旋转”动作评9分;③回传阶段分数映射保护高潜力路径,最终定位完整序列。
4. 相关工作与未来方向
4.1 相关工作分类
类别代表工作与TreeMind的差异
非LLM-based bug复现ReCDroid、ReproBot、Roam无LLM语义理解能力,缺乏全局规划,复现率低
LLM-based bug复现AdbGPT、ReBL、ReActDroid无MCTS全局规划,难应对UI组合爆炸和报告不完整
bug报告分析Yakusu、EBug、TAB目标是优化报告质量或生成测试用例,不直接复现bug
4.2 未来优化方向
  1. 数据集扩展:增加跨领域bug报告(如金融、医疗应用),提升泛化性。
  2. UI提取技术升级:采用图像-based UI测试(如Mobile-Agent-v2),替代UI Automator2,解决自定义视图提取问题。
  3. 效率优化:①并行化MCTS搜索,同时探索多路径;②融合ReBL的“单轮动作序列生成”,减少MCTS迭代次数。
  4. LLM优化:采用轻量多模态LLM(如GPT-4o-mini)或模型蒸馏,降低推理耗时与成本。
5. 核心结论

TreeMind通过LLM语义推理(理解bug报告与UI)与MCTS全局规划(探索最优动作序列)的创新结合,在93个真实Android bug报告上实现63.44%的复现成功率,显著超越现有SOTA方法。其设计的Expander/Simulator智能体、softmax-UCB选择、分数映射回传等策略,有效解决了自动bug复现中“动作筛选”“奖励估计”“路径保护”三大核心难题,为Android应用质量保障提供了高效、可靠的自动化工具。


4. 关键问题与答案

问题1:TreeMind相比现有LLM-based Android bug复现方法(如AdbGPT、ReBL),核心突破点是什么?这些突破如何解决“报告不完整+UI复杂”的核心挑战?

答案:核心突破点是首次将LLM的语义理解能力与MCTS的全局规划能力深度融合,通过定制化MCTS四阶段与双LLM智能体,解决了纯LLM方法“缺乏全局视野、易陷入局部循环”的本质缺陷,具体体现在三方面:

  1. 突破“局部反应式决策”局限:纯LLM方法(如AdbGPT)仅基于当前UI生成动作,无全局路径规划,面对报告不完整时易反复执行无效动作(如反复旋转屏幕);而MCTS通过“选择-扩展-模拟-回传”循环进行多轮迭代规划,结合softmax-UCB策略(τ=1.8)探索低概率但关键的路径(如FakeStandby中4%概率选中“点击escape methods”),恢复报告缺失的关键步骤。
  2. 突破“UI动作空间爆炸”局限:纯LLM方法生成动作时无筛选,面对复杂UI(如含50+控件的设置页)易生成无关动作;TreeMind通过Expander智能体生成top-k(最优k=3)候选动作,基于bug报告与UI上下文筛选高潜力动作,将探索范围从数百个压缩至3个,大幅提升效率。
  3. 突破“奖励估计不可行”局限:纯LLM方法无明确奖励机制,仅靠反馈调整易偏差;TreeMind的Simulator智能体通过“一步前瞻+LLM评分”提供代理奖励(0-10分),替代耗时的全路径rollout(需数小时),结合分数映射回传(高=5/中=2/低=1)保护高潜力路径,确保MCTS能聚焦最优探索方向。

这些突破使TreeMind在报告不完整(如仅1句话描述)、UI复杂(如多页面交互)场景下,仍能高效复现bug,成功率比ReBL(40.86%)提升55.3%。

问题2:TreeMind的提示工程设计(ExpandPrompt与SimulatePrompt)包含哪些关键要素?这些要素如何确保LLM智能体生成符合MCTS需求的输出?

答案:TreeMind的提示工程围绕“让LLM理解bug复现任务、输出可被MCTS解析的结构化结果”设计,核心包含任务指定、少样本学习、思维链推理三大要素,各要素的作用与MCTS需求的匹配性如下:

  1. 任务指定:明确LLM角色与输出约束,确保MCTS可解析
    • 角色定义:为Expander指定“Android UI测试专家”角色,为Simulator指定“bug复现评估专家”角色,避免LLM输出偏离任务(如Expander不会生成代码而非动作);
    • 输入规范:强制输入“多模态UI信息(文本+截图)+探索历史”,解决纯文本UI信息不足问题(如区分开关“开/关”状态);
    • 输出格式:Expander输出JSON格式动作列表(含action/feature字段),Simulator输出“Score: X”固定格式,确保MCTS模块可自动解析,避免因格式混乱导致的集成错误(消融实验显示无此要素时成功率下降33.34%)。
  2. 少样本学习:提供典型案例,引导LLM掌握复现逻辑
    • 针对Expander:嵌入“点击Profile按钮复现崩溃”案例,展示“优先选择bug报告中提及的控件”的逻辑;
    • 针对Simulator:嵌入“登录场景点击Sign In按钮评9分”“无关动作(如点击Back)评2分”的案例,明确评分标准;
    • 作用:使LLM快速掌握bug复现的领域知识(如“弹窗打开时旋转”才是崩溃触发条件),减少初期探索成本,消融实验显示无此要素时成功率下降超30%。
  3. 思维链推理:提供步骤化指引,提升LLM决策准确性
    • Expander推理步骤:①判断bug报告目标控件是否可见→②可见则优先建议点击→③不可见则判断是否需滚动→④仍不可见则探索一级控件,避免盲目生成动作;
    • Simulator推理步骤:①提取bug核心触发条件(如“弹窗旋转”)→②对比目标动作与核心条件的关联性→③分析UI变迁是否接近崩溃状态→④给出分数,避免主观评分偏差;
    • 作用:引导LLM进行逻辑化决策,减少“幻觉”输出(如Simulator不会给无关动作高评分),确保MCTS获得可靠的代理奖励。
问题3:TreeMind在复现效率(耗时)上高于纯LLM方法(如ReActDroid),如何理解这种“效率-效果”的权衡?未来有哪些切实可行的优化方向可在保持高成功率的同时降低耗时?

答案:### 一、效率-效果权衡的合理性
TreeMind平均耗时268.2s,高于ReActDroid(87.5s),核心原因是MCTS的多轮迭代规划(选/扩/仿/回循环)和LLM智能体的语义推理引入了计算开销,但这种权衡具备明确的实用价值:

  1. 成功率优先的实际需求:在开发者调试场景中,“能复现bug”比“快速但失败”更重要——TreeMind成功率63.44%,比ReActDroid高18.28%,意味着93个bug中可多复现17个,大幅减少开发者手动复现时间(平均节省数小时/个);
  2. 总耗时最优:尽管单bug平均耗时高,但因成功率最高,所有测试用例的“总耗时(成功案例耗时+失败案例耗时)”反而最优(ReActDroid失败案例需消耗30分钟时限,总耗时更高);
  3. 成本可控:单bug平均成本0.45美元,大规模应用(如1000个bug)成本约450美元,远低于手动复现成本(开发者时薪50美元,1000个bug需数千小时)。

二、未来效率优化方向(不牺牲成功率)

  1. 并行化MCTS搜索:参考并行MCTS技术(如Chaslot 2008提出的方法),同时对多个子节点进行扩展与模拟,将迭代次数从平均50轮降至20轮,预计耗时减少60%;
  2. 图像-based UI提取升级:替换当前的UI Automator2,采用Mobile-Agent-v2等图像-based技术,直接从截图中识别控件位置与状态(如自定义日期选择器),减少UI信息提取耗时(当前占总耗时的30%);
  3. LLM推理优化:①采用轻量多模态LLM(如GPT-4o-mini),推理速度提升3倍,成本降低70%;②通过“历史动作缓存”复用LLM对相同UI的推理结果(如重复进入设置页时无需重新分析),减少重复计算;
  4. 融合单轮动作序列生成:借鉴ReBL中“LLM单次输出多步动作”的思路,在MCTS扩展阶段让Expander生成3步动作序列而非单步,减少MCTS迭代轮次,预计耗时减少40%。

这些优化方向与TreeMind的核心设计(LLM+MCTS)正交,可在保持63%+成功率的前提下,将平均耗时从268.2s降至100s以内,进一步提升实用价值。


[论文阅读] AI + 软件工程(Debug)| 告别 “猜 bug”:TreeMind 用 LLM+MCTS 破解 Android 不完整报告复现难题》 是转载文章,点击查看原文


相关推荐


VSCode中Python库识别的设置(关于解决VSCode中Python库引入未下载的库不显示黄色虚线的问题)
岫珩9/30/2025

这篇文章介绍了如何解决VSCode中Python库未下载时不会显示黄色虚线警告的问题。通过分析发现,这可能是由于Pylance插件的配置问题导致的。解决方案包括:首先确保安装了Pylance插件,然后在设置中勾选"Enable Troubleshoot Missing Imports"选项,并检查"Diagnostics Source"是否设置为Pylance。最后重启VSCode即可使未下载的库显示黄色虚线警告。文章配有详细的操作截图指引,帮助读者快速解决问题。


【stm32】CAN分析仪+TJA1050+单片机通信不上,波特率等等都没问题,usb扩展坞的供电问题,绝了
小冷Hello10/2/2025

我就是,绝了,之前都没问题,好久没弄这个CAN了,然后想着插usb扩展坞有隔离安全一点,搞了半天检查代码有检查硬件,怎么都不行,结果突然拔掉插到电脑是,就又有了,绝!注意电源哈,tja1050要5v供电,单独连接到stlink的5v,因为是CAN是差分信号。,否则会出现重复终端(总阻值变小,例如 30Ω 左右),总线电平和收发都会异常。接收器,这里直接rx-rx,tx-tx,注意要区分跟串口不一样,然后再检查那个上位机和单片机波特率要一致,比如125kb,然后我又插回usb扩展坞,绝,又可以了。


Qwen-Image:开源图像生成新突破 —— 聚焦复杂文本渲染与精准图像编辑
算法打盹中2025/10/2

引言 继Qwen-coding与Qwen-reasoning模型取得突破性进展后,阿里巴巴Qwen团队推出了Qwen-Image模型。作为Qwen系列中的开源图像生成基础模型,该模型在复杂文本渲染与精确图像编辑领域实现了显著技术突破。 图像生成领域的核心挑战 尽管图像生成技术在近年取得长足进步,但特定任务场景下的技术瓶颈仍未完全突破: 在文本到图像生成(T2I)任务中,模型输出与多维度复杂提示词的语义对齐仍是亟待解决的关键问题。即便如GPT Image 1及Seedream 3.0等主流


使用 uv 在 Windows 上快速搭建 Python 开发环境
马诗剑2025/10/2

本教程将指导你如何在 Windows 系统上,使用 uv(一个由 Ruff 的作者开发的极速 Python 打包和项目管理工具)来快速创建虚拟环境并安装项目依赖。uv 可以看作是 venv 和 pip 的一个更快、更现代的替代品。 环境要求 Windows 操作系统 已安装 Python (本教程以 Python 3.12 为例) Windows PowerShell 步骤 1: 安装 uv 首先,我们需要安装 uv。这里提供两种方法。 方法一:官方推荐脚本 (推荐) 从开始


Vue基础10题:答不上来的,简历别写"熟悉Vue"
小时前端2025/10/3

前言 上周面了个应届生,简历上写着"熟悉Vue框架,有多个项目经验"。我问他v-if和v-show的区别,他说"一个是显示隐藏,一个是条件渲染"。我追问"那什么场景用哪个",他卡壳了,这就是典型的‘背题党’。 这就是大部分人的现状:概念背得滚瓜烂熟,一问实战场景就露馅。 今天这10道Vue基础题,每道题我都会告诉你:面试官为什么问这个、标准答案怎么说、什么回答会让你直接出局。每题都配"速记公式",面试前一晚看这篇就够了。 1. 什么是Vue.js?Vue的核心特性和设计理念是什么? 速记公式:


SwiftUI redraw 机制全景解读:从 @State 到 Diffing
unravel20252025/10/4

为什么 UIKit 程序员总问“我的状态去哪了?” 特性UIKitSwiftUI视图定义与生命周期视图为类(Class),生命周期明确,长期驻留内存视图为值类型(Struct),每次刷新生成新实例状态保存方式状态保存在视图对象内部Struct 销毁后,状态需由外部系统(如 ObservableObject、@State 等)托管 SwiftUI 提供了一堆 Property Wrapper 来“假装”状态还在视图里,核心就是 @State。 @State


草梅 Auth 1.9.0 发布验证码组件 | 2025 年第 40 周草梅周报
草梅友仁2025/10/6

本文在 草梅友仁的博客 发布和更新,并在多个平台同步发布。如有更新,以博客上的版本为准。您也可以通过文末的 原文链接 查看最新版本。 前言 欢迎来到草梅周报!这是一个由草梅友仁基于 AI 整理的周报,旨在为您提供最新的博客更新、GitHub 动态、个人动态和其他周刊文章推荐等内容。 本周依旧在开发 草梅 Auth 中。 你也可以直接访问官网地址:auth.cmyr.dev/ Demo 站:auth-demo.cmyr.dev/ 文档地址:auth-docs.cmyr.dev/ 本周 草梅


“成章”写作助手开源:中秋赏不成月,那就开源一个 AI 实战项目吧
飞哥数智谈2025/10/7

前一阵的实战系列分享中,我们一块实现了一个 AI 写作助手 —— 成章。 当时就打算开源出来,方便感兴趣的同学学习、二开,但一直被各种事情打断,拖到了现在。 今天,赶上中秋节,但阴天没法赏月,索性整理一下先发布出来,需要的自取哈! 简介 “成章”写作助手是一个专为写作者设计的现代化写作平台,实现了文章编写、AI 辅助写作、图片上传等功能,旨在提供高效、便捷的写作体验。 前端开源地址:gitee.com/FlyFive/che… 后端开源地址:gitee.com/FlyFive/che… 功能


Python私教FastAPI+React构建Web应用03 FARM技术栈介绍
Python私教2025/10/9

写在前面 作者:Python私教-张老师 时间:2025年10月07日 出处:电子书《Build Web Applications with FastAPI, React, and MongoDB》 翻译:英文是手抄的,可能会有错误,大家看到了请谅解一下。中文是使用有道词典翻译的。 改进:其中有些地方为了适配国内的阅读习惯以及录播课程,做了一些优化处理,可能会和原书不一样的地方。 简介:本篇文章主要介绍FARM技术栈,分别讲解FastAPI,React和MongoDB的优势以及组合后


FunASR 前端语音识别代码解析
Cosolar2025/10/10

这是基于Web技术的FunASR( 阿里巴巴达摩院 开源语音识别项目) 前端实现方案,支持麦克风实时录音识别与本地音频文件上传识别两大核心场景。整体功能围绕WebSocket通信、音频数据处理、语音识别结果解析三大关键环节展开,以下从代码结构、核心模块及关键逻辑三方面进行详细剖析。 代码:gitee.com/towao/FunAS… 一、代码整体结构 代码采用原生JavaScript编写,无框架依赖,整体架构清晰,主要划分为初始化配置、UI交互 控制 、音频 数据 处理、WebSocket通信、

首页编辑器站点地图

Copyright © 2025 聚合阅读

License: CC BY-SA 4.0