juxt/allium

The specification language that talks back

解決的問題

Allium 解決了代理工程中的「意圖漂移」問題,即 LLM 在長時間會話或跨不同會話時會遺忘原始設計目標。它防止系統 應該做什麼(意圖)與 實際做什麼(實作)之間的混淆,確保錯誤或權宜之計的程式碼決策不會被誤認為是預期行為。

如何運作

Allium 引入了一種行為規格語言,允許使用者在程式碼旁維護一個 .allium 檔案。此檔案描述實體與規則(由觸發器、先決條件與結果組成),但不包含實作細節。

它透過一系列特定技能的循環運作:

  • /elicit:從關於意圖的對話中建構規格。
  • /distill:從現有程式碼中萃取規格。
  • /propagate:根據規格產生測試。
  • /tend:在需求變更時編輯規格。
  • /weed:調和規格與程式碼之間的分歧。

配套的 CLI 工具可驗證語法並執行結構檢查(如追蹤資料流、發現死胡同),提供 LLM 無法可靠產生的形式化驗證信號。

適用對象

專為使用代理式編碼工具(如 Claude Code、Cursor、Windsurf、Aider 或 GitHub Copilot)的開發者設計,希望以持久且形式化的方式捕捉系統需求,並驗證其實作是否符合其意圖。

亮點

  • 行為規格:聚焦於可觀測行為,而非實作細節。
  • 形式化驗證:使用 CLI 捕捉自然語言需求容易遺漏的設計缺口與矛盾。
  • 可移植技能:透過純 Markdown 技能在 40 多個 AI 編碼環境中通用。
  • 雙向工作流程:可從意圖到程式碼(規格優先)或從現有程式碼到正式規格(程式碼優先)雙向推進。

相關

  • Dispatch
  • Dispatch
  • 專案
  • 專案
  • 專案