专栏名称: 宝玉xp
前微软Asp.Net最有价值专家 互联网科技博主 我是宝玉。
目录
相关文章推荐
宝玉xp  ·  回复@WilsonK:aistudio这是给 ... ·  6 天前  
爱可可-爱生活  ·  //@爱可可-爱生活:欢迎参与~-20250 ... ·  6 天前  
宝玉xp  ·  //@小狗嗷://@无忧无虑uu:是的,经常 ... ·  6 天前  
51好读  ›  专栏  ›  宝玉xp

吴恩达老师分享的用 AI 辅助编程快速打造软件原型的最佳实践以下-20250110021844

宝玉xp  · 微博  · AI  · 2025-01-10 02:18

正文

2025-01-10 02:18

吴恩达老师分享的用 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 构建原型的乐趣,创造出许多精彩的应用!

来源:网页链接