用 AI 辅助编程快速打造软件原型的最佳实践
吴恩达老师分享的用 AI 辅助编程快速打造软件原型的最佳实践。
以下内容为其推文转译:
使用 AI 辅助编程来构建软件原型,是快速探索各种创意并发明新事物的重要方式。在这篇文章以及后续的帖子中,我想与大家分享一些构建简单 Web 应用原型的最佳实践。本篇文章将聚焦一个核心理念:选择并熟悉一个“有主见”的软件技术栈。
我个人所使用的技术栈几乎每隔几周就会变化一次。市面上还有很多不错的替代方案,如果你能选定一个偏好的技术栈,并熟悉它的各个组成部分,你的开发速度就会大大提高。以下是我目前默认使用的组合,供大家参考:
- Python + FastAPI 构建 Web API我主要使用 Python,因此对我而言是顺理成章的选择。假如你是 JavaScript/TypeScript 开发者,你或许会有不同的偏好。FastAPI 让我能非常轻松地在 Python 中部署可扩展的 Web 服务(API)。
- Uvicorn 作为本地测试时的后端应用服务器在我的笔记本上运行并执行代码、提供网页服务时,我会使用 Uvicorn。
- 云端部署:Heroku(适合小型应用)或 AWS Elastic Beanstalk(适合大型应用)(披露:我在亚马逊董事会任职)可用于部署作业的服务有很多,比如 HuggingFace Spaces、Railway、Google Firebase、Vercel 等等。它们都不错,熟悉其中一到两个服务就能简化你的开发流程。
- MongoDB 作为 NoSQL 数据库虽然传统的 SQL 数据库在效率和可靠性方面都非常优秀,但需要提前定义数据库结构(即 schema)会在原型阶段拖慢节奏。如果你需要极致的开发速度,可以将大部分数据先存进像 MongoDB 这样的 NoSQL(非结构化或半结构化)数据库,将精确的数据结构问题留到后续再做处理。有人把这称为“写时定义(schema-on-write)”,相对比传统数据库“读时定义(schema-on-read)”。当然,如果一个应用要进入大规模生产环境,在许多用例下更结构化的 SQL 数据库会更可靠、更易扩展。
- OpenAI 的 o1 和 Anthropic 的 Claude 3.5 Sonnet 用于编程辅助,常在做概念或设计层面的提示时使用。偶尔也会用 Cursor(在编写代码时)。我希望今后都能借助 AI 辅助,不再“单打独斗”写代码!Claude 3.5 Sonnet 被广泛视为现今最佳的编程模型之一。o1 在规划和构建更复杂的软件模块方面非常强大,但需要用不同的方式来提示它。
- 另外,我也使用许多 AI 工具来管理代理式工作流、数据摄取、检索增强生成 (Retrieval Augmented Generation) 等等。DeepLearning AI 以及我们非常棒的合作伙伴也在这些工具上提供了丰富的课程。
我的个人软件栈仍在不断演变。我会根据新学到的技巧,每隔几周就替换一些默认使用的组件。所以,不必拘泥于我现在用的这些技术,但或许它们能在你还没想好要用哪些工具时,给你一个可行的起点。
有趣的是,大多数大型语言模型(LLM)在推荐软件栈时并不太出色。我怀疑它们的训练数据中掺杂了过多“跟风”的信息,所以我并不完全依赖它们来告诉我该用什么。如果你有清晰的主见,并在使用 LLM 时告诉它你打算用哪些工具和框架,就会得到更好的结果。
现有的很多软件组件还在快速成熟中,我相信它们会持续变得更好。借助这个技术栈,我常常能在数小时内完成一个原型,而如果没有 AI 的帮助,可能要花上数天甚至更久。我也希望你能同样享受到用 AI 构建原型的乐趣,创造出许多精彩的应用!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
开启零样本学习新时代
摘要 零样本学习(Zero-shot Learning)是一种机器学习技术,它允许机器在没有直接训练数据的情况下,识别或处理新的、未见过的事物。这种技术模拟了人类根据已有知识理解新概念的能力,通过给定关于新类别的描述信息,模型能够对未知数据进行分类或预测。 通俗理解 零样本学习(Zero-shot Learning, ZSL)是一种人工智能领域的技术,它让我们的机器能够像人类一样,即使没有直接经验,也能识别出新的物体或概念。比如,如果你从未见过斑马的照片,但有人告诉你斑马是一种有黑白条纹的马,当你看到斑马时,你可能会立刻认出它来。同样,通过提前告诉机器某些特征或描述,零样本学习技术可以使机器在没有实际样本的情况下识别新的类别。 技术原理 零样本学习的核心在于特征提取和知识迁移。在机器学习中,特征提取指的是从原始数据中识别出有用信息的过程。对于零样本学习,这些特征通常与类别的描述信息相关联。这些描述信息可以是文本、图像或其他形式的数据,它们包含了关于类别的属性或特征。 在知识迁移阶段,机器学习模型会利用这些特征和描述信息来识别新的类别。这通常涉及到将已知类别的特征与未知类别的描述进行比较...
- 下一篇
RWKV-7-0.4B 模型正式发布,社区发布多款基于 RWKV-7 的新项目!
RWKV-7-World-0.4B-v2.9 模型于 2025 年 1 月 8 日正式发布! 随着 RWKV-7 架构的发布,RWKV 社区也开源发布了多款基于 RWKV-7 的新项目,包括 RWKV-7-WebGPU Demo 和 基于 RWKV-7 架构的 CoT 黑白棋项目 “RWKV Othello”。 RWKV-7-World-0.4B 模型发布 RWKV-7-World-0.4B-v2.9 模型于 2025 年 1 月 8 日正式发布! RWKV-7-World-0.4B 在 world-2.9(从 world-v3 数据集中采样 2T tokens)数据集上训练。其英文和多语言能力显著超越其他 0.4B 模型,且支持全球 100+ 种语言和代码。 在线 Demo RWKV 官方和社区分别发布了在线 Demo,可在线体验 RWKV-7-World-0.4B 模型: Hugging Face Demo:https://huggingface.co/spaces/BlinkDL/RWKV-Gradio-1 社区 WebGPU Demo:https://cryscan.githu...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6