Commit Graph

15 Commits

Author SHA1 Message Date
kswdev0
0a46e16e5b feat: JSON 배열 처리 및 오류 메시지 개선
- `_parse_json()` 메서드에서 최상위 JSON 배열을 허용하고, 이를 `actions` 리스트로 래핑하여 정상적인 파이프라인으로 이어지도록 개선
- JSON 파싱 실패 시 원인 파악을 돕기 위해 오류 메시지에 첫 비공백 문자를 포함
- 새로운 단위 테스트를 추가하여 JSON 객체 및 배열 파서의 회귀 방지
- README.md 및 문서에 변경 사항 반영
2026-03-26 10:57:25 +09:00
kswdev0
153f02f5e9 feat: 메모리 섹션 추가 및 상태 요약 개선
- `_append_memory_sections` 함수를 추가하여 압축 모드에서 기억된 광맥과 마지막 행동 정보를 상태 요약에 포함하도록 개선
- `main.py`에서 상태 요약 생성 시 메모리 섹션을 자동으로 추가하여 AI의 의사결정에 필요한 정보를 제공
- `README.md`에 새로운 메모리 기능 및 사용 방법에 대한 설명 추가
- `state_reader.py`에서 인벤토리 판독 로직을 개선하여 캐시 사용 조건을 명확히 하여 안정성 향상
2026-03-26 10:45:30 +09:00
kswdev0
3d118fe649 feat: mining_state 설정 최적화 및 GLM 예외 처리 개선
- `mine_resource` 함수에서 채굴 상태를 매 루프마다 반복 설정하던 로직을 제거하여, 우클릭 유지와 유사한 동작으로 최적화
- GLM API 호출 실패 시 예외 처리 로직을 개선하여, 다양한 오류 원인을 로그로 출력하고 상태 요약 기반의 폴백 로직 추가
- 새로운 연결 검사 스크립트 추가 및 README.md에 GLM API 연결 문제 디버깅 섹션 추가
- 관련 문서 및 주의사항 업데이트
2026-03-26 09:49:47 +09:00
21in7
abd388fc1e feat: 배치 엔티티 재사용 로직 개선 및 README 업데이트
- `place_entity` 함수에서 인벤토리 아이템 유무를 확인하기 전에 기존 엔티티를 탐색하여 재사용(`REUSED`) 처리하도록 로직 개선
- 요청 좌표 주변 `±1 타일` 및 반경 `3` 타일 내에서 기존 엔티티를 찾아 재사용할 수 있도록 확장
- `stone-furnace`의 재사용 시 자동 부트스트랩 기능이 정상 작동하도록 보장
- README.md에 변경 사항 및 새로운 동작 설명 추가
- `tests/test_place_entity_reuse.py`에 대한 단위 테스트 추가
2026-03-26 00:36:05 +09:00
21in7
9b3d26aa12 feat: 자동 부트스트랩 기능 추가 및 인벤토리 검사 개선
- `stone-furnace` 배치 후 자동으로 `coal`과 `iron-ore`/`copper-ore`를 투입하여 제련이 시작되도록 보정하는 기능 추가
- `insert_to_entity` 호출 전에 `can_insert` 여부를 확인하여 아이템 증발 위험을 줄이는 로직 개선
- `README.md`에 새로운 기능 설명 추가
- `tests/test_furnace_bootstrap.py` 및 `tests/test_insert_to_entity.py`에 대한 단위 테스트 추가
2026-03-26 00:00:54 +09:00
21in7
25eaa7f6cd feat: 추가된 메모리 기능으로 광맥 및 마지막 행동 저장
- 에이전트가 발견한 광맥 좌표를 `ore_patch_memory.json`에 저장하여 재시작 시 활용 가능
- 마지막 실행한 행동과 결과를 `agent_last_action_memory.json`에 저장하여 다음 상태 요약에서 참고 가능
- `state_reader.py`에서 메모리 로드 및 상태 요약에 포함
- `ai_planner.py`에서 시스템 프롬프트에 기억된 광맥 및 마지막 행동 관련 가이드 추가
- `README.md`에 새로운 메모리 기능 설명 추가
2026-03-25 23:34:25 +09:00
21in7
8c90e80582 feat: 인벤토리 캐시 및 JSON 인코더 추가
- 인벤토리 캐시 기능을 추가하여, RCON으로 인벤토리를 읽지 못할 경우 이전에 성공적으로 읽은 데이터를 활용
- Lua에서 JSON 인코딩을 위한 간단한 함수 추가, 일부 Factorio 버전에서 `game.table_to_json`이 없을 경우 대체
- `README.md`에 인벤토리 캐시 및 JSON 인코더 사용에 대한 설명 추가
- `scan_resources()`와 `mine_resource`의 반경을 확장하여 자원 탐색 실패를 줄임
2026-03-25 23:03:08 +09:00
21in7
e98d08bb44 fix: 개선된 인벤토리 판독 로직으로 안정성 향상
- 인벤토리 판독 시 `inv.get_contents()`를 우선 사용하여 일부 환경에서 발생할 수 있는 오류를 줄임
- 이전 방식인 인덱스 접근 방식은 호환성 문제를 해결하기 위한 폴백으로 유지
- README.md에 변경 사항 반영
2026-03-25 21:56:26 +09:00
21in7
37127f7f4f feat: explore 메서드에 wanted_ores 매개변수 추가 및 로직 개선
- explore 메서드에 wanted_ores 매개변수를 추가하여 특정 자원을 찾을 수 있도록 개선
- 원하는 자원이 발견될 때까지 계속 이동하며, 다른 자원이 발견되더라도 즉시 멈추지 않도록 로직 수정
- 시스템 프롬프트 및 README.md에 변경 사항 반영
2026-03-25 21:51:37 +09:00
21in7
7abdf8713a fix: mine_resource 채굴 로직 개선 및 JSON 파싱 안정성 향상
- 광석 위치로 이동 후 실제 자원 존재 여부를 재확인하여 실패한 타일을 제외하는 로직 추가
- JSON 파싱 시 중괄호 및 대괄호 균형을 추적하고, 잘린 응답 복구 로직을 개선하여 안정성 향상
- README.md에 변경 사항 및 기능 설명 추가
2026-03-25 21:37:15 +09:00
21in7
9a2185ca4b fix: 실패한 타일 제외 2026-03-25 21:24:13 +09:00
21in7
c99ca1e43c fix: 실패한 타일 제외 2026-03-25 21:20:20 +09:00
149e66e9c9 README 순수 플레이 모드 설명으로 전체 업데이트 2026-03-25 12:49:14 +09:00
7288976a99 Update README.md - 전체 문서 업데이트 2026-03-25 10:26:57 +09:00
6ce3e0c31f Initial commit 2026-03-25 00:04:59 +09:00