Topics

Claude × 非工程师应用开发① - 创建、测试、调整。"培养"应用的新型制造方式

  • column

「使用AI开发应用」本身如今已不算是什么稀奇的事了。

不久前,人们对AI的印象还是一个「能帮助总结文章和提出想法的优秀助手」,但最近AI已逐渐转变为能「主导开发工作的可靠伙伴」。

我们公司的成员也越来越多地接触到AI,其中一个人萌生了「我也试试创建什么东西吧」的想法,这正是这次应用开发的起点。

起初考虑「既然要做,就做点对工作有帮助的东西…」,但最初想到的却不是工作相关,而是个人爱好的话题。

最近迷上了看电影,每周都要看好几部,把观看计划和喜欢的作品都记录在iPhone的备忘录里。

但问题是列表积累得很快,加上有很多相似的电影标题,经常出现「咦,这部我看过吗?」的情况。最后备忘录的管理彻底崩溃了。

于是我想「干脆自己做个专用工具吧」,就创建了今次介绍的「电影观看清单」。

即使是粗糙的提示词也能创建出可用的应用

谈到使用AI进行开发时,人们通常会有「必须写出细化到每个需求的精确提示词」这样的印象。

我想很多人都认为,只有在整理好背景和规格、完整准确地传达需求之后,才能最终开发出真正可用的产品。

当然,如果能够一次性提供背景信息和规格说明,那是最理想不过的了。不过,通过这次的实践,我意识到的一点是,即使指示相当粗糙,它也能够恰当地理解我们的意图并进行实现。

我认为这也许是因为应用本身比较简单,但仅凭一个直接堆砌了我想要的功能的提示词,就能生成一个正常运作的应用。以下是我的初始提示词:

我想创建一个电影观看列表。
首先是原型版本,所以只需要一个HTML文件就能完成,用浏览器打开就能立即使用。
功能上,我希望能输入作品标题以及其在哪些平台上播放(如U-next、Prime Video等),然后注册添加作品,并能以列表形式显示已注册的作品。
另外,还需要能够添加"已观看"的复选框。

如果不使用 AI,即使是最简单的传统开发,也需要"思考 UI"、"选择使用的技术"、"编写代码",这些工作轻轻松松就要花上好几个小时。而 Claude 只用短短几分钟就理解了我们想要的内容,从选定最优的 UI 和工具到实现,一切都轻松搞定。

我对它的速度感到震惊,甚至有点害怕。

速度这么快,我们这边的需求也开始源源不断地涌现。有了基础版本以后,我就开始无尽地提出各种需求。那些时候的提示词也不是什么精心打磨的东西,只是把关注到的地方列成清单,然后说『这里改一下』这样程度的东西。如果这样对待真正的工程师,肯定会被厌烦得不行。

经过多次这样轻松的讨论,监视列表的大框架就轻松完成了。
包括微调在内,初稿应用程序完成花费的时间只有约1小时。

想到就立即实现。在不断完善中成长

框架完成的几天后,大家分别展示了用AI制作的应用,有机会看到其他成员的作品。其中有人制作了整合了"Gemini Nano"的应用。

看到那一刻,我想到「对了,我自己在找想看的电影时也在用Gemini。要是能把这个功能集成到应用里,是不是就能基于观影清单来搜索电影了?」于是回家后立即重启了开发。

如果是跟人工作,「开发途中随意增加需求规格」这种做法肯定会被骂,但AI就是能轻松应对这类事,这就是AI的厉害之处。它也在几分钟内为我实现了电影搜索功能。

这样搜索功能总算完成了,但接下来我又开始关心起「精度」的问题。

最初的做法相当粗糙,只根据观影清单中登记的电影标题和类型,让AI推荐大约几部作品。这导致了一个问题:推荐的电影虽然类型相符,但往往不符合我的个人口味。我尝试过改为基于收藏作品来推荐,也试过其他各种方式,但效果都没有改善。

