即刻App年轻人的同好社区
下载
App内打开
陆星野
32关注106被关注0夸夸
零边形战士
产品:心野小程序
置顶
陆星野
7月前
💻二本文科生零基础,靠AI实现5万行代码的露营小程序

一名普通二本文科生,物流管理专业,做了8年产品经理,无代码基础,buff叠满。

独立开发了露营小程序-心野(前后端分离,5万行代码量),这篇文章记录下开发过程的思考,希望能为有独立开发想法的朋友提供一些参考。

一、心野项目背景

心野介绍:心野是专注发现营地,选择装备的露营小程序,目标让大家露营更简单更方便。目前主要运营区域在北京,后续会扩展其他地区,欢迎有露营需求的朋友使用。

解决的问题:帮你快速发现宝藏营地,特别是很多免费营地,再也不用在各种帖子和群聊里的到处问了。后续会上线装备功能。

代码体量:心野小程序、心野管理后台、服务端加起来差不多5万行。代码行数从来不应该是项目的评价标准,用最少代码实现才是牛的。

时间投入:400-500个小时,每天下班2-3个小时,周末投入6-8小时。

二、 关于AI编程方法

1. 核心方法:使用AI生成最小单元任务。

最小单元任务:取决于AI大模型的代码能力边界和我们自身对代码的理解和控制程度。

随着大模型能力的进化和我们自身的成长,最小单元任务的范围是可以越来越大的。

我最开始的最小单元任务就是几行代码,多了看着就头大,就这么开始的。

2. AI编程模式

传统+AI辅助模式方式:在传统编程方式下,不断分解任务,使用AI生成最小单元任务,调试构建完整项目。

1) 这个方法新手上手成本过高,会有一段非常痛苦的新手期。但这种方式能更好使用传统编程范式的沉淀经验,不要完全用旧事物的角度去看待。

2) 我们如果需要对项目有更强的掌控力,要实现复杂需求和细节控制,建议使用此方式。

Vibe Coding(一句话生成)

1)上手门槛较低,能够快速生成一个基础可用的产品,适合小型项目。

2)这个方式问题在于代码精确性得不到控制,如果我们不了解底层细节,优化和修改花费的成本不亚于第一种方式。 一句话生成复杂项目的约束条件是:项目每一个功能文档描述清晰准确,同时大模型不发散。

三、产品和技术栈

1. 产品原型

使用Axure或Figma,心野因为是我自己设计,跳过原型阶段直接进入了UI设计。

原型是你想法的具象化,如果不是自己UI设计或者脑海里清楚主要细节,建议画一下原型,你想的越清晰,使用AI开发效率越快。

看了很多人喜欢让AI一句话生成原型,如果是公司工作因为各种原因可以这么做,但自己做产品一定要清楚要创造什么,核心细节有哪些。

2. UI设计:Figma,简单容易上手,建议可以学习下。英语不好的同学,去插件商店下载汉化插件(插件比较老,新功能没有汉化)。

3. 小程序端:微信小程序原生(WXML, WXSS, JavaScript)。没有使用Taro、Uniapp这些框架,原因是写出来的体验太差,如果是跨小程序平台项目可以考虑这些框架。

4. 管理后台:Vue3 +腾讯TD Design。

5. 服务端:使用的Python Flask框架

新手尽量不要选择Django,稳定和全面是优势,但大而全对于新手是灾难,上来一顿配置,最后发现使用的就一小部分。

虽然Flask使用到最后基本就是Django,但是从零开始构建与直接面对一个大而全是不一样的难度。

也可以选择FastAPI框架。 Go语言也是很好的选择,写法规范统一,性能强劲。

6. 服务器:腾讯云轻量服务器

配置:开发环境和线上环境各一台,2核8g,如果你的应用端不多,开发环境使用4GB内存基本够了。

操作系统:Debian,尽量避免选择CentOS(已停止维护主流版本更新)或云服务商自研,选择通用稳定的系统,比如Debian、Ubuntu。

