返回首页
最新
嗨,HN,
我们开发了一个 FROST (RFC-9591) 阈值 Schnorr 签名实现,作为 libsecp256k1 的扩展模块。
我们的目标不是创建另一个框架,而是想看看当 FROST 在一个最小化的、生产级的 C 加密库中被实现时会是什么样子。
亮点:
- 基于 bitcoin-core/secp256k1 的分支
- 兼容 C89
- 无外部加密依赖
- 兼容 RFC 测试向量
- 维护上游合并
主要适用于嵌入式或对性能敏感的系统,在这些系统中,添加完整的加密栈并不理想。
代码:
[https://github.com/bancaditalia/secp256k1-frost](https://github.com/bancaditalia/secp256k1-frost)
欢迎提问或提出批评意见。
嘿,HN!我在一家游戏公司工作,整天盯着代码看,晚上不想再写东西了。
所以我使用Claude和Cursor构建了这个——架构、设计、基础设施、CI/CD。我只是负责指导和审核,花了几个周末的时间。
这是我个人经常在Google上搜索的一些工具集合:
JSON格式化器、图片调整大小工具、时间戳/时区转换器、UUID生成器、二维码生成器,以及大约30个其他工具。
很高兴回答有关AI工作流程或其他任何问题。
我们接到了一份模糊的客户请求,内容是“团队生产力仪表板”,并将其通过两种不同的探索流程进行分析:一种是传统的人类分析师方法,另一种是基于人工智能的询问工作流程。
结果令人不安。人类分析师生成了一段礼貌的文字,总结了“理想路径”。而人工智能则生成了一份包含127条技术规范的文档,突出了每一个边缘案例、安全漏洞和我们通常会在第8周才想起的缺失功能。
以下是实验的详细分析,以及我认为“范围蔓延”主要是探索失败的原因。
问题:假设盲点
我们都经历过“第8周危机”。当你完成了12周开发的75%时,客户突然问:“用户管理的管理面板在哪里?”开发团队认为这超出了范围;而客户则认为这是隐含的,因为“所有应用都有登录功能”。
人类具有较高的上下文理解能力。当我们听到“仪表板”时,我们假设有标准的身份验证、标准的错误处理和标准的规模。我们不会把这些写下来,因为这感觉很啰嗦。
而人工智能没有上下文。它不知道“身份验证”是隐含的。它也不知道我们对原型的速率限制并不在意。因此,它会询问。
实验
我们将相同的输入提供给了一位资深人类分析师和一个作为技术询问者的LLM工作流程。
输入:“我们需要一个仪表板来跟踪团队生产力。它应该从Jira和GitHub中提取数据,并显示谁在阻碍谁。”
路径A:人类分析师
输出:约5个要点。
关注于用户界面和“商业价值”。
假设:标准的Jira/GitHub API、单租户、标准安全性。
结果:一份简洁、易读但技术上空洞的总结。
路径B:人工智能询问者
输出:127条独特的技术要求。
关注于:失败状态、数据治理和边缘案例。
结果:一份庞大、乏味但详尽的文档。
结果
数量差异(5对127)令人震惊,但内容差异才是关键。人工智能明确列出了人类完全“盲点”的要求:
- 细粒度的RBAC:“如果一名初级开发者试图删除一个仓库链接,会发生什么?”
- API速率限制:“我们如何处理同步过程中来自GitHub的429错误?”
- 数据保留:“我们是否无限期存储Jira票据?是否有清除政策?”
- 空状态:“对于一个没有任何票据的新用户,仪表板会是什么样子?”
人类的规范暗示这些是“实现细节”。而人工智能则将其视为要求。在我的经验中,将RBAC视为实现细节正是项目超预算的原因之一。
权衡与局限性
公平地说,阅读一份127条的规范是非常痛苦的。这里存在严重的信号与噪声问题。
- 膨胀:人工智能可能过于死板。它建议将微服务架构用于应该是单体的项目。它在不存在复杂性的地方产生了幻觉。
- 瘫痪:将一份127条的清单交给开发者作为原型的指导,绝对是打击士气的好方法。
- 过滤:你仍然需要人类来查看清单并说:“我们还不需要多租户,删除第45-60条。”
然而,我宁愿在项目开始时删除20个不必要的要点,也不愿在发布前两周发现20个缺失的要求。
讨论
这个实验让我意识到,我们对编写规范的厌恶,以及对“隐含”上下文的依赖,是技术债务的主要来源。人工智能之所以有用,不是因为它聪明,而是因为它足够细致,能够提出我们认为太显而易见的问题。
我很好奇其他人是如何处理这个“隐含要求”问题的:
1. 你是否有一份关于RBAC/身份验证/速率限制等的清单可以重复使用?
2. 一份100+条的规范真的有帮助吗,还是只是提前引发争论?
3. 你如何从“人工智能噪声”中筛选出关键的缺失规范?
如果有人想查看我们用来触发这种“询问者”模式的具体提示,我很乐意在评论中分享。
我依赖的工具变得太贵了,所以我自己构建了一个替代品。<p>这个工具完全免费且开源,我分享它是希望能帮助到其他人。<p>如果你试用后有任何反馈,我非常欢迎。功能建议也很受欢迎,请提出你希望看到的功能。 如果你觉得这个工具有用,给我的仓库点个星对我来说意义重大——这是我第一次参与开源项目 :)<p>谢谢!