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

推荐订阅源

T
Troy Hunt's Blog
Y
Y Combinator Blog
云风的 BLOG
云风的 BLOG
B
Blog RSS Feed
S
Securelist
H
Help Net Security
Security Archives - TechRepublic
Security Archives - TechRepublic
S
Secure Thoughts
Spread Privacy
Spread Privacy
C
Check Point Blog
WordPress大学
WordPress大学
AWS News Blog
AWS News Blog
L
Lohrmann on Cybersecurity
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
P
Privacy International News Feed
T
The Exploit Database - CXSecurity.com
N
News and Events Feed by Topic
Blog — PlanetScale
Blog — PlanetScale
PCI Perspectives
PCI Perspectives
T
Tor Project blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
Cyber Attacks, Cyber Crime and Cyber Security
Google Online Security Blog
Google Online Security Blog
The Hacker News
The Hacker News
宝玉的分享
宝玉的分享
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
Cisco Blogs
Last Week in AI
Last Week in AI
Webroot Blog
Webroot Blog
GbyAI
GbyAI
I
InfoQ
罗磊的独立博客
The GitHub Blog
The GitHub Blog
Google DeepMind News
Google DeepMind News
Latest news
Latest news
P
Palo Alto Networks Blog
博客园 - Franky
T
Threat Research - Cisco Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Security Affairs
H
Hacker News: Front Page
P
Privacy & Cybersecurity Law Blog
小众软件
小众软件
The Register - Security
The Register - Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog
V
Vulnerabilities – Threatpost
人人都是产品经理
人人都是产品经理
博客园_首页
aimingoo的专栏
aimingoo的专栏

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理, 企事业单位数字化的业务供需本质 – 人人都是产品经理, 医疗智能体·第1讲——医疗信息化重构:从“辅助软件”到“自主智能体”的范式转移 – 人人都是产品经理, 粉丝量就是空气!!! – 人人都是产品经理, 用户说“薯片碎了”,机器回“要买吗?”:意图识别的翻车与破局 – 人人都是产品经理, RAG召回准确率从75到90 我做对了这三件事 – 人人都是产品经理, AI大事件:Anthropic改收费、OpenAI发安全版、手术机器人纳入医保、阿里发布”秒悟” – 人人都是产品经理, Chrome 推出 Skills 新功能,Agent 重塑上网方式 – 人人都是产品经理, GitHub前创始人拿了a16z的1700万美元,做Agent时代的Git – 人人都是产品经理 拷贝或克隆其他 Flutter OH 项目到本地后无法运行 – 人人都是产品经理, 优惠券设计:优惠券创建 – 人人都是产品经理, 不用死磕文档!AI 助手 1 小时搞定飞书 CLI 安装 + 配置 + 知识库 – 人人都是产品经理, 用小龙虾做竞品分析报告:从2天到20分钟,我是怎么做到的 – 人人都是产品经理 用小龙虾做市场分析报告:搞懂这3个公式,市场规模不再靠猜 – 人人都是产品经理, 你早就在做 Harness 工程,只是不知道它叫这个名字 – 人人都是产品经理, Think Long就够?你可能想多了! – 人人都是产品经理, 货代SRM实战:供应商准入怎么做,才能让资源池不是通讯录而是可交付网络? – 人人都是产品经理, 如何做好用户调研?详解基本技巧 – 人人都是产品经理, 木鸟、途家、美团对打,平台春天行动开“卷” – 人人都是产品经理, 入职才发现公司不靠谱?小红书从业者求职避坑指南 – 人人都是产品经理, 美国 AI 三巨头联手封堵,中国 AI 突围之路在何方 – 人人都是产品经理, 小红书,放在需求对面的镜子 – 人人都是产品经理, AI 会带来大规模失业吗? – 人人都是产品经理, 从出单到补货前,我第一次犹豫:该不该放大? – 人人都是产品经理, Flutter 三方库鸿蒙化适配:5 种高效检查方式,快速判断是否需要适配 – 人人都是产品经理, 从做产品进阶拿结果:医美机构产品经理转岗科室运营经理 – 人人都是产品经理, 阿里HappyHorse,一场关于“Token经济”的阳谋 – 人人都是产品经理, To B AI:客户留存落地的观察与思考 – 人人都是产品经理, AI产品的“生命线”——数据采集、标注、清洗的产品化设计 – 人人都是产品经理, 谈谈AI Agent(二):当“孩子”能自己“体验世界”时,你该学什么? – 人人都是产品经理, UI/UX设计师的3层能力进阶,前两层让你活下来,第三层…才是真正的分水岭 – 人人都是产品经理, 2分钟 → 30秒,效率提升75%:B端产品经理如何用「规则枷锁」驯服AI幻觉? – 人人都是产品经理, 还没来得及学OpenClaw,来了个更猛的:Hermes Agent – 人人都是产品经理, AI日报:宇树机器人跑出10m/s刷新世界纪录 – 人人都是产品经理, 一文说透基金互金如何用情绪价值引导用户决策做转化 – 人人都是产品经理, 当浏览器开始替你”看”网页:AI 浏览器正在亲手拆掉它脚下的那张网 – 人人都是产品经理, 0代码,一天时间我Vibe Coding了个网站 – 人人都是产品经理, Hermes 和 OpenClaw 之争,Agent 的能力应该“装上去”还是“长出来”? – 人人都是产品经理 视频生成的“桌子”,字节Seedance 2掀完,阿里快乐马掀 – 人人都是产品经理, 从听不懂到完全信任:我的 Codex 深度产品体验 – 人人都是产品经理, 当虚拟偶像有了北京户口,与真人偶像还有什么区别? – 人人都是产品经理, 会说,远远比会做更重要 —— 对 SBTI 爆火现象的五层观察 – 人人都是产品经理, AI产品经理必看:当“搭环境”比“选模型”更重要,你的认知还在2024年吗? – 人人都是产品经理, 2026年AI产品商业化核心逻辑:从功能demo到规模化营收的3个必破卡点 – 人人都是产品经理, 京东围绕供应链,卷起裤腿下场的那些事儿 – 人人都是产品经理, SBTI一夜刷屏:它赢在了“太会说人话” – 人人都是产品经理, 折扣零售的真相:不是便宜,而是价值感! – 人人都是产品经理, 和甲方吵了一架,最后加钱做了——我学到的ToB产品经理生存法则 – 人人都是产品经理, 和几位小红书操盘手聊了8小时,干货全在这 – 人人都是产品经理, 智谱GLM-5.1登场,开源模型首超Opus4.6!!! – 人人都是产品经理 Anthropic收入凭什么反超OpenAI,终于有人把这事说清楚了 – 人人都是产品经理, 史上最有故事感的技术报告——Claude最强模型Mythos 7个极其精彩的细节 – 人人都是产品经理, 模型不是壁垒,Harness 也不是 – 人人都是产品经理, 抖音本地生活业务思考21 – 人人都是产品经理, Superpowers:145k Star的AI编码框架,到底是什么来头? Superpowers:145k Star的AI编码框架,到底是什么来头? – 人人都是产品经理, OpenAI 的路走错了,Anthropic Harness 解法启示:模型需要实践专科生 – 人人都是产品经理, 画原型图的前一步:设计站点地图 – 人人都是产品经理, 给 DeepSeek 的最后一封催更信 – 人人都是产品经理, 手把手教你用 Claude Code 搭建 AI 营销团队:5 个 Agent、12 项技能,独立完成研究、写作、设计全流程 – 人人都是产品经理, 你以为大模型在学语言?不,它在重新发明语言学 – 人人都是产品经理 所谓Skill,不过是AI时代的工业垃圾 – 人人都是产品经理, 聊一聊内容传播的几个方法 – 人人都是产品经理, 当平台开始吃掉生态:从 OpenClaw 被封杀,读懂 Anthropic 的这盘棋 – 人人都是产品经理, 你装了 10 个 AI 插件,Obsidian 还是一个文件夹 – 人人都是产品经理 关于AI智能体架构演进的系统性思考:从单体试水到多体协同的重构 – 人人都是产品经理, 当“人”变成Skill,我们又该何去何从? – 人人都是产品经理 Mythos 事件:前沿 AI 治理的意外实验 – 人人都是产品经理, 货代CRM:信用与风险管理怎么做,才能把坏账风险拦在放货之前? – 人人都是产品经理, 从HR收集自拍照到员工自助录入——我见证了园区人脸识别从”不可用”到”真好用”的全过程 – 人人都是产品经理 千问闯关AI混沌期:阿里画靶,吴嘉张弓,马云射箭? – 人人都是产品经理,
天知道我有多激动,作为产品经理用Cursor独立开发了一款小程序
七吟覃 · 2024-10-28 · via 人人都是产品经理