我意识到仅凭标题和类型的信息可能不足。于是决定为每部电影添加剧情简介作为参考信息。但我绝对不想手动逐一输入剧情简介这种麻烦事。在思考如何解决时,我再次借助了AI的力量。

我改进了功能,使得「根据输入的标题自动注册剧情简介」。为了确保剧情简介的精度,我利用Wikipedia API根据注册的标题获取相关信息,然后让AI基于这些信息自动生成剧情简介。这部分代码也是由Claude帮我编写的。

坦白说,精度上仍然还有一些不足之处,最终我还在考虑更新为集成TMDB API。不过现在已经达到了「小错误也能容忍」的水平。这一系列微调花费的时间大概是2到3小时。

补充一点,后来实际在设备上使用时,发现Gemini Nano似乎无法使用,所以最终切换到了Gemini API。虽然免费配额对请求次数有限制,但Gemini API提供的模型比Gemini Nano更好,所以精度大幅提升了。

完成的应用简介

在不断思考和完善的过程中,这个应用可以说是「一边使用一边成长」的,不知不觉间已经拥有了这么多功能。

【关注列表】

  • 电影标题、类型、流媒体服务和剧情简介的注册
  • 利用各种 API 实现"摘要自动生成"
  • "未查看 / 已查看"切换复选框
  • 按类型、收藏、未观看/已观看进行筛选功能

【作品搜索】

  • Gemini 根据您喜欢的信息推荐电影
  • 可指定类别和提案数量
  • 一键将推荐作品添加到观看列表
  • 已观看的电影也可以带着已观看状态添加到列表中

以前「搜索电影」和「记录电影」是分开的工作,现在这个应用将它们合并在一个程序中。
以前每次搜索时都要向AI解释我的偏好,现在省去了这些麻烦,可以随时搜索喜欢的电影。

最初的目标——观影列表现在可以按观看状态、收藏、类型进行筛选,管理的便利性远超笔记本时代。

我特别高兴的一点是,当搜索结果中出现列表中遗漏的作品时,可以一键添加。
省去了手动输入标题并注册的麻烦。

总结

读到这里你可能已经注意到,在这次应用开发中,我没有写过一行代码。只需要用语言表达「想要这样的功能」,Claude就会全部实现。

最大的体会是「不必从一开始就确定完成形态」。在使用过程中发现「啊,还想要这个」「这个有点不对」,然后逐次告诉Claude。与其说是「制作」应用,更接近「培养」的感觉。

如果有人因为觉得「必须好好写提示词」而犹豫,不妨先随意试试。如果结果与想象不符,逐步调整就可以了,其实没有真正的失败。只要尝试一次,你就会体会到「啊,意外地还不错」的感觉。

请务必轻松地尝试一下。

本文作者

从新入职开始就在努力进阶的总监,目前正在奋力拼搏!从设计到广告运营,目标成为能够驾驭各个领域的多面手,每天都在挑战自我。工作上力求精准的指导,私下里则在自己的堡垒——家里享受宅居生活。顺便说一下,我很喜欢动画。

翰达酱

Web总监 / 2022年入职

查看本员工的文章

安心的团队体制和迅速的反应能力是我们的优势

Liberogic 拥有经验丰富的员工团队,积极推进项目,因此获得了客户的高度评价。
我们会妥善分配项目经理和总监,确保整个项目顺利进行。 通过避免不必要的全职投入导致的成本增加,并采用适当配置人力资源的方式,从把握业务内容到估价的制作和提交速度都赢得了良好的口碑。

* 本公司不积极开展SES驻场工作等业务,敬请谅解。

Slack、Teams、Redmine、Backlog、Asana、Jira、Notion、Google Workspace、Zoom、Webex 等,您可以使用几乎所有主要的项目管理工具和沟通协作工具。

请咨询我们的网站相关问题。

案例分析