# Martin Fowler 博客：用领域特定语言给大模型套上缰绳，让代码生成更靠谱

> 原标题：DSLs Enable Reliable Use of LLMs

- 来源：Hacker News 首页
- 发布时间：2026-07-15T10:11:11.000Z
- AX AI 日报：https://ai-daily.ax0x.ai/items/44470
- 原文：https://martinfowler.com/articles/llm-and-dsls.html

## 摘要

Unmesh Joshi 在 Martin Fowler 的博客里说，靠一份详细需求文档就让大模型一把梭出整个系统不现实——需求只是假设，真正的设计是在实现过程中一点点摸出来的。他提出用领域特定语言（DSL，也就是为特定业务定制的“小语言”）和领域抽象给大模型画好边界，这样模型生成的代码才不会跑偏。文章举了 Tickloom 的例子：这是一个给分布式系...

## 推荐理由

一篇扎实的工程实践文章，发在 Martin Fowler 的博客上，用 DSL 给大模型代码生成画边界，有具体例子支撑。没给更高分是因为它属于观点/模式文章，不是产品发布或模型发布，受众更偏后端架构师。

## 锐评

Unmesh Joshi 在 Martin Fowler 博客上发了一篇很实在的文章，核心就一句话：别指望扔一份详细需求文档给大模型，它就能吐出整个系统。需求只是假设，真正的设计是在实现过程中一点点摸出来的。他提出的解法是用领域特定语言（DSL，也就是为特定业务定制的“小语言”）和领域抽象给大模型画好边界，让模型生成的代码不跑偏。

文章举了 Tickloom 的例子，这是一个给分布式系统建模的领域模型，大模型先帮着迭代构建 DSL，再充当自然语言接口去用这个 DSL。逻辑上说得通：DSL 成了系统的唯一真相来源，模型只是在这个框里干活。但正文没披露这套方法在真实生产环境里的效果数据，比如 DSL 维护成本多高、模型生成代码的一次通过率是多少。例子偏演示性质，离工程落地还有距离。

对 AI 从业者来说，这篇文章的价值在于把“用 DSL 约束大模型”这个思路讲透了，比单纯优化提示词更结构化。但缺的是：当 DSL 本身需要演进时，怎么让模型跟着一起改而不引入新错误？这点正文没展开，先别太激动。
