Repository navigation
대화형 세션의 턴 예산을 24로 늘리고 멈춘 이유를 보이게 했다 - #98
Merged
Merged
Conversation
실사용 시나리오에서 "기능 수정 + 테스트 추가 + 테스트 실행" 요청이 최종 응답 없이 `paused: quiescent`로 끝났다. REPL이 `max_model_turns`를 주지 않아 bare 작업공간 예산(턴 8)을 썼고, 모델이 한 턴에 한 단계씩 8단계(목록·읽기·수정·테스트·npm install)를 쓰고 나니 완료 응답 턴이 남지 않았다. 이유는 화면에 없었고 /resume 도 manifest 에 기록된 예산을 그대로 써서 즉시 같은 상태로 끝났으며, 새 요청은 active_run_paused 로 막혀 /clear 밖에 길이 없었다. - REPL 기본 턴 예산을 24로 올렸다. 프로젝트 eval 이 Node.js·Python 작업에 이미 쓰던 값이다. `xgen --max-model-turns N` 으로 바꿀 수 있다. - foreground tick 상한은 턴당 10으로 맞추고 MAX_TICKS(1024)에서 자른다. 32로 두면 큰 예산이 tick 에서 먼저 끊긴다. - PauseReason::Quiescent 가 AgentLoopQuiescence 를 담는다. 기계용 `XGEN_PAUSED reason=quiescent` 출력은 그대로 두고, REPL 은 `paused: quiescent (model_turn_budget_exhausted)` 처럼 이유를 함께 보여 준다. - 예산·컨텍스트 소진은 재개로 풀리지 않으므로 REPL 이 Run 을 떼어 내고 다음 요청을 바로 받는다. 다음 요청이 이전 단계를 모른다는 점도 안내한다. 의존성 대기 등 다른 quiescence 는 기존처럼 붙어 있다. - tick 소진 pause 에는 /resume 으로 이어진다는 안내를 붙였다. 검증 - cargo test -p xgen-cli 198개 통과(REPL 테스트 3개 추가), clippy 경고 0 - 같은 JS 저장소·같은 요청 재실행: 9단계 후 최종 응답, 38초. 결과물은 ava 4 passed, xo 통과로 직접 재확인 - `--max-model-turns 3` 으로 강제 소진: 이유와 안내가 보이고, /clear 없이 다음 요청이 시작됐다 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
문제
실사용 시나리오에서 "기능 수정 + 테스트 추가 + 테스트 실행" 요청이 최종 응답 없이
paused: quiescent로 끝났다.max_model_turns: None으로 Run을 시작해서 bare 작업공간 예산(턴 8)을 쓴다.npm install. 여기서 예산이 끝나 완료 응답을 쓸 턴이 남지 않았다./resume은 manifest에 기록된 예산을 그대로 써서 바로 같은 상태로 끝났고, 새 요청은active_run_paused로 막혀/clear말고는 방법이 없었다.변경
xgen --max-model-turns N으로 바꿀 수 있다.MAX_TICKS(1024)를 넘지 않게 했다.PauseReason::Quiescent가AgentLoopQuiescence를 담는다. 기계용 출력XGEN_PAUSED reason=quiescent는 바꾸지 않았다.paused: quiescent (model_turn_budget_exhausted)처럼 이유를 같이 보여 준다.검증
cargo test -p xgen-cli198개 통과(새 REPL 테스트 3개 포함), clippy 경고 0--max-model-turns 3으로 예산을 일부러 소진시켰다. 이유와 안내가 보였고,/clear없이 다음 요청이 시작됐다.이번 범위 밖 (따로 처리)
read-text한도(64 KiB)를 넘었는데, 나눠 읽는 방법이 없어서 읽기 한 번 실패로 goal 전체가failed_work로 끝났다.🤖 Generated with Claude Code