本人经管专业,担任AI产品经理近8年。做梦都在想各种天马行空的idea,但终究只能因为“不靠谱”而搁置。做梦也想不到,有一天我可以通过 独立开发 的方式来实现它们!

以下是我过去两周利用业余时间开发的第一款小程序产品:读啥鸭

📖 按主题自动汇聚各平台书单

📚 读啥鸭AI 给每份书单留下毒辣评论~

小程序已经正式上线,欢迎搜索“读啥鸭”试用~

对于专业开发人员而言这不算什么。

但天知道,我自己把核心功能跑通那一刻有多激动。

以前(在工作没有特别忙时),业余时间喜欢看书,所以第一款练手的小产品自然而然选择了书的方向。并没有什么商业考量或者细致的需求分析,更不必经过冗长的讨论决策,只是自己喜欢~

做自己喜欢的产品,带着偏见!

做出这个决定,要追溯到国庆期间读完知名独立开发者Pieter Levels的《MAKE:building startups the indie way》 (《创造:以独立开发者的方式创办企业》)时不经发出的感叹:虽然不会写代码,但看完《MAKE》我也想做独立开发者了。

这本书非常棒,有成为独立开发者想法的朋友去看看。

整本书让我发生的最大观念转变是:以前总认为要先学编程,然后才能做产品,但学编程这个事实在无法让我兴奋,也很长时间无法获得正反馈。而Levels提倡的是,先开始做产品,碰到什么不会的再边做边学。从最开始就感受创造(Make)的乐趣。不用对比什么具体的编程方法或工具,因为根本不重要,先把产品“拼”出来。

