开发者生态
morning
Show HN:Huzzah——一种利用人工智能进行编码的新颖方法
摘要
If you’re a software engineer like me, the first few months of 2026 were incredible. Coding agents suddenly became good enough that we no longer needed to manually write code. But if you’re like me, t...
the
and
that
are
you
code
want
not
agents
for
2026-08-21
1 阅读
约6分钟阅读
danielvaughn
字号:
如果您是像我一样的软件工程师,那么 2026 年的前几个月是令人难以置信的。编码代理突然变得足够好,我们不再需要手动编写代码。但如果你像我一样,那么过了一段时间你就会碰壁。蜜月期结束了,新鲜感也消失了。不再有多巴胺的作用。已经八月了,我感觉很累。老实说,我厌倦了用长篇英语来描述我想要对代码库进行的每一个更改。但是,我也不想回去手动编写所有代码。这种做法真的很乏味,我宁愿在……好吧,我的余生中避免这种情况。然而,我觉得我需要更好地洞察和控制我的代码正在做什么。我想知道我的输出是高质量、可靠的软件。作为一名专业人士,我希望自我感觉良好。所以我正在努力寻找一种鱼与熊掌兼得的方法。我对编码代理的问题是没有可靠的人类意图记录。提示被丢弃,代码可能是也可能不是由人工智能生成的。我们已经失去了表达人类想要从机器中得到什么的中央权威,我认为面对这个事实很重要。 AI 聊天是命令式的分步指令,描述应用程序的更改,而不是应用程序本身。这意味着指令经常会在开发过程中多次重复,从而消耗代币。这是低效的。许多自然语言的存在是出于社会原因,而不是信息性的。平均句子的真实信息很少。以这种方式写入机器是很麻烦的。为了解决这些问题,我正在构建一个实验性编辑器。我称之为 Huzzah,它为与法学硕士合作提供了另一种范式。对于编码代理,提示是 (a) 长格式、(b) 命令式和 (c) 短暂性。对于 Huzzah,提示是 (a) 伪代码、(b) 声明性和 (c) 持久性。如果我只是给你看,那就更容易了。您的浏览器不支持嵌入视频。您可以直接观看 Huzzah 演示。比较嘶嘶声让我们举一个非常简单的例子 - 假设您想使用 AI 来创建嘶嘶声。我们将这样做两次 - 一次使用编码代理,另一次使用 Huzzah。使用编码代理 您可以在选择的工具中开始聊天,然后输入如下内容: 创建一个循环 100 次的函数。如果数字能被 3 整除,则输出“fizz”。如果数字能被 5 整除,则打印“buzz”。如果数字可以被两者整除(例如 15),则打印“fizzuzz”。如果您需要进行编辑,您可以向聊天发送一条后续消息:该函数不应循环 100 次,而应接受数字输入,并且该函数应循环该次数。你重复这个过程,直到你满意为止。使用 Huzzah 创建一个名为 fizz_buzz.hz 的新文件。您可以在其中编写伪代码表示,无论您喜欢什么。这就是我个人的做法:fizz_buzz() 循环 100 modulo 3 ? “嘶嘶”5?两者都“嗡嗡”? “fizzuzz” 您保存文件,Huzzah 会自动从中生成真实代码。如果您需要进行编辑,只需更新您的文件: fizz_buzz(n) Loop n modulo 3 ? “嘶嘶”5?两者都“嗡嗡”? “fizzuzz” 当您保存文件时,Huzzah 会捕获差异并将其用作 LLM 的提示。受影响的源代码因此被重新生成。其他一些示例 为了让您更好地了解其他情况下的情况,这里有一些替代示例。 list cart list inventory mock_data = // 包含一些模拟数据 init() inventory.fill(mock_data) add_item(id) cart.add(item by id) remove_item(id) cart.filter(item by id) checkout() return cart.sum(item by Price) 并格式化为价格 2. Todo List Todo { id: int text: strcompleted: bool } add_todo(text) todos.add(text,completed) = false)toggle_todo(id) todo = todos.get by id todo.completed = NOT .completed remove_todo(id) todos.filter by id 好处 您应该已经能够看到一些好处了。请注意,伪代码比长格式提示简洁易读得多吗?以下是更多内容:以这种方式编写提示会吸引您的注意力,因为感觉更像是您在设计代码的形状。您可以根据自己的喜好简洁或冗长。伪代码充当开发人员文档,因为人类编写它是为了表达他们的意图。您可以编写与语言无关的伪代码并将其用作多种语言或环境目标的基础。考虑复杂的算法,例如 CRDT 。注意事项 当然,没有灵丹妙药。一些例外:这种方法完全有可能在规模上存在问题。对于新代码库来说,这显然比现有代码库更理想。如果您缺乏领域专业知识,自然语言可能是更简单的交互方法。有些事情可能更难以可靠地表达,例如跨文件依赖关系。 LSP 类型的功能将不可用(尽管这似乎可以生成)。当前状态 Huzzah 正在积极b
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