3作者: nananana93 个月前原帖
从我日常使用的软件来看,没有哪一款是主要由人工智能或大型语言模型编写的。我并不是刻意回避人工智能程序,但我还没有找到任何有用的应用。 当我说“有用的软件”时,我特别关注的是我祖母能够认出的软件——操作系统、集成开发环境、数字音频工作站、数据库管理系统、文字处理器、3D建模软件、游戏引擎、视频编辑器、计算机辅助设计软件、电子表格应用、编译器、浏览器等。我对五颜六色的猫/ls重写程序的兴趣稍微低一些。 考虑到在过去两年中,产生的代码行数可能超过了前二十年,毫无疑问,有很多软件在我视野之外悄然出现。 有没有一些我可以关注的有用的人工智能编写程序?如果它们能做一些我目前无法用计算机完成的新颖功能,那就更好了。
1作者: jblake3 个月前原帖
所以……我落后太多了。这周才开始接触Claude……它已经在处理我大部分的编码和错误修复了。真是疯狂。 关于我公司的背景:成熟的Ruby on Rails应用(14年),使用Sidekiq、Redis、PG、AWS Lambda/EventBridge、React/Preact、Swift等。托管在Heroku上,数据库使用量很大。我是一个独立开发者,既是所有者也是运营者。 当前技术栈: 使用Datadog进行日志记录(尝试过APM、指标等,但Heroku的构建包太臃肿,我不得不将其移除),所以现在只是简单地将Heroku日志转发到Datadog。我真的很怀念statsd主机和APM的功能……但这让我的slug大小从约250MB增加到350MB以上,导致启动和部署变得更慢。我也想要脱离Heroku……总有一天……但我现在甚至无法想象。 使用Bugsnag来处理错误。已经将其迁移到Sentry,尝试AI相关的功能。 对Datadog有点厌倦,每个月还要支付600美元的账单,外加我的企业承诺。最大的痛点是:索引按行计费,而不是按GB(这让我不愿意进行简单的日志记录,所以我不得不将事件放入单个请求/作业日志行中,然后复杂地分割消息,以免Heroku日志转发破坏JSON格式)。 配置Datadog的复杂性是一个痛点,但AI在很大程度上解决了这个问题。 我想要一个一体化的工具……这样AI可以在一个地方获取所有上下文似乎是最好的。然而,Sentry的日志功能还很初级,速度慢,功能有限。我尝试过BetterStack,同样也很基础。定价与Datadog相似。我每月大约处理600GB和5000万行数据。 所以我得出的结论是,Datadog的日志仍然比市场上任何其他工具要好得多。但Sentry在错误处理方面要好得多(我还有其他项目:iOS应用、React、原生JS)。 有什么建议吗?我喜欢投入时间在这些事情上,当我需要修复某些东西时,所有信息都在那儿让我感到非常开心,但在某个时刻——就像使用Heroku的原因一样——我有很多其他事情需要关注。 探索切换的主要原因是为了自动化根本原因分析、错误修复、性能改进等。我对Claude仍然是个新手,现在只是把它当作Claude Code VSCode聊天中的配对程序员,有时使用CLI。
2作者: Shark1n4Suit3 个月前原帖
PyTorch 和 ONNX Runtime 可以告诉你输出的结果,但无法告诉你实际执行了什么——哪些操作被执行、执行的顺序以及使用了哪些输入。 模型被打包成一个封闭的 .cnox 容器。在执行任何操作之前,会先验证 SHA-256。在推理过程中,会在一个最小的操作集上执行固定的计划。每次运行都可以生成每个操作的审计日志:操作类型、输出张量哈希、输出样本——这些都与生成它的确切容器和输入通过加密方式相链接。如果在生产中出现问题,你将有一条追踪记录。 当前的标量后端是参考实现,并在硬件加速不可用时作为永久的后备。所有后端的审计和验证是相同的。接下来是 SIMD,然后是 GPU。 下面的输入是合成的(全为1),与真实输入的管道是相同的。 审计示例: { "schema": 2, "run": { "run_id": "59144ede-5a27-4dff-bc25-94abade5b215", "started_at_unix_ms": 1776535116721, "container_path": "/home/shark/cnox/models/output/bert_base_uncased.cnox", "container_sha256_hex": "184c291595536e3ef69b9a6a324ad5ee4d0cef21cc95188e4cfdedb7f1f82740", "backend": "scalar" }, "input": { "len": 98304, "sha256_hex": "54ac99d2a36ac55b4619119ee26c36ec2868552933d27d519e0f9fd128b7319f", "sample_head": [ 1.0, 1.0, 1.0, 1.0 ] }, "ops": [ { "op_index": 0, "op_type": "Add", "out_len": 98304, "out_sample_head": [ 0.12242669, -4.970478, 2.8673656, 5.450008 ], "out_sha256_hex": "19f8aa0a618e5513aed4603a7aae2a333c3287368050e76d4aca0f83fb220e78" }, { "op_index": 1, "op_type": "Add", "out_len": 98304, "out_sample_head": [ 0.9650015, 0.23414998, 1.539839, 0.30231553 ], "out_sha256_hex": "7ae2f025c8acf67b8232e694dd43caf3b479eb078366787e4fdc16d651450ad4" }, { "op_index": 2, "op_type": "MatMul", "out_len": 98304, "out_sample_head": [ 1.0307425, 0.19207191, 1.5278282, 0.3000223 ], "out_sha256_hex": "44c28e64441987b8f0516d77f45ad892750b3e5b3916770d3baa5f2289e41bdd" }, { "op_index": 3, "op_type": "Gelu", "out_len": 393216, "out_sample_head": [ 0.68828076, -0.0033473556, 1.591219, -0.16837223 ], "audit_elided": "hash_skipped: len 393216 > max 262144" } ] }