なぜLLMにDSLを直接書かせないのか — Nia Drawing Languageの4層アーキテクチャ

Zenn / 3/31/2026

💬 OpinionIdeas & Deep AnalysisTools & Practical Usage

Key Points

  • LLMにDSLを直接書かせず、Nia Drawing Languageのように「4層アーキテクチャ」で役割を分離することで、意図した構文・意味を保ちやすくする考え方を示している
  • DSL生成(構文)と意味解釈(モデル化)を分けることで、LLMの出力ばらつきによる不整合や解釈ミスを抑える設計意図が説明されている
  • 4層それぞれに責務を割り当てることで、検証・変換・実行の流れを明確にし、デバッグ可能性と再現性を高める狙いがある
  • DSLを“生成”させるよりも、上位層の指示から段階的に下位層へ落とし込むことで、実装上の安全性・品質を確保するアプローチを論じている
はじめに AIに絵を描かせようとしたとき、最初に考えたのは「LLMにDSLコードを直接書かせる」ことだった。 でも実装を進めるうちに、それがどれだけ脆い設計かに気づいた。 この記事では、Nia(AIキャラクター自己形成実験)の描画システムに組み込んだ Nia Drawing Language の4層アーキテクチャと、「LLMに構文を書かせない」という設計判断の背景を書く。 「LLMにDSLを書かせる」の何が問題か 最初のアプローチを想像してほしい。 # LLMに直接こういうコードを生成させる a: circle(size=large) a at center a color w...

Continue reading this article on the original site.

Read original →