7. 数据库:MySQL,单独购买价格比较贵,直接在服务器里自己配置的,为了数据安全,最好做备份。可视化数据库可以使用Navicat Lite,免费不需要破解。

8. 缓存:Redis,用于获取浏览数据,减少数据库读取压力。

9. 搜索:Meiliseacrh

选型原因: 没有使用ES主要是因为初期开发服务器配置较低(4GB内存),运行ES较为吃力。

资源充足的还是建议使用ES,Meilisearch的地理位置老出现缓存数据报错的问题(不排除个人水平问题)。

10. 图片存储:腾讯云对象存储(COS),用于存储项目图片。

11. Git和代码仓库

远程代码仓库:新手使用腾讯CODING,初期不建议使用Github,因为你经常会遇到同步代码失败的情况,加上英文界面不友好。

Git:新手使用Ugit图形化工具,熟悉了基本操作后,再逐步过渡到Git命令行。

12. 其他:SSL证书(使用免费的,三个月得手动换一次,还没学会怎么自动续期),Nginx反向代理。

四、关于AI大模型

1. 编程能力取决于AI大模型的能力,个人使用体感排名:Claude3.7>Claude3.5>Gemini2.5pro>GPT-4o=Gork>国产大模型(DeepSeek、豆包、元宝、千问)

2. Claude 3.7:目前最强的代码模型,没有之一。

3. Claude 3.5:开发过程使用的主力模型,中小型项目基本没有问题,前提是不降智的3.5,最近很多渠道的都强行降智了。

4. Gemini 2.5pro:用的相对比较少,注释特别啰嗦,经常给出无用的解决方案并且很固执坚持有用。

5. GPT-4o:项目初期使用的最多,大概10个问题里,总有2-3个它解决不了,Claude比例是10%左右,差距很明显。

6. Gork:代码解释的很详细,和4o一个水准线,Gork的文案写作能力很好,刚出来时免费额度抠抠搜搜,现在好像大方点了。

7. DeepSeek:v3没有体验过,可能会好一些吧,但是v2是国产里最弱的一个,你告诉他错了,他连字都不改的给你重复发相同方案,弄得你很没有脾气。

8. 豆包,元宝,千问:都一个水准线,国际友商解决不了的问题他们解决不了,国际友商能解决的问题他们也解决不了。

五、关于编程工具

1. 主力工具

免费各家对话工具大模型,没使用付费工具(反思为了省钱牺牲了效率)

条件允许的话付费工具,会大大的提升你的效率,最显著的提升是不用来回复制代码。

2. Cursor

免费体验过,因为小白阶段每个月要问上千次AI,Cursor的额度不够用。加上当时有免费的3.5使用,就没有进行付费体验。

现在cursor应该是断档领先其他编程工具,有条件有想法的建议使用。

3. Trae:使用海外版,后期主力使用,优点免费,最大缺点排大队。

Trae对大模型的编程优化效果一般,有时感觉还不如不优化。

Claude3.7 每人每天可以问10次左右,之后开始漫长的排大队。Claude 3.5 问一定次数后也需要排队,这是最不理解的地方,现在能免费或低成本用上Claude 3.5的渠道还是有的。

代码补全:自动补全带着不聪明的样子,不舒服交互,而且没有找到关闭的地方。

内存占用:运行2GB内存起步,导致无法远程在服务器上直接开发(中小开发者会有的需求),字节工程师人均1024GB运行内存的电脑,一点不懂平民阶层的痛苦,相比之下VSCode也就占用几百M的运行内存。字节的其他AI产品也普遍存在这个问题,占运行内存巨大。

产品策略问题:免费+严重排队的模式已经影响核心使用用户的体验,是时候推出订阅计划了。

还是万分感谢🙏字节的财大气粗。

4. 其他编程工具: 没深度用过,不乱做评价,但是插件类工具整体体验不如代码编辑器。

