返回首页
最新
Ariandel 是一种内存模型,其中每个堆对象都位于由作用域管理的区域内。作用域退出时以 O(1) 的时间复杂度重置区域——只需一次指针写入和一次释放,无论分配了多少对象。
安全默认:分配函数返回 ARENA_PTR 句柄(打包的 arena_id 和偏移整数),而不是原始指针。在函数返回边界处,默认情况下无法构造悬空指针。跨作用域的生命周期延续是显式的——在分配之前,你需要通过 SCOPE(ptr) 进入目标区域,这样对象就会被路由到外部区域,而不转移所有权。
基准测试(未启用优化标志):100 万节点树的清理时间从 31 毫秒降至 1 毫秒(约 30 倍)。在紧密的内循环中确实存在回归(约 0.76 倍),因为 DEREF 无法像编译器那样提升基指针——规范对此进行了诚实的记录。
这是一个基于 C 宏的内存模型概念验证,目标是用于编译语言。值得关注的问题不是 C 实现本身,而是作用域结构化的区域路由是否可以作为垃圾回收和借用检查的合理替代,适用于重要程序类别。
代码库:<a href="https://github.com/hollow-arena/ariandel" rel="nofollow">https://github.com/hollow-arena/ariandel</a> — SPEC.md 包含完整模型,包括并发语义以及与 Tofte 和 Talpin 基于区域的内存的比较。
我正在使用Claude来维护一个代理循环,该循环在重要工具调用之前会暂停以征求用户的批准。在进行一些错误修复时,我发现了一些明显的模式和原因,为什么对没有技术知识和架构专业知识的人来说,Vibe编码可能会失败。
首先让我描述一下我的工作流程——这是我在数百个成功会话中的工作流程:
1. 通过自我测试识别错误
2. 请Claude代码调查代码库中的三个潜在根本原因
3. 将根本原因和建议的修复方案粘贴到Claude项目中,我在这里存储所有架构文档和设计决策,以便让其评估
4. 与Claude在项目中讨论,撰写详细的任务规范——任务规范将具有指定格式,并包含各种测试
5. 将其交还给Claude代码以实施修复
在今天的会话中,根本原因分析仍然很出色,但建议的修复方案却糟糕透顶,我真的认为这就是大多数Vibe编码项目在长期内失去可维护性的原因。
以下是两个根本原因和建议的修复方案:
错误:代理请求用户批准,但有时批准弹窗不会显示。我尝试发送消息以解锁它,消息却被默默吞掉。代理看起来像是死掉了,我不得不重启整个系统。
Claude的评估:
根本原因1:
批准弹窗通过实时连接发送一次。如果用户的界面在那一刻没有连接——页面刷新、手机后台运行、不稳定的连接——他们就永远看不到它。没有重试,没有恢复。
这实际上是正确的。
建议的修复:
“让我们将批准状态保存到磁盘,以便在崩溃后仍然存在。”听起来不错,但关键在于设计,如果发生崩溃,代理将从会话日志中冷启动,而无论如何不会获取批准状态。这个修复只增加了架构复杂性,完全没有用。
根本原因2:
当批准被中断(守护进程崩溃、用户重启)时,会话历史中会出现一个孤立的工具调用,但没有匹配的工具结果。
建议的修复:
“写一个合成的工具结果,以保持会话文件的结构有效。”听起来很干净。但我问:谁实际上会因为这个而出错?是LLM API吗?不,它可以处理缺失的结果。会话重放呢?不,它读取现有内容。孤立的工具调用准确地表示了发生的事情:工具被调用但从未完成。这才是事实。写一个虚假的结果来掩盖它引入了新的写协调问题(到底什么时候写虚假结果?如果在写入期间守护进程崩溃怎么办?)来解决一个并不存在的问题。会话文件并没有“损坏”,它是准确的。
Claude拥有完整的架构文档、代码库以及上下文中超过一百个会话的项目历史。它仍然选择复杂的解决方案,因为它看起来像是良好的工程。它从未问过“重启后这是否重要?”
我个人多次遇到这种对看似更强大过度工程的偏好。我真心相信,这正是人类操作应该介入的地方,而不是仅仅给出一句话的需求,然后看着代理进行各种“稳健”的工程。
好的,Kino 是一款适用于 Google TV 的 Android 应用,它利用电视的内部存储和连接到电视的任何 USB 存储设备来存储、流媒体播放和管理视频。您无需任何第三方硬件,电视本身就是计算机。此外,电视应用程序具有开放的、文档化的 API,因此您可能可以进行一些有趣的自动化操作。
它还提供了一个原生的 macOS 伴侣应用,可以立即在您的网络中找到安装了 Kino 的电视,安全配对后,您可以将视频上传到电视或将视频下载回您的 Mac,并从电视流式传输文件到您的 Mac。如果您没有 Mac,它还提供了 Web 界面。
电视应用可以播放视频,支持字幕(包括嵌入在视频容器中的字幕和作为单独文件的字幕,如 .srt),并记住视频的最后播放位置,以便您可以从中断的地方继续观看。
它支持无缝切换,从在电视上观看视频到从 macOS 应用流式播放,再返回。 我制作了一个简短的视频来演示这一点:<a href="https://www.youtube.com/watch?v=IECSIlrNBDw" rel="nofollow">https://www.youtube.com/watch?v=IECSIlrNBDw</a>
macOS 应用仍在审核中,因此尚未上架 App Store,但您可以从网站下载(它已通过认证,应该没有问题):<a href="https://appwared.com/apps/kino" rel="nofollow">https://appwared.com/apps/kino</a>
该应用(包括电视应用和 macOS 伴侣应用)不会收集任何数据(超出 Apple 或 Google 可能在其系统中收集的数据),完全私密。
我制作这个应用是为了自己使用,然后决定发布出来看看会发生什么,因此非常欢迎反馈。我只接触过一台电视,所以我相信您会发现一些错误,抱歉。
您可以免费下载和使用它,但有 10 个视频的限制,并要求您进行一次性购买以移除限制,但我发现这个免费限制对于大多数休闲使用来说已经足够了。
哦,差点忘了,电视应用的 API 完全开放并且有文档,可以在 http://TVIPADDRESS:PORT 查看(Web UI 的网址去掉 /web)。它可以用于自动将下载的文件移动到电视存储等操作。
我发现它对我的使用场景非常有用,希望您也会喜欢。如果您喜欢,可以在 Product Hunt 上支持它:<a href="https://www.producthunt.com/posts/kino-your-tv-becomes-a-media-server/maker-invite?code=AN3gzM" rel="nofollow">https://www.producthunt.com/posts/kino-your-tv-becomes-a-media-server/maker-invite?code=AN3gzM</a>
以下是一些可以用于免费升级到完整版的优惠码:
JP5HKCSGKEU60GFHGYBHWLU
QF7MRAQQNUFMS3TJ08JFXBB
X6MEL8Y8BQBNGF12T4S5X6A
C0M7FUWF8QKU54RE8Z4LH63
K5GE2MSZMYVA2EX13LV3CKV
XD08EAZ6YSPM0H0YW2F1JCF
DHQB3ZDXM5X4F9T0RN6XJJ7
5FBCSLXUZK7KYXVDD69GPVK
KKEDRFVP8J92Q1ER1DKLJJV
ELQ6D1WKUZNUL8PQ11RLK9B
E82BDAQD703WXA41990RYBY
97PSQVGB2C0U181YJFCF42R
GR5FN0ZM87LZ55UFMQ4JQ2S
R2EFC0FN0GUWAGF8BSREK01
NNLBY4MV2J2H4LECXP2HJMU
B4328WWZW0XWG78RYZCM7EQ
G81F1F1CSDNYVHHHQ12XN86
C784YTSH6NDXRBD7GCQHJ3Z
GSSFUFLXDSF93R6BWUU98WT
5P6WURXGNG2GZ93C0UQ2GNR