虽然观念转变了,但真正上路时,还是内心忐忑。

直到遇到下一个“贵人”,是的,大模型!

如果去除注册小程序、粗略学习一下微信开发者工具基本操作等这些周边工作。一边学一边,完成读啥鸭核心页面与功能逻辑总计应该花了不过10个小时。注意,这里的“写”并非写代码。并且直到今天这个最新版本,我一行代码都没写。

我主要干了四件事情:

  1. 学习相关工具:Cursor、微信开发者工具、小程序后台
  2. 向大模型提出清晰的需求,描述尽可能准确无歧义
  3. 按照模型给出的说明创建相关代码文件和文件夹,复制粘贴模型给出的代码
  4. 试运行测试效果,描述问题或复制报错信息给模型,然后修改代码后重新进行测试(这里也不需要写代码,但需要有比较强的逻辑思维能力和新概念学习能力)

需要说明的是:由于有近8年的产品经验,我虽然不会写代码,但是日常与开发人员沟通,对于一些开发相关的概念(比如前端、后端、函数、编译、数据库、对象存储、大模型…)是有认知的,所以如果您是100%的小白,可能阅读以下内容过程中需要查阅和理解一些基本概念。不过它们真的不难,并且应该不求甚解,先能跑起来就行,遇到不懂的或者报错直接搜索或者问大模型,后面慢慢熟练使用了再循序渐进深入理解。

