astrio-labs/forall
Forall (∀) is a coding agent from Astrio that helps developers build correct software by generating spec-driven code alongside machine-checkable proofs.
解決的問題
Forall 解決了軟體審查與驗證的瓶頸問題。雖然測試與型別系統提供一定程度的保障,但無法證明程式碼確實執行了其預期功能。Forall 利用語言模型降低形式化驗證的門檻,自動化撰寫規格、合約與不變量等繁瑣過程,這些是驗證器確保程式碼正確性所必需的。
工作原理
Forall 將 AI 結合至軟體開發生命週期中,產生正確性的證據。它為每個需求提供四個層級的證據:
- 規格追蹤:需求與程式碼相關聯。
- 性質測試:產生器對大量輸入進行檢查以尋找反例(統計證據)。
- 契約化:為程式碼撰寫了可被機器驗證的契約。
- 已證明:形式化證明器確認契約的義務已滿足。
適用對象
專為開發關鍵任務或受監管軟體(如遵循 IEC 62304 或 DO-178C 標準)的開發者設計,這些場景要求具備可追蹤性與形式化正確性證據。
主要亮點
- 雙介面支援:提供完整的編碼代理 CLI,也可作為 MCP(Model Context Protocol)伺服器,供 Cursor 或 Claude Code 等客戶端使用。
- 多語言支援:支援 TypeScript、Python、Rust、Java 與 C,各語言的驗證能力有所不同。
- 靈活的模型整合:支援託管模型或 BYOK(Bring-Your-Own-Key)方式接入 OpenAI、Anthropic、Google Gemini、Azure 與 Amazon Bedrock。
- 基於證據的評分:根據機器生成的最強證據對需求進行評分,而非單純的通過/失敗標記。
相關
- 專案
- Dispatch
- 專案
- 專案
- 專案