feat: 메모리 섹션 추가 및 상태 요약 개선

- `_append_memory_sections` 함수를 추가하여 압축 모드에서 기억된 광맥과 마지막 행동 정보를 상태 요약에 포함하도록 개선
- `main.py`에서 상태 요약 생성 시 메모리 섹션을 자동으로 추가하여 AI의 의사결정에 필요한 정보를 제공
- `README.md`에 새로운 메모리 기능 및 사용 방법에 대한 설명 추가
- `state_reader.py`에서 인벤토리 판독 로직을 개선하여 캐시 사용 조건을 명확히 하여 안정성 향상
This commit is contained in:
kswdev0
2026-03-26 10:45:30 +09:00
parent 3d118fe649
commit 153f02f5e9
4 changed files with 103 additions and 13 deletions

View File

@@ -117,9 +117,10 @@
- 파이썬 에이전트만 종료/재실행할 때 `RCON`으로 인벤토리를 읽지 못하거나(`{}` 반환) 빈 값이 나오면,
직전에 성공적으로 읽은 인벤토리를 기억해서 프롬프트에 반영한다.
### 정책(사용자 선택: 1번 fallback only)
- `get_inventory()`가 성공적으로 읽어서 값이 비어있지 않으면 캐시를 갱신한다.
- `get_inventory()` 결과가 빈 딕셔너리이면(실패/빈 값) 캐시 파일을 로드해서 대체한다.
### 정책(캐시 fallback 조건 변경)
- `get_inventory()`에서 **JSON 파싱/출력 추출이 성공(parsed_ok=True)** 했으면, 결과가 `{}`라도 캐시로 덮지 않는다.
- 캐시를 덮어쓰면 실제 진행이 반영되지 않아 같은 행동을 반복하는 루프가 생길 수 있다.
- `get_inventory()`에서 **파싱이 실패(parsed_ok=False)** 하거나 예외가 발생한 경우에만 `inventory_memory.json` 캐시를 로드한다.
### 구현 범위
- `state_reader.py`