BesiegeField — Besiege向けLLM駆動機械設計フレームワーク
概要
BesiegeFieldは、Besiegeという物理ベースの構築ゲーム上で「構成的(compositional)機械」を設計・評価するためのLLM駆動フレームワークです。ユーザーは大規模言語モデルを設計エージェントとして用い、部品やサブモジュールの組み合わせを自然言語や構造化表現で生成します。生成した設計はBesiege環境でシミュレーションされ、性能指標に基づき評価・改良が行われます。研究論文(Agentic Design of Compositional Machines)に基づく実験パイプラインや学習後処理(PostTraining)用のコード、エージェント実装サンプルを含み、LLMを用いた設計自動化や反復最適化のプロトタイプ実装を提供します。
リポジトリの統計情報
- スター数: 9
- フォーク数: 0
- ウォッチャー数: 9
- コミット数: 3
- ファイル数: 11
- メインの言語: Python
主な特徴
- LLM(エージェント)による機械設計の生成と反復評価パイプラインを実装
- Besiege物理シミュレーションとの連携による実挙動評価とメトリクス収集
- 設計の合成(compositional)を扱うモジュール化された表現とデバッグ用アセット
- 論文・ウェブサイトへのリンクを備えた研究向けのプロトタイプ実装
技術的なポイント
本プロジェクトの中心は「言語的エージェントが設計空間を探索し、シミュレーション結果をフィードバックして設計を改善する」ワークフローです。技術的には以下の点が注目できます。
まず設計表現については、Besiegeの部品(ブロック、ヒンジ、モーター等)を抽象化した合成可能な表現を採用し、サブモジュール単位で入出力を持たせることで再利用性を高めています。これによりLLMは自然言語指示やテンプレートを用いて部品を組み合わせ、階層的に複雑な機構を生成できます。
次にエージェント実装(AgenticCodesディレクトリ)では、LLMを「思考+行動」を行うエージェントとして扱い、設計生成→シミュレーション→評価→改善というループを自動化します。シミュレーションとのインターフェースはAPIラッパーで抽象化され、評価メトリクス(移動距離、破壊耐性、目標到達率など)を収集してスコアリングを行い、LLMへの追加コンテキスト(成功例・失敗例・スカラー報酬)として返します。
学習後処理(PostTraining)用のモジュールは、生成されたデザインデータを用いた微調整や、模倣学習的なデータ拡張、あるいは報酬を用いた評価重みの調整を想定しています。これにより、静的なプロンプトよりも環境固有の知識をLLMに注入し、反復的に性能を向上させることが可能です。
実験パイプラインはPython中心で記述されており、再現性のためのログ取得・アセット管理・チェックポイント保存機能を備えます。一方でリポジトリ全体はプロトタイプ段階であり、コミット数やドキュメントは限られるため、実運用には環境依存の設定や詳細なセットアップが必要です。論文「Agentic Design of Compositional Machines」に基づく理論的背景と実装の橋渡しがされているのが本リポジトリの強みで、研究者や実験者がアイデアを試すための土台として有用です。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- AgenticCodes: dir
- LICENSE: file
- PostTraining: dir
- README.md: file
…他 6 ファイル
まとめ
Besiege上でLLMを用いた機械設計を試せる研究向けプロトタイプ。拡張性は高いが実用化には設定と追実装が必要。
リポジトリ情報:
- 名前: BesiegeField
- 説明: 説明なし
- スター数: 9
- 言語: Python
- URL: https://github.com/Godheritage/BesiegeField
- オーナー: Godheritage
- アバター: https://avatars.githubusercontent.com/u/56418320?v=4
READMEの抜粋:
A Framework for LLM-Driven Machine Design in Besiege