以下通过文字我只描述关键步骤,因为有许多调页面整样式以及指导模型修bug的工作是比较重复繁琐的。

好,现在开始描述整个构建过程的关键步骤。

一、准备工作

1.1 小程序相关

小程序后台登录注册地址:https://mp.weixin.qq.com/cgi-bin/wx?token=&lang=zh_CN

个人就可以进行注册并且顺利完成认证与备案,不过会有一些不允许个人经营的范畴。

微信开发者工具下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html

该工具可用于开发小程序、小游戏和插件。

小程序开发微信官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/

不用细看,直接开始干就行,只是以防需要的时候可以翻一翻或者搜索

小程序开发官方交流论坛:https://developers.weixin.qq.com/community/develop/mixflow

这个也是碰到问题了再搜索或者提问就行,我关于脚本的定时触发问题就是在这里解决的。

1.2 开发工具相关

Cursor:https://www.cursor.com/

知名大模型辅助编程工具,就不赘述了,网上有大量介绍资料。大家也可以看我末尾视频的操作演示,会用基本操作就够了。

Bolt:https://bolt.new/

如果觉得Cursor还是有一定难度,也可以先尝试Bolt来建立信心。这个操作就真的很简单了,会打字就行。

1.3 非必要工作(可略过)

GitHub:https://github.com/

这是用来管理和分享代码的地方,非必要,代码在自己电脑上存着就行。我为了感受一下代码版本管理和代码开源的过程,所以用了一下。

读啥鸭代码开源地址(不是什么优雅的代码,不必点Star):https://github.com/wisdomqin/dushaya_readlistPS:使用Cursor与github联动总是超时,不知道什么原因,所以最后使用Github Desktop来进行代码同步。

二、开始开发

2.1 创建小程序

账号在上一步创建好了,这里创建的可以理解为代码文件夹。打开微信开发者工具软件,登录软件后看到如下界面。

点击添加按钮,出现如下页面

  • 项目名称,自己取一个;
  • 目录,选择一个电脑本地目录;
  • AppID,下拉框中会列出来你这个微信号刚才注册的小程序的AppID;
  • 后端服务,建议选“微信云开发”(首月免费),因为后续有云数据库、云存储、云函数等可以使用,不必自己本地配置环境(我不会);
  • 开发模式,选小程序;
  • 模板选择,由于没有跟我需求类似的模板所以我选的“不使用模板”,但奇怪的是选择“不使用模板”之后,后端模式自动变成了“不使用云服务”且不能改,但这并没有影响我后续开发时使用云开发的服务,不知道是不是bug。

点击创建按钮后进入到该产品的开发界面,4个主要区域见下图。

理论上,传统的开发工作就是在区域2、3中创建代码文件和编写代码,在区域1预览效果,在区域4中查看运行信息和报错信息。

这看起来难度很高,但下面有请Cursor登场。

2.2 Cursor登场

打开Cursor后应该是这个页面,点击Open a folder按钮。

选择刚才创建小程序时选择的“目录”文件夹,然后就会看到如下界面。可以看到左边就是刚才在微信开发者工具界面中的区域2(代码文件管理),右边就是具体编写某个代码文件的地方。所以我们在Cursor中编辑的代码(由于两边所指定的目录位置一致)在微信开发者工具中也同样会更新。稍后在Cursor中写完代码后会回到微信开发者工具中进行预览调试。

然后点击下图中右上角这个按钮。

你将看到一直陪伴你(哦不对,代码全是它写的…)开发助手(虽然有点土,但就这么叫它吧)。

如上图所示位置可以切换模型,默认应该就是claude-3.5-sonnet,作为Cursor免费用户,有免费使用的次数(应该是500次),这已经完全够开发出一款类似读啥鸭这样的产品了。 如果没有看到claude-3.5-sonnet或者选择了无法使用,可以看下是否在Cursor客户端没有登录账号。

