Kotlin 创造者发布新语言:一种比英语更正式的 LLM 沟通方式

Kotlin 创造者发布新语言:一种比英语更正式的 LLM 沟通方式

Hacker News 摘要

原标题:Kotlin creator's new language: a formal way to talk to LLMs instead of English

核心概念与技术背景

CodeSpeak 是一种由 Kotlin 创造者开发的新一代编程语言,旨在通过 AI 驱动的方式重塑软件工程。它的核心理念是提供一种比英语更正式的表达方式来与大语言模型(LLM)沟通,从而将代码量缩减为原来的五分之一到十分之一。

该项目目前处于 Alpha 预览阶段。用户可以通过 uv tool install codespeak-cli 进行安装。

面向生产级系统

与许多仅用于快速原型的 AI 编程工具不同,CodeSpeak 专注于生产级系统和长期维护。它的受众包括:

• 构建复杂软件的工程师,而非仅仅依赖氛围和直觉的开发者。

• 需要注重沟通和协作的专业团队,而非仅仅是独立开发人员。

维护规范而非代码

在该框架下,开发者的工作重心从编写原始代码转向编写简洁的规范(Specs)。具体流程如下:

• 用户编写一个精简的 spec.md 文件。

• 运行 codespeak build 命令,系统会自动生成对应的 code.py 文件。

• 用户可以直接点击规范中的语句,查看其对应的具体代码实现。

当规范发生演变时,工具会执行差异化处理。规范文件的改动会直接映射为代码文件的改动。例如,在处理 EML 转换器的案例中:

• 用户在规范中新增关于附件处理的需求,比如调用 markitdown 实例转换附件流。

• 构建工具会自动识别规范的变化,并为 Python 代码生成对应的补丁。

解析与功能定义示例

以一个 EML 转 Markdown 的转换器为例,开发者只需在规范中定义以下要求:

接受类型:接受 .eml 扩展名或 message/rfc822 的 MIME 类型。

输出结构:包含标头部分(发件人、收件人、主题、日期等)、正文(优先使用纯文本,只有 HTML 时才转换)、附件部分。

解析细节:解码 RFC 2047 编码的标头,处理 Base64 或 Quoted-printable 的编码内容,递归处理嵌套消息,提取附件元数据。

混合项目与现有资产转化

CodeSpeak 支持混合开发模式,即在同一个项目中,部分代码由人工编写,另一部分由规范生成。这使得现有的复杂项目可以逐步迁移。

即将面世的功能还包括将现有的冗长代码转化为规范。由于规范通常比对应的代码小 5 到 10 倍,因此维护规范对于人类开发者而言更加轻松。

真实案例研究

通过对多个知名开源项目的代码进行重构,CodeSpeak 展示了其强大的代码压缩和功能保持能力:

1. yt-dlp 的 WebVTT 字幕支持

• 原代码行数:255 行。

• CodeSpeak 规范行数:38 行。

• 缩小倍数:6.7 倍。

• 测试表现:通过了所有既有测试,并新增了 37 个测试。

2. Faker 库的意大利身份证号生成器

• 原代码行数:165 行(不计入 8000 行左右的城市代码列表)。

• CodeSpeak 规范行数:21 行。

• 缩小倍数:7.9 倍。

• 测试表现:通过全部测试,并新增 13 个测试。

3. BeautifulSoup4 的编码自动检测与归一化

• 原代码行数:826 行。

• CodeSpeak 规范行数:141 行。

• 缩小倍数:5.9 倍。

• 测试表现:通过全部测试,并新增 25 个测试。

4. MarkItDown 的 EML 转换器

• 原代码行数:139 行。

• CodeSpeak 规范行数:14 行。

• 缩小倍数:9.9 倍。

• 测试表现:通过全部测试,并新增 27 个测试。

在计算代码行数对比时,该团队会剔除空白行,并将长行拆分为多行以保证对比的公平性。


原文:https://codespeak.dev/

评论:https://news.ycombinator.com/item?id=47350931

Report Page