六、关于AI的问题

开发心野小程序遇到的主要问题如下

1. 上下文长度不足

复杂项目代码数量过多时,编程工具或大模型会为了节省token,只使用部分输入,产生低级错误。

解决方法是缩小任务范围,输入涉及的完整文件。

2. 重复无效方案

针对一个问题反复给之前已经被证明是错的或无效的解决方案,这时候,首先不能和他较劲,冷静下来,换个 AI模型 试试或者清除上下文,换个提问方法。

3. 不受控制发散,偏离主要问题

当你不懂代码时,无法聚焦问题,代码交给AI时,AI受限上下文长度和问题不精准,会偏离主要问题,去解决无关的问题,俗称跑偏。

4. 规则和提示词失效

网上有很多教你写复杂规则、高级提示词的帖子,实际用下来会发现大模型有时并不按照规则输出,提示词和规则要素过多时,大模型会忽视一些提示词和规则,忽略掉一部分。

此外大模型也在飞速进化,一些早期很高效的规则和提示词作用不那么明显了,甚至限制了大模型的发挥。

七、关于AI的使用经验

1. 多问

作为新手,最大的问题是不知道问什么、不知道该怎么问。因为我们不熟悉编程领域,无法准确专业描述我们要的效果。过来人经验对于小白基本没有用。这时候你能做的就是不要怕问错,多问。

编程工具次数限制一定程度上限制新手成长,限制数量会让我们下意识减少问为什么,只求一个能运行的结果。

2. 使用AI生成最小单元任务

单次提问最小单元任务,了解AI能力边际代码,一次性生成你能快速审查、理解和控制的代码任务。

目前不要指望AI一次性完成所有任务。除非你对产品质量要求不高或者快速验证想法。

3. 输入完整上下文

对于前后端分离的项目、代码结构比较复杂或者模块化程度比较高的项目,一定要给它提供足够而且相关的上下文信息。

4. 跟着AI学习代码

我们大多数非技术背景的小白,在项目刚开始的时候,肯定主要依赖AI生成代码。但不要一直Vibe Coding。一定要有意识的去理解AI生成的代码,学会审查代码。

达到懂代码标准:能够审查代码、理解其代码逻辑、识别常见的低级错误。如果能修改代码那就更好了。

懂代码能让我们精准地向AI下达指令,完成更好的产品。

到了项目后期,我们甚至会产生一种AI写的代码好像还不如我自己琢磨出来的靠谱的错觉,这是我们进步的体现。

最后,祝愿所有人都能实现自己产品的梦想,也欢迎大家使用心野小程序,给我们提出宝贵的建议。
98114
陆星野
6月前
有件事会让你心里感到极不舒服,就是看到别人赚了大钱,做的却是你拒绝做的那种事情。
-霍华德·马克斯
00
陆星野
6月前
VR的破局点应该是赌场游戏
00
陆星野
7月前
AI 产品每一句prompt都是在增加大众用户的使用成本
00
陆星野
7月前
人类社会在变得更加趋同、更为有序且更有规律性的同时,也会变得更不确定、更混乱,且更容易遭受偶然事件的影响。
00
陆星野
8月前
如果说过去的每一个细节都创造了我们的现在,那么现在的每一刻也正在创造我们的未来
00
陆星野
8月前
Trae你3.5都开始排队了,不是吧
00
陆星野
8月前
Figma天天把精力放在如何让用户识别时钟、床、包、椅子...
00
陆星野
9月前
AI对编码效率的提升,大概率会减少30%的开发者,但是AI带来的软件成本下降,会产生更多尝试机会,需要更多的开发者,不必过于悲观也不必过于乐观。
00
陆星野
9月前
字节trae应该推出收费计划,动不动上百号排位等待太影响真正用户的使用体验。(小提示:终止回撤后提问就不需要排队了,如果还排队就多重复几次)
00