2.3 正式开始开发

终于到了最激动的环节。来看看我发出的前两个请求:

我一次性几乎把读啥鸭的所有页面和主要功能逻辑都告诉它了。它给了我设计思路,但几乎没什么代码。

于是我继续明确要求它帮我写代码。这次它帮我把每个页面的主要代码都写了出来。(图片太长,后面几个页面的代码就省略了)

然后我告诉他我按照他提供的代码完成了相应文件夹及文件的创建,并把它提供的代码都复制到了对应文件中。(Cursor要是文件也能自动创建那就更简单了)

可以看到我把我做了什么事情也会同步给他, 我觉得是挺有用的。对当前状态和需求的描述尽量清晰准确,有助于它给出更正确的建议和代码。

然后我就按照以上它给出的一步步把代码复制到对应的文件中。这个时候我回到微信开发者工具中,就已经发现可以看到粗糙的页面了(可惜没有截图)。但由于没有数据,所以让它帮我生成了一些示例数据。

这样首页(书单列表)就有了比较真实的样子。不过默认生成的页面比较丑,比如提交书单页是下面这样。

所以我先调整展示效果。(最开始我想的是简洁黑白风格)

按照它的代码进行修改。

这里会碰到一个新情况,这里不是完全新建一个代码文件,而是在某个已经存在一些代码的文件中进行修改,而开发助手在输出代码时可能会省略一些内容(这是有好处的,就比如我已经写了1000字的文章,我让它帮我加一个案例,它没有必要把我写好的内容又复述一遍,所以它会说哪里到哪里不变,从哪里开始插入xxxx),此时我们就没法完全复制粘贴代码了。

这个时候Cursor有个功能,简称为“自动修改”,如下图所示,只需定位到对应的代码文件,然后点击新写代码的“apply”按钮,Cursor就会自动判断需要在当前代码的哪里进行 增删改 。

这个功能非常有用,这也是我不用写一行代码就完成开发的重要原因之一。

不过在这里Cursor有时是会犯错的,比如当整个代码比较复杂之后,它可能会忘了之前某些代码是做什么用的,可能会错误删除一些代码,导致出问题。(因为这里涉及到大模型一个固有的限制,即上下文长度,这个短时间内很难解决。非大模型行业从业者可以忽略底层技术原理,可以简单理解为 开发助手 的记忆能力有限,只记得跟你最近十几次或者几十次的交互内容)

所以有时我们需要适时告诉它某个页面之前有什么样的功能,在这个基础上上让它修改代码,或者让它尽量在不要删除原代码功能的基础上给出修改建议。这里相关的功能演示如下,在提需求和问题时可以带上相关的代码。

当然这个过程不像上面我描述的这么简单,有时也确实会出现代码改坏了的情况,所以完成重要功能后可以把整个代码文件夹复制一份进行备份。同时,当你经验丰富之后,你也能发现这次它应该改坏了,于是可以不急于修改代码,可以重新表述你的需求,带上更多的背景信息或者一些限制要求。

这个过程你可以尝试把它当做一个人,一个真的开发人员来看待,来给他提出要求。比如下面有一个很好的例子。

感觉怎么样?

当我发现它能准确理解我的需求并解决问题时,真的太爽了。

再比如它有时会给我一段代码和一些说明,但我并不懂,于是我直接引用那段代码并问它:

2.4 与云开发环境相关的一些高阶功能开发

主要页面设计和基本交互功能都差不多完成了,我开始考虑如何填充真实数据。于是我先问问它的思路。

考虑得还挺全面的。

我先后构建了两个功能,一个是用户提交书单链接,我使用大模型能力自动解析链接中的书单内容;另一个是每隔20分钟,自动从网上爬取一些书单内容。

