工程開發
glyphbox avatar

glyphbox

一個基於 LLM 的 NetHack 代理框架,透過在安全沙盒中動態合成 Python 程式碼,利用高階 API 執行複雜的地牢探索與遊戲操作。

簡介

Glyphbox 為大型語言模型 (LLM) 提供了一個安全且受限的沙盒環境,使其能透過 NetHack 學習環境 (NLE) 與 NetHack 3.6.7 模擬器進行互動。藉由公開高階 Python API,系統允許 LLM 透過程式碼合成來進行遊戲狀態推理、庫存管理、路徑搜尋與戰鬥策略執行。該框架專為強化學習與代理行為的 AI 研究而設計,有效地彌合了原始 ASCII 螢幕輸入與高階行為規劃之間的差距。使用者可以部署此代理來導航複雜的地牢佈局、處理多樣化的戰鬥遭遇並優化資源管理,同時維持安全的執行邊界以防止未經授權的系統存取。

  • 支援 LLM 發出基於 Python 的工具呼叫,以實現與 NetHackAPI 的即時遊戲互動。

  • 實作了強化後的執行沙盒,具備嚴格的 AST 驗證與禁止呼叫過濾功能,確保程式碼評估的安全性。

  • 提供模組化的技能系統,用於將探索、近戰與資源消耗等可重複使用的行為定義為非同步 Python 函數。

  • 與 OpenAI 和 Anthropic 等現代 LLM 提供者整合,支援在隨機環境中進行複雜的決策與策略規劃。

  • 提供診斷工具,例如 TUI 視覺化、透過 asciinema 進行的會話錄製,以及用於效能評估與除錯的日誌分析指令碼。

  • 系統需要為所選 LLM 提供者設定 API 金鑰,並透過 uv 安裝標準 Python 科學依賴套件。

  • 輸入包括原始 24x80 ASCII 螢幕畫面、訊息緩衝區與內部遊戲統計資訊,代理程式會處理這些資訊以輸出可執行的 Python 程式碼。

  • 開發者可遵循 SKILL.md 中的範本定義新的代理技能,並確保其傳回包含停止原因與成功指標的特定 SkillResult 物件。

  • 效能高度依賴於模型對狀態 API 呼叫的推理能力;建議使用具備強大程式碼生成能力的模型,如 Claude 3 或 GPT-4。

  • 執行迴圈受嚴格的訊號逾時限制,且禁止所有匯入行為,要求代理程式依賴提供的全域變數,如 Direction、Position 與 NetHackAPI 實例。

倉庫統計

Star 數
8
Fork 數
1
Open Issue 數
0
主要語言
Python
預設分支
main
同步狀態
閒置
最近同步時間
2026年5月4日 上午01:46
在 GitHub 查看