▲ 749 · 209 comments on source · Hacker News · noddybear · 1 year ago
Show HN: Factorio Learning Environment – 에이전트가 공장을 건설하다
저는 Jack입니다. 최근 제 Factorio 중독을 집중시킨 프로젝트를 공유하게 되어 기쁩니다: Factorio Learning Environment (FLE)입니다. FLE는 Factorio에서 LLM 에이전트를 개발하고 평가하기 위한 오픈소스 프레임워크입니다. AI 모델이 의미 있는 제약이 있는 현실 기반 세계에서 복잡한 자동화, 자원 관리, 최적화 작업을 시도할 수 있는 통제된 환경을 제공합니다. 벤치마크로서 Factorio의 중요한 장점은 그 무한한 특성입니다. 최신 모델들에 의해 빠르게 포화되는 많은 평가와 달리, Factorio의 기하급수적 복잡성 확장은 향후 6개월(어쩌면 수년) 안에 "해결"되지 않을 것임을 의미합니다. 이를 통해 모델이 생산할 수 있는 자원의 규모(order-of-magnitude)로 모델을 의미 있게 비교할 수 있어, 수명이 긴 벤치마크를 만들 수 있습니다. 이 프로젝트는 수년간 Factorio를 플레이한 후 AI 연구 테스트베드로서의 잠재력을 인식하면서 18개월 전에 시작되었습니다. 몇 달 전, 우리 팀(저, Akbir, Mart)은 공간 추론과 장기 계획에서 에이전트 능력을 테스트하는 벤치마크를 만들기 위해 모였습니다. 두 가지 기술 혁신이 이 프로젝트를 앞으로 나아가게 했습니다: 첫째, TCP를 통해 Factorio 콘솔에 Lua를 파이핑하면 게임을 직접 모딩하지 않고도 (거의) 임의의 코드를 실행할 수 있다는 것을 발견했습니다. 둘째, 우리는 이러한 Lua 프로그램을 감싸서 AI 에이전트가 익숙한 프로그래밍 패러다임을 통해 Factorio와 상호작용할 수 있도록 깔끔하고 타입 힌트가 있는 인터페이스를 제공하는 일급 Python API를 개발했습니다. 에이전트는 REPL 패턴을 통해 FLE와 상호작용합니다:
1. 세계를 관찰합니다 (마지막 행동의 출력을 봄)
2. 다음 행동을 수행할 Python 코드를 생성합니다
3. 상세한 피드백을 받습니다 (예외 및 stdout 포함) 우리는 두 가지 주요 평가 설정을 제공합니다:
- Lab-play: 고정된 자원으로 구성된 24개의 구조화된 작업
- Open-play: 절차적으로 생성된 맵에서 가능한 한 가장 큰 공장을 건설하는 무한한 작업 우리는 LLM이 유망한 단기 기술을 보여주지만, 제약된 환경에서의 공간 추론에 어려움을 겪는다는 것을 발견했습니다. 그들은 기본적인 자동화 전략(예: 전력 구동 드릴)을 발견할 수 있지만, 더 복잡한 자동화(예: 전자 회로 제조)를 달성하는 데는 실패합니다. Claude Sonnet 3.5가 현재 (상당한 차이로) 최고의 모델입니다. 코드는 https://github.com/JackHopkins/factorio-learning-environment 에서 확인할 수 있습니다. 필요한 것:
- Factorio (버전 1.1.110)
- Docker
- Python 3.10+ README에는 자세한 설치 지침과 다양한 LLM 에이전트로 평가를 실행하는 방법의 예시가 포함되어 있습니다. 여러분의 생각을 듣고 다른 사람들이 이 프레임워크로 무엇을 할 수 있는지 보고 싶습니다!
원문 게시글에서 발췌한 번역본입니다. 전문과 원문 댓글은 아래 링크에서 확인하세요.
Discussion on runchr
Loading comments…
to comment.