Prospero:为更文明时代打造的编程工具
Prospero: A new coding harness for a more civilized age
在代码世界日益复杂的今天,Prospero 试图重新定义编程体验。它不仅仅是一个工具,更像是一种“编程挽具”,旨在让开发者从繁琐的底层细节中解放出来,专注于更有创造力的工作。文章探讨了如何通过这种新范式,让编程过程更加人性化、高效,甚至“文明”。对于厌倦了传统开发流程的开发者来说,Prospero 可能带来一场温和却深刻的变革,重新思考我们如何与机器协作。
Prospero 是一款专为更文明时代而生的新编程工具。
HN 评论区
118- brainless
看到图形界面(GUI)的编程代理很高兴。我一直都在用终端界面(TUI)代理,但自己正在开发一个 GUI 版本。我用过 Claude Code、Codex、opencode 以及另外几个工具,但都不太喜欢它们的开发体验(DX)/用户体验(UX)。
我经常想点击代理输出的大段文字中的某一部分,搜索相关内容,并在侧边栏打开它们。我想直接打开链接的文件。我想以异步方式回答多个问题,甚至隔天回来继续回答下一个问题。
我还需要很多提示词层面的功能——比如用子代理进行编排,但只针对我选择的任务。可是没有复选框,我该怎么选择呢?或者委派一个子代理去深入挖掘(只读)聊天回复中的某一部分。又或者只把任务列表中的某一项具体化(写出来)。还有太多太多这样的小需求。
作为编程代理的全职用户,TUI 对我来说几乎派不上用场。我认为在代理驱动的开发中,文本分割、文本搜索和文本合并比以往任何时候都更重要。一切皆文本,贯穿始终。这正是我自己用自研 GUI 框架正在构建的东西。
- nico
关于命令行(CLI)编程代理的一些吹毛求疵:
很多时候,当它们正在执行任务时,我正在输入提示词,突然弹出一个带 Y/N 选项的问题,结果我不小心把 Y/N 作为单词的一部分打进去了,从而“回答了问题”。这经常导致代理走错方向或者直接停止。
Claude Code 和 Codex 都没解决这个问题。我发现唯一能防止这种情况的方法是先在其他地方打字,然后粘贴,但这烦透了。
编辑:^^ 上面这点现在尤其烦人,因为 Codex 会在其他代理的会话中弹出提示/问题。
另外,当我想让两个不同会话中的代理互相交流时,体验相当别扭。我得两边都聊,充当几轮传话人,直到它们真正协调好。我真希望能有点哪里,点击一下就能链接或断开两个或多个会话。
Prospero 能解决上述问题吗?
有什么关于“群体”/群组控制代理的计划吗?
- julesrms
很高兴看到你们在做的事情,但作为一个 30 年的硬核 C++ 老兵(甚至到了自己创建 C++ GUI 框架的程度:https://juce.com)……当我编写代码代理时(https://github.com/juggler-ai/juggler),我绝不会用 C++ 来做代理的 GUI!
代理 UI 全是 Markdown、HTML、巨大的滚动列表、文本流、Unicode 字符,以及 C++ 框架最拿手的那些东西,但在 HTML/CSS/JS 里却易如反掌。你真是个勇士!
- keyle
现在很多人还是自己造轮子……
我自己也做了一个,资源占用只有 opencode 的 4%,风格也是类似的 TUI。
我觉得这很棒,每个人都应该自己造一个。
- bensyverson
如果我没有那个离谱补贴过的 Claude 订阅,其实有很多很酷的 harness 我都能用。
- bigbuppo
我受够了科技圈的人不去查查某个名字是否已经被占用了:http://www.prospero.org/
真是制造混乱的好方法。
这就像建立一个新国家,然后管它叫法国。
- OleksandrC
如果你在寻找一个资源占用轻量的代理实现,但更喜欢在终端里工作,也可以考虑 hax(https://usehax.dev/)。完全静态的 Linux 二进制文件小于 2 MB,运行时内存占用仅几 MB。除了常规的云服务商外,它也能很好地配合本地模型工作(会自动检测运行中的 llama-server 配置)。
- x3haloed
好吧,这个概念我非常喜欢。特别是它高效、无头(headless),还附带可连接的 GUI。
但我不喜欢它过于固执己见:“因此 Prospero 的首要设计原则:永远不要无限等待。每个操作都有截止时间。这个决定影响了一切。”
我尊重这种观点,但我并不认同,因此围绕这种观点开发的整个编程 harness 对我毫无帮助。