返回首页
最新
嗨,HN!我想分享一个我进行的小实验:我尝试看看能否通过一个提示构建并部署一个完整的 Rust 应用程序,使用 Claude Opus 4.5 和 Shuttle。
我请 Claude 构建一个个人财务跟踪器,使用 Axum 和 SQLx,编写迁移,生成前端,并进行部署。我原本预期会在某个地方出错……但实际上它生成了一个干净、可工作的 Rust 应用程序,成功编译、迁移并部署。
这是我的提示:
构建一个个人财务跟踪器网页应用,满足以下要求:
*后端(Rust + Axum + SQLx):*
- 使用 Rust 和 Axum 网络框架
- 使用 SQLx 进行 PostgreSQL 数据库操作
- 在整个过程中使用 SQLx 的编译时检查查询宏(query!、query_as! 等),不使用原始查询
- 数据库运行在 localhost:5432
- 使用 `sqlx migrate add` 命令创建适当的数据库迁移
- 实现迁移以创建必要的表(交易、类别、预算等)
- 自动运行迁移或提供明确的说明
- 在部署前运行 `cargo sqlx prepare` 以生成离线编译所需的查询元数据
- 创建 RESTful API 端点,用于:
- 添加/编辑/删除交易
- 对交易进行分类
- 按类别/时间段获取支出摘要
- 预算管理
*前端(HTML/CSS/JS):*
- 使用原生 HTML、CSS 和 JavaScript 创建现代、简洁、流畅的用户界面
- 使其响应式并适合移动设备
- 包含数据可视化(按类别支出的图表、随时间变化的趋势)
- 使用良好的配色方案和现代设计模式
- 将所有前端资源放在 `dist/` 目录中
*部署:*
- 部署到 Shuttle
- 配置 Shuttle.toml 以包含前端资源
- 使用 Shuttle MCP 服务器处理部署
- 如果需要,也可以使用 Shuttle MCP 服务器搜索 Shuttle 文档
*要实现的功能:*
- 交易管理(添加、编辑、删除收入/支出)
- 自动和手动分类
- 预算设置和跟踪
- 使用图表提供支出洞察(饼图、柱状图、折线图)
- 日期范围过滤
- 摘要统计(总支出、按类别、每月趋势)
将其构建为一个完整的、生产就绪的应用程序,具备适当的错误处理、验证和精致的用户体验。
我尝试这个的原因:
- 我想知道 AI 是否能够处理真实的 Rust 工作流程,而不仅仅是代码片段
- Rust 应用中的样板代码(迁移、路由、设置)仍然繁琐
- 我很好奇模型会在哪些地方出错——语法、库、SQL、构建步骤、部署
最终它构建了整个应用,出乎意料地只需很少的修正。这让我思考:如果这变得正常,我们能发布多少个副项目?当提示成为起点时,“编写软件”是什么样子?
如果你想了解所有细节,比如哪些地方出错、哪些地方有效,以及最终构建的结果,所有信息都在上面的博客中。希望能得到其他开发者尝试类似事情的反馈。
我在过去的七年里一直在购买二手/新款的联想和戴尔笔记本电脑,最近我注意到新型号的做工质量令人担忧。
联想:前公司在2019年给我了一台全新的Carbon X1,但电池使用时间不到一年!另一方面,我从同一家公司购买了一台2017年的二手470S,增加了内存,没有动过任何部件,包括SSD,现在我仍在日常编程中使用它。上个月我买了个新电池,所以从技术上讲,旧电池的使用寿命大约是7-8年。
戴尔:我从戴尔翻新店购买了3台笔记本电脑和1台台式机(所以质量应该是稳定的)。其中2台笔记本和1台台式机是旧型号,1台是我去年12月购买的Precision 5550(2021款)。一切运作正常,除了5550,它的电池出现了问题(电量从31%迅速降到4%),而且(更严重的是)充电端口(时不时不充电)。即使我在2021年买的是全新产品,我也会对它只用了4年多感到惊讶。
另一个问题是5550使用USB-C端口。我怪自己在购买前没有仔细检查。我真的很讨厌这些端口。为什么大家都在模仿Mac?
我该怎么办?我实在无法为一台新笔记本电脑 justify 2000加元以上的价格,尤其是如果它的使用寿命不到5年。我更倾向于一台配备32GB内存的“低端”工作站,但由于价格原因,我只能负担得起一台16GB的非工作站型号。我不再玩游戏,但仍然希望有一款好的集成显卡。我无法承担Framework和其他Linux笔记本的费用,因为它们价格昂贵,而且通常在加拿大无法使用,所以运费也很贵。
上个月我从我现在的公司购买了一台二手Macbook Pro M1 16GB(2021款)。我还没有使用它,但我相信硬件是好的。问题是我不太喜欢它的软件,所以我意识到我仍然需要一台Linux电脑。
你找到什么好的选择了吗?
我创建了aipatch,因为我在使用AI编码工具时遇到了反复出现的问题,这些工具最终无法正确应用补丁或忽略部分指令。它们经常会执行我没有请求的操作,尤其是在上下文稍微不寻常的时候。
我想要一个更简单、更明确的工具:一个我可以完全控制输入到大型语言模型(LLM)提示中的内容的工具,并且模型以确定性的搜索/替换块进行响应,这些块可以自动应用。
aipatch的主要理念是:
- 你手动选择上下文(来自一个或多个项目)。
- 你将其发送给你喜欢的任何LLM。
- 模型输出结构化的补丁块。
- aipatch将它们应用到代码库中并记录所有内容。
对我来说,最有用的部分是多项目提示。我经常需要同时更新后端、前端和文档,或者比较两个git提交,或者将一个小原型的功能移植到一个更大的代码库中。现有工具对此处理不佳,因此aipatch允许你为每个项目分配一个唯一的ID,并将它们合并为一个单一的提示。
我还发现,最佳的“提示”往往是另一个已经按你希望的方式运行的工作项目。在上下文中包含一个小原型或参考代码库,可以给LLM一个明确的示例,从而生成比尝试用普通文本描述所有内容更准确的补丁。
这里有一个简短的演示视频(“我使用aipatch改进了aipatch”):
<a href="https://youtu.be/xho0pMKPu14" rel="nofollow">https://youtu.be/xho0pMKPu14</a>
GitHub:
<a href="https://github.com/axife/aipatch" rel="nofollow">https://github.com/axife/aipatch</a>
这是一个用Python编写的命令行工具,适用于任何LLM,不需要编辑器集成或账户。我非常欢迎任何从事LLM辅助开发或多代码库工作流程的人的反馈。
我正在寻找类似于 devdocs 的资源,但专门为系统管理员设计,以便在他们无法访问 Google 时使用。<p>因此,我在考虑使用 Solr 来搜索文档,并利用 OCR 技术扫描屏幕截图。<p>这个想法源于我希望更多人能够使用笑话助手,因此高质量的 Linux 知识尤其在偏远地区或网络连接不稳定的情况下会非常有用。