程序员AI提效案例:统计B站课程耗时情况


今天为了写一篇博客,这篇博客介绍了B站的一个Java项目,这个项目分为三个阶段:

  • 初级篇
  • 高级篇
  • 运维篇

一,时长统计需求

我想根据每个阶段的总时长制定学习计划,B站只有每一集的时长,格式如下。

在这里插入图片描述

思路很简单:

  • 首先找到每一阶段的起止集数;
  • 然后把每个阶段的每集的时间加起来就可以算出每一阶段总耗时了。

第一个步骤很简单啊,从内容上可以区分。

  • P1~P101 是初级篇
  • P102~P338 是高级篇
  • P339到最后 是运维篇

二,一波三折

我的想法是把上图中视频选集下面的内容copy出来,和算法一起丢给大模型,让它给我统计出来。

拷贝出来之后粘贴到文本文件,格式有点意外,但还算是格式化文本。

本来是这样的:

在这里插入图片描述

粘贴到文本文件后,变成这样式的了:

在这里插入图片描述

如上,一行信息变三行了。

但是,没关系,还是有规律可循。

把这个文档提交给大模型,把算法写在提示词里。

这个文档的规则如下:
1,每三行是一个单元;
2,每个单元第三行表示一个视频的时长,如11:30表示11分钟30秒,
3,美格单元第一行表示集数,如P1表示第一集;

请分别统计:
1,P1~P101的总时长;
2,P102~P338的总时长;
3,P339到最后一集的总时长。

最后的结果请以[小时:分钟:秒]给出,并给出这三部分的总时长。

我惊奇的发现,大模型搞不定这个,虽然我不知道原因,或许是我用的姿势不对。

首先看看Kimi的表现。

在这里插入图片描述

Kimi貌似是异步的处理,但是我等了很久,一直不给我结果。

我追问,它回答马上开始,难道一直没开始,我白等了?

似乎也不是异步执行。

在这里插入图片描述

最后我强制要求它给出结果,不要让我等待。

来来回回纠缠了好多次,终于给出了统计结果,结果却是错的,总时长对不上,比如第三部分总时长肯定不止64分钟。

在这里插入图片描述

然后又试了通义千问,它倒是能爽快的给出结果,可惜也是错的。

最后又试了智谱清言,它的计算速度最快,秒出结果,可惜还是错的。

在这里插入图片描述
这也太不靠谱了。

在这里插入图片描述

三,终极方案 AI+Java

最后,我觉得不要让它直接算,让它给我写个Java程序,我自己来跑这个程序,这样即便错了,我也能知道是哪里错的。

Kimi在几秒内完成了这个任务。

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class VideoDurationStatistics {

    public static void main(String[] args) {
        String filePath = "path/to/your/document.txt"; // 替换为文档的实际路径
        try (BufferedReader reader = new BufferedReader(new FileReader(filePath))) {
            String line;
            int totalDuration = 0;
            Pattern durationPattern = Pattern.compile("^(\\d{1,2}):(\\d{2})$");

            while ((line = reader.readLine()) != null) {
                // 检查是否是时长行(每三行的第三行)
                if (line.matches(durationPattern)) {
                    Matcher matcher = durationPattern.matcher(line);
                    if (matcher.find()) {
                        int minutes = Integer.parseInt(matcher.group(1));
                        int seconds = Integer.parseInt(matcher.group(2));
                        totalDuration += (minutes * 60) + seconds;
                    }
                }
            }

            // 将总时长转换为小时、分钟、秒
            long hours = totalDuration / 3600;
            totalDuration %= 3600;
            long minutes = totalDuration / 60;
            long seconds = totalDuration % 60;

            System.out.printf("Total Duration: %d hours, %d minutes, %d seconds%n", hours, minutes, seconds);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

我把这段代码放到Idea,稍微改吧改吧,很快结果就出来了。

在这里插入图片描述

我验证了总的时间,和B站基本吻合,说明程序跑出来的结果是正确的。

总结

现在的AI能力有限,有些工作它很擅长,有些它不擅长。

其中很大的问题是AI大模型是个黑盒,你不知道它是怎么得出结果的,很难去纠正它,只能不断尝试,但或许它永远也不能给出正确的结果。

但是把它作为辅助工具还是非常不错的,比如让它写一段代码,不到一分钟就写出来了,要是纯人工码,可能得个把小时,如果是要边查API边写代码,那就更慢了。

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小手追梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值