返回首页
最新
我妻子在我生日时送了我一台Commodore 64 Ultimate(<a href="https://www.commodore.net" rel="nofollow">https://www.commodore.net</a>),但为了玩弄它而必须连接一整台显示器,实在是太麻烦了。当我发现Ultimate FPGA板支持通过网络流式传输视频和音频数据,并且提供REST API以便进行文件和配置管理时,我开始着手开发一个应用程序,以便远程控制我的新设备。
<p>- 通过网络查看和听到你的Commodore 64 Ultimate或Ultimate 64设备,配备完全可配置的CRT着色器,让你可以调节到理想的复古感觉。
<p>- 查看和管理设备上的文件,支持拖放文件夹/文件上传,并能够运行和挂载磁盘,创建新的磁盘映像等。
<p>- BASIC Scratchpad是应用程序中的一个迷你IDE,你可以在其中编写BASIC应用程序,并直接发送到任何连接的设备上运行。
<p>- 键盘转发功能允许你使用电脑键盘与设备进行交互,包括一个专为Commodore特定键设计的键盘覆盖,弥补你键盘上缺失的按键。
<p>- 视觉内存查看器和编辑器,以及类似终端的内存查看器和编辑器,便于调试和修改。
<p>- 内置支持干净地录制视频和截取屏幕截图。
<p>- 完全原生的macOS AppKit应用程序。
<p>这是我录制并发送给App Review的2.0版本的粗略演示视频,昨天已获批准:<a href="https://www.youtube.com/watch?v=_2wJO2wOGm8" rel="nofollow">https://www.youtube.com/watch?v=_2wJO2wOGm8</a>
<p>请再次注意,此应用程序仅适用于Commodore 64 Ultimate或Gideon的Ultimate 64设备。Ultimate II不具备支持显示的数据流功能。
我们在Nutanix开发了这个工具,以解决一个反复出现的问题:检测大型对象存储之间的数据漂移(数亿个对象)。<p>现有的工具,如AWS CLI(aws s3 sync --dryrun)和s5cmd(--dry-run),在许多工作流程中表现良好,但我们对更深入和灵活的比较有稍微不同的需求。这促使我们开发了这个工具,并且我们现在已将其开源,以便更广泛地使用。<p>主要功能:<p>1. 双向差异比较:给定两个存储桶A和B,该工具报告(A−B)和(B−A)。<p>2. 浅层检查模式:比较对象名称和ETag以确定对象的存在。<p>3. 深层检查模式:通过HeadObject比较标签、元数据和ObjectLock/WORM。<p>4. 可恢复性:检查点功能允许长时间运行的任务无缝恢复。例如,一个在8M对象处中断的10M对象运行将从中断处继续。<p>性能(50万个对象):
浅层模式:约3900个对象/秒
深层模式:约1345个对象/秒(25个工作进程)<p>该工具可以在任何两个兼容S3的存储桶之间工作。<p>欢迎讨论有关该工具的任何问题!
我和女朋友发生了争吵。我们都在没有告诉对方的情况下,登录了共享的Claude账户来发泄情绪。最终,她注意到了那个聊天记录,加入了进来,并开始对我进行盘问。我收到了一些奇怪的回复,Claude让我冷静下来。在意识到聊天记录被重命名为“为什么迈克尔是个不体贴的混蛋”后,我刷新了一下,发现Claude并没有考虑到多会话的WebSocket功能,于是告诉它有我们两个。之后,看到同一个对话中的双方,它自然开始进行调解。没有人要求它这样做。它识别出正确的发言者,读懂了气氛,并根据当下的需要作出回应。
我们寻找“与AI的群聊”,但并不存在。所有的都是一对一的助手模式。
于是我们开始构建它。一个作为参与者坐在你群聊中的AI,而不是一个你@来提问的机器人。它有自己的观点。它决定何时发言,何时保持沉默。它能读懂气氛。
我遇到的最有趣的障碍是记忆。
RAG、嵌入、原生KV都共享一个我需要打破的限制。“用户X喜欢寿司。”变得在任何地方、永远对每个人可访问。这并不是知识的运作方式。如果我在酒吧告诉你一个秘密,桌子上的人都知道。20分钟后才出现的那个人就不知道。如果我在私下告诉你一些敏感的事情,你会永远知道,但不会在大家面前提起。
因此,我构建了基于见证者的记忆。当AI学到某些东西时,它会将在场的每个人标记为见证者。记忆是不可变的,属于那些在场听到的人共同拥有的财产。
只有在至少有一个见证者在场时,记忆才可用。艾丽斯在你提到分手时在场吗?AI在艾丽斯在的任何房间都知道。只有你和鲍勃?没有任何概念。艾丽斯加入?现在它记住了。私密对话被标记为learned_privately,并且永远不会在公共场合出现。AI像一个真实的人对待秘密一样对待私密知识。
记忆的衰减因类型而异:事实是永久的,偏好在几个月内消退,情感在几天内消退,意图在几周内消退。所有记忆在一个显著性评分的上下文槽中竞争。最近的访问和当前房间的存在都会提升它。新记忆通过嵌入检查现有记忆。“迈克尔有一只狗” + “这只狗的名字是萨姆”会形成一个链条一起浮现,而不是覆盖。
记忆是第一个难题。第二个难题是知道何时不该发言。
每个大型语言模型的默认模式是回应。但真实对话中的参与者大部分时间都是沉默的。当你的两个朋友在处理某些事情时,你不会插嘴。难题不在于该说什么,而在于识别何时正确的举动是保持沉默。
因此,在昂贵的个性模型运行之前,一个便宜的模型(Haiku)会读取最后N条消息,并决定AI是否应该发言。我先尝试了规则,但效果很差。现在它是一个描述对话物理的提示。开放循环(某人被悬而未决,填补空白)与封闭循环(两个人来回交流,保持沉默)。经过几次迭代,它才不再愚蠢。结果发现Haiku在布尔工具输出上有系统性偏见,因此我不得不反转模式:询问should_stay_quiet而不是should_respond。大幅减少了误报。
这已经在真实用户中上线。对话的感觉不同。最令人惊讶的涌现行为之一是它是多么搞笑(评论中有截图)。对此完全没有提示。
我不断回到一个观点:大多数AI产品看起来平淡或机械的原因并不是模型,而是框架层。当你不再将AI构建为一个被单个用户查询的助手,而是作为一个多人的社交环境中的参与者时,模型展现出比助手框架所暴露的更多个性和能力。架构是瓶颈,而不是权重。
如果你想尝试,可以访问takt.chat。这个帖子更多是关于架构而非产品。