惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
U
Unit 42
Google DeepMind News
Google DeepMind News
博客园 - 司徒正美
Y
Y Combinator Blog
F
Fortinet All Blogs
云风的 BLOG
云风的 BLOG
T
Tailwind CSS Blog
G
Google Developers Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
罗磊的独立博客
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
MyScale Blog
MyScale Blog
N
Netflix TechBlog - Medium
Microsoft Security Blog
Microsoft Security Blog
GbyAI
GbyAI
P
Proofpoint News Feed
Jina AI
Jina AI
B
Blog RSS Feed
腾讯CDC
阮一峰的网络日志
阮一峰的网络日志
D
Docker

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
如何使用AI开发一个音符闪卡测试网页工具 - 少数派
2025-02-19 · via 少数派

最近刚开始学习弹琴,但是无奈上了年纪记性不好,总是学了新音符又忘了之前的,很是头疼。

了解到有制作闪卡时常复习辅助记忆的方法,恰巧前阵子让DeepSeek帮我写了几个脚本,就想到能不能试试让它帮我制作这么一个网页呢?

这篇短文就是我尝试的一个记录,和大家做一个分享。

1.明确需求

让AI帮我们干活肯定得写提示词,但上来就让它生成一个页面,效果不一定理想。

我的想法是,在提需求之前,我们得先弄清楚自己的需求

于是乎,我先思考,罗列了下开发过程需要使用的语言,调用的库,我想实现的基本功能和进阶功能。

语言:HTML,CSS,JS (网页开发三剑客)

调用库:abcjs

基本功能:选择音符范围,页面随机生成音符。用户点击音符后显示对应名称,唱名,对应指号

进阶功能:全键盘快捷键操作,页面提供前后翻页按钮方便鼠标操作,页面UI美化

其中调用库我是通过询问豆包“有能显示abc notation的js库吗”了解的。在知识检索方面,豆包的功能非常强大,而且反应迅速。

如果把AI编程的过程比喻做搭积木的话,通过豆包了解需要调用的相关库就像是找积木的过程。现阶段的AI编程能力并没有强大到能够实现任何功能,半自动地检索一下相关组件,可以让我们事半功倍。在功能无法实现的时候,也能了解到是哪里出了问题,能否解决。

2.编写提示词

在明确需求之后,就可以开始编写提示词了。

请你编写一个网页,调用abcjs库,编写一个音符记忆测试工具。
它应该有如下功能:
- 选择测试的音符范围
- 根据范围生成测试卡片,显示abcjs库生成的音符。用户点击此卡片后,显示答案,包含对应音符名称,唱名。

开启DeepSeek深度思考功能和联网功能,发送提示词,经过AI漫长的思考,我们就获得了第一版程序。

测试了一下,发现音符无法正常显示。在浏览器中按下F12打开开发者工具,看控制台报错了解到是abcjs库加载失败。安装配置npm后,安装到本地,修改script引用,解决了这个问题。

3.进一步调整

在实现最基本功能之后,就可以继续编写提示词,让AI实现进阶功能了。

请在卡片左右两侧各自添加一个按钮,点击左侧按钮返回上一个测试,点击右侧按钮生成并进行下一个测试。
绑定键盘快捷键,点击空格翻转卡片,点击键盘上的左方向键返回上一个测试,点击键盘上的右方向键生成并进行下一个测试。

上面这段提示词看起来有点蠢,两个按钮一个返回,一个继续,绑定下按键,顺便绑定个空格键,有必要将得那么啰嗦吗?

事实证明,有必要。因为上面是我最终跑通的提示词,之前的一个版本就是因为表述不够清晰所以出现了功能问题。

不论是编程,还是让AI编程,遵循KISS原则(Keep It Simple and Stupid)都是有必要的。

4.进一步测试

所有的功能都正常实现了,测试结果一切正常。正当我要欢呼雀跃的时候,发现怎么所有音符都是高音谱号的呢?而且每次打开页面还得自己手动点击生成,没有显示默认的测试,体验不佳。

显然这还有两个bug,它不影响程序执行,但它是功能缺陷。于是乎,继续编写提示词,让AI继续做调整。

目前音域仅支持高音谱号部分,请对低音谱号进行兼容。
同时在页面加载后,自动生成测试。

5.部署发布

几经波折,折腾了大半天之后,项目终于成功跑起来了,而且一切功能正常。

接着就到了部署阶段了,我询问豆包有哪些静态网站部署平台,最好是免费的,它给我推荐了Gitee Pages。

于是我按照网上的教程,将项目传到了Gitee,但却遗憾地发现它暂停了这项服务。

只得再找其他方法,最终上传到了Cloudfare Pages,完成了最终部署。

x.结尾

这就是我使用AI开发一个音符闪卡测试网页工具的经验分享,希望对大家有帮助。

末尾附上Gitee仓库和工具链接:

  1. https://gitee.com/yaopython/notecard
  2. https://notecard.pages.dev/