返回首页
最新
Dogpatch地区的房主提供带家具的短期租赁,面向YC批次创始人,租期为3月至6月,无需支付Airbnb费用。
嗨,HN,
我是一名化学工程师,目前在德克萨斯州的一家炼油厂负责物流管理。每当我试图向行业外的人(包括我的孩子)解释下游操作时,通常会看到他们一脸茫然。因此,我想制作一个能够可视化工厂概念和化学原理的东西,而不至于完全简化科学内容,于是我制作了这个五分钟的浏览器游戏。
我并不是专业的软件开发人员,所以我在编写代码时非常依赖大型语言模型(如Claude、Copilot、Gemini)。最初的简单构思变成了一个9000行的单页面应用,使用了原生的HTML、CSS和JavaScript。我还使用了Matter.js来实现2D物理小游戏。
作为一个非开发者,构建这个项目的一些技术要点包括:
* 管理LLM工作流程:一旦script.js文件变得庞大,让模型输出完整的文件重写就变得非常糟糕(截断、幻觉、不可见的弯引号替换导致JS出错)。我开始强制它们像补丁文件一样工作,严格输出“查找这个确切的代码块”和“替换为这个确切的代码块”。这是唯一能够在不破坏现有逻辑的情况下保持改进的方法。
* 将物理映射到CSS:我希望小游戏能够在圆形CSS容器内可视化显示(border-radius: 50%)。Matter.js并不关心你的CSS。要让刚体物理遵循不同屏幕尺寸下动态响应的DOM边界,需要在每一帧上运行一个椭圆边界方程(dx * dx) / (rx * rx) + (dy * dy) / (ry * ry) > 1。也许这对于处理手机和PC之间的调整来说有些过于复杂。
* 移动浏览器事件:强制iOS Safari忽略其默认行为(双击缩放、滑动滚动),同时仍允许用户点击和拖动Matter.js对象,需要大量自定义事件监听器管理和CSS(touch-action: manipulation; user-select: none;)。我还发现这些操作很容易导致鼠标滚动失效,这让PC用户感到非常沮丧。我希望我能找到一个好的折中方案。
* 状态管理:由于我没有使用React或任何框架,只能依赖一个全局状态对象。因为游戏在不同阶段/小游戏之间跳转,我遇到了大量的内存泄漏,原因是旧的setInterval循环和Matter.js物体的堆积。我不得不构建严格的清理函数,以便在每次地图转换时清理状态。
这个游戏涵盖了静电脱盐、分馏、加氢处理、催化裂化和汽油混合(达到特定的辛烷值和RVP规格)。
它完全免费,客户端运行,没有广告或注册。我非常欢迎对游戏机制的任何反馈,或者如果你能找到破坏物理引擎的方法,请告诉我。我也乐意回答任何关于化学工程方面的问题。
出于某种原因,网址框没有被识别,也许有人可以帮我解决这个问题。www.fuelingcuriosity.com/game
每个代理框架都会提供日志(各自有不同的日志格式)。这些日志是非结构化文本。如果运气好,可能会有一些跨度。当你的代理出现问题时,你需要在某个专有系统的输出墙中进行grep搜索。
为什么我不能轻松查看代理是如何生成PR的?为什么我不能从某个状态重启不同的代理?
我对此感到厌倦。agd是一个内容寻址的对象存储和因果有向无环图(DAG),用于记录代理行为。它的工作方式类似于git(大对象、树、引用、通过哈希标识的不可变对象),但对象类型特定于大语言模型(LLM)交互:包含类型化内容部分的消息、工具定义和形成因果图的工作区快照。
核心思想借鉴自git:数据模型即API。你可以直接与对象交互。一切都是不可变的,每个对象都有一个哈希。
DAG中的一个“操作”记录了:代理看到的消息(观察到的状态)、它生成的内容(生成的状态)、可用的工具、使用的模型以及导致这一切的原因(父操作)。
每个操作有两个状态,都是完整的快照,而不是增量。你可以对比它们以查看变化。
你能获得的功能:
- `agd log --session s1` 显示一次对话的完整因果链
- `agd show <action> --produced --expand` 显示确切的提示和工具调用
- `agd diff` 比较两个操作之间的消息和工作区文件
- `agd rewind` 将会话回退到之前的某个点(旧操作保留在存储中)
- `agd replay` 重建确切的输入状态并重新执行一个操作
它作为中间件/插件集成。包装你现有的LLM调用,记录前后状态,不需要重写你的代理代码。会话引用(类似于git分支指针)在每个操作后自动前进,因此父操作的追踪只需读取一个引用。
使用Zig编写。大部分代码是在强大的AI协助下完成的。存储是追加式的松散文件,类似于git的对象目录。每个操作的写入路径目标是低单数毫秒,使用批量fsync。会话可以打包并发布到远程,以便共享和查看(正在进行这方面的概念验证,有一些核心问题)。
这是预发布版本。对象模型和写入路径正常工作。工作区捕获、会话共享和Phoenix LiveView网页查看器功能正常。
仍然缺少很多功能:从任意点恢复、适当的差异比较、重放命令。磁盘上的格式可能会改变。我还不建议你依赖它来处理任何重要的事情。
它不做的事情:协调代理、使代理更智能、实时流式处理或替代你的框架。
期待反馈、想法和贡献者。
仓库链接: [https://github.com/frontman-ai/agd](https://github.com/frontman-ai/agd)
我从零开始构建了一个语音代理,平均端到端延迟约为400毫秒(从电话停止到第一个音节)。这个过程包含了完整的语音转文本(STT)→ 大语言模型(LLM)→ 文本转语音(TTS),支持干扰输入,并且没有预先计算的响应。
推动进展的关键在于:
语音是一个轮流发言的问题,而不是一个转录问题。仅仅依靠语音活动检测(VAD)是不够的;你需要语义上的发言结束检测。
系统简化为一个循环:说话与倾听。这两个过渡——在干扰输入时立即取消,在发言结束时立即响应——定义了用户体验。
STT → LLM → TTS 必须是流式的。顺序管道在自然对话中是行不通的。
TTFT(首次令牌到首次响应时间)在一切中占主导地位。在语音中,第一个令牌是关键路径。Groq 的约80毫秒 TTFT 是最大的胜利。
地理位置比提示更重要。将所有组件放在一起,否则在开始之前就会失败。
您好,如果这不是合适的内容,请随时删除。<p>我在主要的FAANG公司和初创企业担任技术招聘者已有10年以上,专注于一些小众专业职位。我曾经定期访问Hacker News,查看“谁想被雇佣”,因为我一直喜欢工程师更独立的黑客思维。<p>这里的工程师们对面试准备咨询感兴趣吗?我一直在考虑请假旅行,但我希望通过提供技术准备和面试帮助的咨询来保持工作活跃。<p>我只是想试探一下反应,但我愿意为有面试安排的任何人提供几次免费的准备电话咨询。唯一的要求是希望能得到你们的反馈,了解事情进展如何,以及你们认为这些帮助的价值。
嗨,HN,我是Pranav(创始人)。我设计硬件时发现了一个奇怪的分歧:
工程师们不信任AI来设计完整的PCB(隐藏的假设、层叠、制造限制、电磁干扰/回流路径,以及稍有偏差的成本 - 这就是为什么像Flux这样的工具仍然没有被广泛信任用于完整设计的原因)。
但客户们却不断要求ChatGPT“审核”电路板。他们粘贴截图/ Gerber文件,并期望得到真正的签字。结果往往听起来没问题,但它可能会产生幻觉或遗漏实际导致重新设计的原因。
在这个过程中我学到的教训是:困难的部分不是更多的AI,而是具有明确假设的确定性、可重复的检测,AI仅用于解释发现并建议修复方案。
我非常希望得到反馈:哪些问题值得在制造前捕捉,哪些问题太嘈杂,以及什么能让你信任这个作为发布的门槛。
一个小周末项目,制作这个是为了在学习歌曲时能够直接在钢琴上暂停、播放和倒带。
在最新一期的Weaviate播客中,Doug Turnbull解释了为什么像grep这样的简单词汇工具对智能体如此有效:透明的输入输出关系使得智能体能够推理出结果匹配的原因,调整其策略,并规划下一个查询。
嘿,HN!<p>我发现自己经常需要将复杂的代码库传递给大型语言模型(LLM),用于生成产品需求文档(PRD)等。每次我将代码库粘贴到Claude中时,我都要为模型不关心的文件支付代币。但如果我只粘贴相关文件,模型就会失去对整体结构的理解。这真是一个令人烦恼的权衡。<p>llmdoc是一个小型命令行工具,它为每个文件添加简短的LLM摘要,并在哈希值变化时智能更新这些摘要。<p>llmdoc annotate # 为每个文件添加摘要(遵循.gitignore,你可以配置它忽略更多文件)<p>llmdoc dump # 生成一个方便的“快速概览”摘要,以便提供给LLM,确保你代码库的完整上下文。<p>还有llmdoc check用于持续集成(CI)——如果任何注释过时或缺失,则返回1,不需要API密钥。<p>它支持Anthropic和OpenAI,兼容50多种语言,遵循.gitignore,并且有一个--dry-run标志,可以在实际操作之前估算成本。<p>一个已知问题是LLM提供商的速率限制,但由于一切都基于哈希,你可以多次重新运行以使其正常工作。<p>告诉我你的想法!