feat: enhance AIPlanner with compact system prompt and improved JSON parsing for input-only mode responses

This commit is contained in:
21in7
2026-03-27 20:10:44 +09:00
parent d054f9aee1
commit 8e743d12e7
3 changed files with 80 additions and 3 deletions

View File

@@ -33,6 +33,24 @@
---
## 2026-03-27 LM Studio `output.reasoning` 파싱/잘림 대응 계획
### 문제 요약
- `input-only` 재시도는 성공하지만, 응답이 `output[0].type=reasoning` + `content` 문자열로 돌아와 기존 파서가 텍스트를 추출하지 못함.
- 또한 서버 컨텍스트(4096)에서 장문 추론으로 출력 토큰이 소진되어 JSON 본문이 잘리는 케이스가 발생.
### 구현 계획
1. `ai_planner.py`의 input-only payload는 긴 시스템 프롬프트 대신 압축 프롬프트를 사용해 토큰 사용량을 줄인다.
2. 응답 파서를 `output[].content`가 문자열인 경우까지 지원한다.
3. 텍스트에 JSON이 섞여 있을 때 `{...}` 구간을 복구 파싱하는 보조 로직을 추가한다.
4. README에 LM Studio input-only 모드와 파싱/폴백 동작을 명시한다.
### 검증 계획
- `python -m py_compile ai_planner.py`
- 실제 실행 로그에서 `응답에서 텍스트 콘텐츠를 찾지 못했습니다`가 사라지는지 확인
---
## 채굴 시 mining_state 반복 설정 제거 (우클릭 유지)
### 문제