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
- 專案
- 專案
- 專案