先讲第一个功能,用户提交。以下是一个在调试页面测试的过程:用户提交书单链接,自动解析内容,并给出评级和评价,输出还带有打字机效果,在手机端还有震动效果。

从每个书单链接中会自动生成书单信息,包括以下几部分:【书单名称】、【书单作者】、【书单描述】、【书单内容】、【标签】、【读啥鸭评级】、【读啥鸭评价】实现这个功能涉及三个重要概念:云函数、大模型应用、云数据

云函数,我理解其实就是一个有着特定处理逻辑的功能,我这里实现的就是:接受用户输入的url,从url中返回书单信息。

它应该也可以直接写在某个页面的处理逻辑中,但如果它跟各个页面都没有关系,或者是一个多个页面或功能都可以复用的功能,那么就可以把它作为云函数单独拿出来。另外还有一个好处,我看起来云函数的更新不需要微信官方进行审核,直接上传到云开发环境即可。

根据开发助手给我的指引,我创建了cloudfunctions文件夹(必须叫这个名字,应该是微信开发的规范),然后在里面创建了processBookList文件夹(自己命名的,代表“处理书单”的功能)。同样按照开发助手的指引在该文件夹内创建必需的几个文件:

为了标记能看得清晰,我把Cursor的主题色改成了白色

其中最核心的是index.js文件,包含了该云函数的运行逻辑;config.json则是用来控制一些诸如超时时间、内容最大限制、定时触发机制等内容;package.json最主要的作用我理解就是描述该云函数正常运行所需要的依赖项;node_modules文件夹中我理解应该就是存储所需依赖项的,这个文件夹是我们在安装依赖项时被自动创建的。

如何安装依赖项?

