1作者: gamarino4 个月前原帖
在过去的几个月里,我一直在重新思考动态语言运行时如何与现代硬件进行交互。最终的成果是ProtoCore及其首个主要实现ProtoJS。 大多数动态运行时(如Python、Ruby,甚至是JS引擎)通过全局解释器锁(GIL)或复杂的内存屏障来处理并发,因为在多个线程之间管理可变状态是非常困难的。 在ProtoCore中,我采取了不同的路径,基于三个支柱: 1. 默认不可变性:所有核心数据结构都是不可变的。我们不使用锁,而是通过结构共享来提高内存效率。这在本质上消除了对象级别的数据竞争。 2. 硬件感知内存模型:对象与缓存行对齐(64字节单元),以防止伪共享并优化缓存局部性。 3. 标记指针:我们为小整数使用56位嵌入负载,这意味着大多数数值操作不需要堆分配。 为了验证这一架构,我构建了ProtoJS。它使用QuickJS进行解析,但用ProtoCore原语替换了整个运行时。这允许真正的工作线程执行(“延迟”),在不复制或涉及GIL相关争用的情况下,共享不可变对象。 当前状态: - ProtoCore:100%测试通过率(50/50测试),并于今天完成了全面的技术审计。 - ProtoJS:第一阶段完成,展示了真正的并行执行和低于1毫秒的垃圾回收暂停。 我是一名电子工程师(现在是一名大学教授),我想看看应用低级硬件原理是否能够解决高级并发的“混乱”。 我很想听听你对这种以不可变性为首的系统编程方法的权衡看法。 ProtoCore(引擎):https://github.com/numaes/protoCore ProtoJS(JS运行时):https://github.com/gamarino/protoJS
10作者: tullie4 个月前原帖
嗨,HN, 我是Tullie,Shaped的创始人。之前,我在Meta AI担任研究员,负责Instagram Reels的排名工作,并且是PyTorch Lightning的贡献者。 我们创建ShapedQL是因为我们注意到,虽然检索(找到1000个项目)已经被向量数据库商品化,但排名(找到最佳的10个项目)仍然是一个基础设施问题。 要构建一个合适的推荐流或具有长期记忆的RAG系统,通常需要组合一个向量数据库(如Pinecone/Milvus)、一个特征存储(如Redis)、一个推理服务,以及数千行Python代码来处理业务逻辑和重新排名。 我们构建了一个引擎,将这些整合为一种单一的SQL方言。它将声明式查询编译为高性能的多阶段排名管道。 工作原理: ShapedQL不是简单的SELECT,而是在推荐系统中以四个阶段进行操作: 1. 检索:通过混合搜索(关键词 + 向量)或协同过滤获取候选项。 2. 过滤:应用硬约束(例如,“库存 > 0”)。 3. 评分:使用实时模型对结果进行排名(例如,p(click)或p(relevance))。 4. 重新排序:应用多样性逻辑,以确保您的代理/用户不会看到10个几乎相同的结果。 语法:以下是一个RAG查询的示例。这替代了大约500行标准的Python/LangChain代码: ```sql SELECT item_id, description, price FROM -- 检索:在多个索引中进行混合搜索 search_flights("$param.user_prompt", "$param.context"), search_hotels("$param.user_prompt", "$param.context$") WHERE -- 过滤:硬性业务约束 price <= "$param.budget" AND is_available("$param.dates") ORDER BY -- 评分:实时重新排名(个性化 + 相关性) 0.5 * preference_score(user, item) + 0.3 * relevance_score(item, "$param.user_prompt") LIMIT 20 ``` 如果您不喜欢SQL,您也可以使用我们的Python和TypeScript SDK。我很想知道您对语法和抽象层的看法!
10作者: ogandreakiro4 个月前原帖
嘿,HN, 我们已经构建浏览器代理有一段时间了。在生产环境中,我们不断趋向于相同的模式:对于正常流程使用确定性脚本,仅在边缘案例中使用代理。因此,我们开发了演示模式。 这个想法很简单:你在远程浏览器中执行一次工作流程。Notte 记录交互并生成确定性的自动化代码。 它的工作原理如下: - 在云浏览器中记录点击、输入、导航 - 将这些记录编译成确定性代码(运行时不使用大型语言模型) - 在托管的浏览器基础设施上运行和部署 最接近的类比是 Playwright 的代码生成,但: - 基础设施已处理(远程浏览器、代理、身份验证状态) - 代码在可部署的运行时中运行,具有日志、重试和可选的代理回退 代理非常适合原型设计和动态步骤,但在生产环境中,我们通常希望拥有版本化的代码和可预测的成本/行为。欢迎在评论中深入讨论实现细节。 演示链接: [https://www.loom.com/share/f83cb83ecd5e48188dd9741724cde49a](https://www.loom.com/share/f83cb83ecd5e48188dd9741724cde49a) -- Andrea & Lucas, Notte 创始人
3作者: HeleneBuilds4 个月前原帖
嗨,HN!<p>我是Hélène。我和我的丈夫是来自比利时的建筑师,过去几个月我们一直在构建一个名为“13美德”的副项目。<p>这个想法源于本杰明·富兰克林的个人品格体系。他没有同时跟踪许多习惯,而是每周专注于一个美德(如节制、沉默、秩序等),在13周内循环13个美德,然后重复这个周期。他记录了这一实践多年。<p>我们希望有一个严格遵循这一结构的应用,而不是另一个灵活的习惯追踪器。一次关注一个美德。一天关注一个美德。重复。<p>您可以直接在主页上试用账本,而无需创建账户。您可以标记今天的缺失,并查看当前的美德以及富兰克林的原始名言:<p><a href="https:&#x2F;&#x2F;www.13-virtues.com" rel="nofollow">https:&#x2F;&#x2F;www.13-virtues.com</a><p>我们为什么要构建它:<p>我们对那些优化连续性和指标而非反思的生产力应用感到沮丧。富兰克林的系统让人感觉清新、受限且有意图,我们希望有一个我们自己也能真正使用的工具。我的丈夫负责工程;我专注于产品和设计。<p>定价模型:<p>我们故意避免订阅模式。<p>- 免费层:完整的13周周期和每日账本<p>- 终身升级(79美元启动价):超出当前周期的长期历史、引导反思、数据导出,以及一个可下载的现代美德指南(PDF),更深入地解释该方法及其理论基础。<p>富兰克林的系统比SaaS早了几个世纪,每月收费对于这样一个旨在安静实践多年的东西来说感觉不太合适。<p>技术:<p>- 后端:Laravel<p>- 前端:Vue(Inertia)<p>- CSS:Tailwind<p>- 主机:Hostinger<p>在大约12个周末内构建完成。<p>我们今天(中欧时间)会在这里回答问题——乐意讨论实施、定价决策或富兰克林的原著。特别欢迎有深思熟虑的UI/UX反馈。
3作者: fnoef4 个月前原帖
我热爱科技。但我对未来不再抱有乐观的态度。看起来人工智能不会消失,管理者似乎更倾向于推动人们使用人工智能,而不是构建可靠的软件,只要能推出产品就行。其他一切都在被人工智能摧毁:艺术、音乐、书籍、个人网站。当谷歌的人工智能摘要可以直接给你总结时,为什么还要读博客文章?当你可以直接获得书籍的人工智能摘要时,为什么还要读书?当你可以生成无尽的人工智能音乐时,为什么还要为音乐支付艺术家? 甚至像“日常琐事”这样的事情也正在被像ClawdBot这样的工具自动化。你唯一能做的就是在一天中吃东西和上厕所。人们应该如何赚钱?我不知道,因为在这个“繁荣的未来”里,一切都被人工智能取代了。 所以我想问HN:这一切还有意义吗?我们为什么要继续前行,目标又在哪里?