点击下图右上角这个按钮,中间的下方会出现一个新的区域,先称之为命令行区域,它默认会定位到你当前代码那个文件夹内,通过命令行的方式打开文件夹(命令行常见操作方法见:https://blog.csdn.net/Evankaka/article/details/49227669)。进入到processBookList这个云函数文件夹内,然后按照开发助手的指引,执行npm install axios安装axios这个依赖项。

安装完成后有一堆看不懂的信息,可以复制给开发助手,他会给你解释,一般来讲没什么需要修改的。

到这里,这个云函数需要开发的部分OK了,然后进入到微信开发者工具,如下图点击左上角“云开发”按钮

进入云开发控制台。点击“云函数”,这里后面还会用到“数据库”、“存储”功能。

点击“新建”一个名为processBookList的云函数。

然后进入微信开发者工具,如下图,右键点击该云函数,然后点击上传(“上传所有文件”适用于依赖项有更新的情况,“上传但不包含node_modules”适用于没有更新依赖项的情况)。

上传成功之后,再进入云开发控制台,选择该函数的“云端测试”。

然后在日志中可以查看这次运行的日志,如果有报错的话把它发给开发助手进行调整修改,修改完重新上传并测试,直至成功。

讲完第一个重要概念 云函数 ,第二个是 大模型应用开发 。

该云函数主要做两件事情,第一是调用远程的书单内容解析服务获取书单信息,第二是把获取的信息存储到数据库中,用来后续在各个列表页进行展示。

由于各个平台(豆瓣、微信读书、微博、小红书…)书单内容结构是不一样的,如果针对每个平台单独写代码解析书单内容,开发和维护成本很高,于是我就想到用大模型的能力,大模型可以类似人一样去读网页中的内容、理解内容,然后按照我的需求输出。另外 ,除了网页中已有的 内容:【书单名称】、【书单作者】、【书单描述】、【书单内容】,我还希望获得更多有意思的增量内容:【标签】、【读啥鸭评级】、【读啥鸭评价】,所以传统代码的方式就更不可行了。

所以这里书单内容解析服务我使用了自家的大模型应用开发平台:毕昇BISHENG 。

BISHENG是一款 开源 LLM应用开发平台,专攻企业场景, 可完全私有化部署在公司内部,已有大量行业头部组织及世界500强企业在使用。

由于BISHENG可以开发非常复杂的应用,所以 读啥鸭 的这个需求,如下图所示,我基于BISHENG一个简单的应用模板稍作修改即可。它主要实现了网页文本内容的解析,然后把解析的文本与提示词一起传给大模型。大模型会按照提示词中的要求输出所需的书单信息。

我当前的提示词是这样的:

# 角色
你是一名毒辣的{input},态度要非常鲜明。

# 任务
1. 首先你需要阅读下方”书单文章”,从中提取出【书单名称】、【书单作者】、【书单描述】、【书单内容】四项信息,这四个信息很重要,不能编造,如果”书单文章”中不存在该信息,则置空,其中【书单内容】用 书名+作者名 这样的形式表达,每本书之间用换行分隔,如:
《钢铁是怎样练成的》奥斯特洛夫斯基
《老人与海》欧内斯特·海明威
2. 然后根据你的知识,分析“书单文章”内容,并输出【标签】、【评级】两项信息,其中【标签】可以是多个,但是不要超过5个;其中【评级】从以下几种中选择:平淡无奇、普通、有意思、别具一格、栩栩如生、艰深晦涩、见微知著、引人入胜、刻骨铭心、 发人深省、气势磅礴、一针见血、意味深长、弥足珍贵、典藏、出神入化,其中越往后要求越高、出现的概率也越低。
3.最重要的来了,对这个书单中列出的这些书进行【评价】,评价最主要的内容是说明为什么要读这些书。可以挑选几本进行简评,也可以评价整个书单。语言风格诙谐幽默、一针见血、出人意料,内容中穿插不少于5个emoji表情,表达准确的前提下字数越少越好。注意:开头不要“哇”、“哇塞”这些惊叹的词,直接说内容;并且不要用“xxx简直是xxx”的说法。
举一个好的例子:
书单中包含:《西游记》、《水浒传》、《红楼梦》、《三国演义》
评价:《西游记》🐒 也可以说是“公费吃喝,到此一游”🏞️,何为真经,孰能定义 🤔 《红楼梦》可是文学巅峰,拥有极高的艺术成就和思想价值,可惜一般人不懂 😂
举一个不好的例子(评价没有诙谐幽默及出人意料):
书单中包含:《西游记》、《水浒传》、《红楼梦》、《三国演义》
评价:中国四大名著,文学成就极高,人一生绝不可错过的书
4. 以上七项信息使用的语言与”书单文章”的语言保持一致,如”书单文章”内容是中文则为中文,若”书单文章”内容是英文则七项信息的内容也为英文。
5. 以上七项信息务必以JSON的格式进行输出。
6. 如果你判断“书单文章”中的内容并非书单,则不必输出以上七项信息,告诉用户这里面没有书单信息请用户检查即可,语气可以俏皮可爱一点。

# 书单文章
{content}

你的输出:

构建完成后点击“对外发布”按钮,可以看到该应用的接口调用方法。

如果你的场景需要实现的大模型应用跟我类似,你又完全不懂技术,调用方式可以参考我的。

把这些提供给开发助手,它就会帮你写好调用该接口的代码。

基于BISHENG我们还可以开发许多更复杂的大模型应用。

现在我们获取到了正确的书单信息,接下来就是存到数据库。你在描述处理书单需求时,可以告诉开发助手你需要把处理结果存储到微信云开发环境的云数据库中,它就会提示你需要创建一个名为“xxx”的集合。如下图所示,点击添加按钮进行创建即可。

好了,中间再经过各种调试修改,就可以通过页面提交书单内容了!为了增加趣味性,我又提出了如下几个新的要求。

没错,只需要像这样直接提出你的要求,基本马上就能实现。太爽了~

2.5 定时自动运行

用户可以提交书单了,这很好。但早期哪有什么用户来提交书单?

于是我让他想办法自动获取

a few moments later

a few moments later

根据指引基本配置成功了。后来又增加了两个优化项:

  1. 调用大模型耗时比较长且每次调用都产生一点费用,所以降低错误调用(有些链接不是书单信息),所以在云函数中先写了一个逻辑让它用正则匹配网页中是否有“出版社”之类的关键字,有才去调用大模型应用。
  2. 由于bing搜索出来的无效链接太多,改成定向搜索豆瓣豆列。

排查云函数及定时触发错误过程中发现几个注意事项:

1、超时时间

改一下超时时间,默认是3秒,而我每次需要更新的书单数量比较多,所以改成了最长的60秒

2、定时器设置在该云函数的config.json文件中设置。我这里设置的意思是10分钟执行一次。

需要注意的是,微信云函数的定时触发器使用的是一种特殊的 cron 表达式,它包含 7 个字段,而不是标准 cron 表达式的 5 个字段。3、更新云函数、清理缓存

由于修改其他页面代码只需要保存代码文件即可,修改云函数需要上传生效,有时候会忘记这个步骤,导致怎么测都不行。。。

另外有些改动需要清理缓存才能生效,所以如果已经按要求修改了代码却总是不行(会有点崩溃),可以清除缓存试试,我一般选择“全部清除”。

2.6 其他经验

2.6.1 云存储的使用

我用即梦(https://jimeng.jianying.com)画了许多种书单评级勋章。

原本这些图片都是放到代码文件夹中的,但是微信会限制小程序代码整体不能超过2M,所以就需要把这些图片存储在云存储中。

操作也比较简单,直接点击“上传文件”按钮,把所有文件传上来。然后每个文件的“文件id”就是读取该文件的地址。根据开发助手的指引,把对相关图片地址逐个进行替换即可。

2.6.2 质疑开发助手与自我能力提升

开发助手很强(本质是大模型很强),它不仅能帮我写代码,它甚至知道微信开发者工具各个按钮在什么位置(应该是模型训练数据中有其开发者手册数据),引导我操作。

不过有时候也会有错误以及一些它不知道的事情,所以发现它给的建议没作用时,可以使用搜索引擎来查找答案。

另一种好方法是,你察觉到它给出的答案有问题,可以尝试给他一些反问和提醒。

如果你开始有能力给出一些正确的反问,代表你开始对代码有一定的认知了。这是一个循序渐进的过程,你在一步步调试以及开发助手给你的说明当中,逐渐开始理解许多概念。先从前端的简单的页面设计开发到后端的逻辑到数据库到一些函数的执行,一点一点接触和学习更加复杂的概念。

这是由你自己的需求增加,自然而然向前推动的一个学习过程。我们不需要上来先去学一大堆概念,却不知道有什么用。由于是面向一个具体的目标,我们会非常有动力去理解和学习,并且大部分是否有非常快的反馈。

写到这里就差不多把开发 读啥鸭 过程中的主要经验都分享了出来。

还有许多不完美的地方,待后续去迭代,比如用户体系,比如通过收集书单评级徽章的形式激励用户上传更多书单,比如激励用户分享,比如支持解析微信公众号文章的链接(微信官方的反爬比较厉害),比如支持B站视频形式的书单,比如我还想加一个自动运营的功能(自动挑选一些书单卡片并发布到抖音、小红书等社交平台)…

后记:一年发布12款产品计划

平均1个月一款产品。著名独立开发者Pieter Levels(《MAKE:building startups the indie way》 作者)也曾践行过这个计划。

每款产品不一定要做得很精美,应当尽早发布,尽早获得真实反馈。用户的真实反应要抵过自己无数巧妙的思考、分析。

我的灵感库中大约还有20多条想要做的产品。

后续产品的开发过程也尽量(精力够的话)会使用类似读啥鸭这样build in public的方式,通过公众号、社群发布出来。

本文由 @七吟覃 原创发布于人人都是产品经理,未经许可,禁止转载

题图来自 Unsplash,基于 CC0 协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。