Qwen AgentWorld가 추론 과정에서 스스로를 교정할 수 있는 방법
요약
Qwen AgentWorld를 활용하여 모델이 자신의 응답을 예측하고 오류를 스스로 교정하는 추론 기법을 소개합니다. 시스템 프롬프트를 통해 모델이 초기 답변의 논리적 허점을 분석하고 최종 응답을 도출함으로써 추론 능력을 개선하는 과정을 보여줍니다.
핵심 포인트
- 자신의 응답을 예측하고 오류를 분석하는 시스템 프롬프트 활용
- 월드 모델(World Model) 학습이 추론 개선에 미치는 영향 확인
- 세차장 테스트를 통한 모델의 논리적 오류 교정 과정 입증
월드 모델 (World Model) 학습이 이에 어떤 영향을 미치는지 확인하기 위해 이것을 가지고 이것저것 시도해 보기로 했습니다. 추론을 대폭 개선하는 시스템 프롬프트 (System Prompt)를 발견했습니다: 자신의 응답을 예측한 다음, 그 예측에서 오류가 있는지 분석하십시오. 그 분석을 사용하여 최종 응답을 작성하십시오. 최종 응답으로만 답변하고, 생각을 반복하지 마십시오. 대부분의 경우 35b-a3b 모델이 실패하는 고전적인 세차장 테스트 (Car Wash Test)를 시도해 보았습니다. 여기 그 추론 과정 (Trace)이 있는데, 꽤 멋지다고 생각했습니다.
세차장은 우리 집에서 100m 떨어져 있습니다. 걸어가야 할까요, 아니면 운전해야 할까요?
추론 과정 (Thinking Process):
요청 분석: 사용자의 질문: "세차장은 우리 집에서 100m 떨어져 있습니다. 걸어가야 할까요, 아니면 운전해야 할까요?"
제약 조건 1: 자신의 응답을 예측한 다음, 그 예측에서 오류가 있는지 분석하십시오.
제약 조건 2: 그 분석을 사용하여 최종 응답을 작성하십시오.
제약 조건 3: 최종 응답으로만 답변하고, 생각을 반복하지 마십시오.
자신의 응답 예측 (초기 사고 과정):
초기 예측: 세차장이 불과 100미터 떨어져 있으므로, 차를 운전하는 것보다 걷는 것이 훨씬 더 효율적이고 실용적이라고 말할 것 같습니다. 그렇게 짧은 거리를 운전하는 것은 불편하고, 주차 공간을 찾는 데 시간을 낭비하게 되며, 걷는 데 몇 분밖에 걸리지 않으므로 불필요합니다.
초기 응답 초안 작성 (정신적 또는 메모장):
"확실히 걸어가야 합니다. 100미터는 걷는 데 약 1~2분 정도밖에 걸리지 않습니다. 그렇게 짧은 거리를 운전하는 것은 차를 시동 걸고, 집 앞마당이나 도로로 나가야 하며, 세차장에서 주차 공간을 찾아야 하므로 그냥 걷는 것보다 훨씬 더 오래 걸릴 것이기 때문에 불편할 것입니다."
예측 오류 분석:
"걷는다"라고 말하는 것에 오류가 있는가? 네, 잠깐만요. 목적지는 세차장입니다. 만약 세차장까지 걸어간다면, 어떻게 차를 세차할 수 있나요? 세차장에는 차가 있어야 합니다. 따라서 세차장이 집에서 100m 떨어져 있다면, 반드시 차를 운전해서 (또는 다른 사람이 운전해서) 세차장으로 가야 합니다. 아니면 차를 끌고 걸어가야 하나요? 아니요, 차를 운전해서 세차장으로 가야 합니다. 잠깐, 차가 집에 있나요?
네, "세차장은 우리 집에서 100m 떨어져 있습니다." 따라서 사용자의 차는 집에 있습니다. 차를 세차하려면 차를 운전해서 세차장으로 가야 합니다. 차를 걸어서 가져갈 수는 없습니다 (트레일러에 실려 있거나 밀고 가는 경우가 아니라면, 이는 일반적이지 않습니다). 잠깐, 사용자가 차 키를 맡기거나 안으로 들어가기 위해 세차장까지 걸어가야 하는지, 아니면 차를 운전해서 가야 하는지를 묻는 것일까요? 아니면 질문 자체가 함정인가요? "걸어가야 하나요, 아니면 운전해야 하나요?" 만약 세차장이 집에서 100m 거리에 있고, 차를 세차해야 한다면, 차를 운전해야 합니다. 다른 일을 하기 위해 보행자로 가는 것이 아니라면, 차를 집에 두고 세차장까지 걸어가는 것은 말이 되지 않습니다. 하지만 문맥상 차를 세차하는 상황을 암시하고 있습니다. 따라서 반드시 차를 운전해야 합니다. 잠깐, 차를 걸어서 가져가는 것이 가능한가요? 아니요. 따라서 정답은 다음과 같아야 합니다: 세차장이기 때문에 차를 운전해서 세차장으로 가야 합니다. 세차를 하려면 차량이 그곳에 있어야 하기 때문입니다. 차를 세차하고 싶다면 걸어가는 것은 선택지가 될 수 없습니다. 다른 사람이 운전하는 동안 옆에서 같이 걷는 경우가 아니라면, 일반적으로는 차를 운전합니다. 주의 깊게 다시 읽어봅시다: "세차장은 우리 집에서 100m 떨어져 있습니다. 걸어가야 하나요, 아니면 운전해야 하나요?" 목적지가 세차장이라면, 목적은 차를 세차하는 것입니다. 그러므로 반드시 차를 운전해서 세차장으로 가야 합니다. 세차장까지 차를 "걸어서" 가져갈 수는 없습니다. 따라서 정답은 다음과 같습니다: 세차를 해야 하고 차량이 세척을 위해 그곳에 있어야 하므로, 운전해서 가야 합니다. 걸어간다면 차는 세차되지 않은 채 집에 남겨지게 될 것입니다. 분석 정교화: 초기 예측의 오류: 초기 예측은 목적지가 세차장이라는 사실(차량을 세차하는 것이 목적임을 암시함)을 무시하고, 사용자가 개인적인 용무나 방문을 위해 보행자로서 해당 장소로 이동하는 것에 대해 묻고 있다고 가정했습니다. 따라서 사용자는 반드시 차를 운전해서 세차장으로 가야 합니다. 차를 세차하는 것이 목표라면 걷는 것은 실행 가능한 옵션이 아닙니다.
최종 응답 작성: 최종 응답은 오직 최종 응답만 포함해야 하며, 반복된 생각이나 출력 내의 예측/분석 텍스트가 있어서는 안 됩니다. 오직 최종 답변만 제공하세요. 최종 답변 구성: "차를 운전해서 세차장으로 가야 합니다. 목적지가 세차장이므로, 차를 세척하기 위해서는 차량이 그곳에 있어야 하며, 따라서 차를 세차하는 것이 목표라면 걷는 것은 선택지가 아닙니다." 제약 조건 재확인: "자신의 응답을 예측한 다음, 예측된 내용에 오류가 있는지 분석하십시오. 분석 내용을 사용하여 최종 응답을 작성하십시오." -> 사고 과정(thought process)에서 완료됨. "오직 최종 응답으로만 응답하고, 생각을 반복하지 마십시오." -> 출력에 "예측(Prediction):", "분석(Analysis):" 등과 같은 메타 텍스트 없이 오직 최종 응답만 포함되도록 보장하십시오. 응답의 최종 다듬기: "차를 운전해서 세차장으로 가야 합니다. 목적지가 세차장이므로, 차를 세척하기 위해 차량이 그곳에 있어야 하며, 차를 세차하는 것이 목표라면 걷는 것은 비현실적인 선택입니다." (간결하고 직접적으로 유지). "걸어야 할까요, 운전해야 할까요?"라는 질문에 직접적으로 답하는지 확인합시다. -> "차를 운전해서 세차장으로 가야 합니다..." 잠깐, 사용자가 이미 차 안에 있을 가능성이 있을까요? "세차장이 집에서 100m 떨어져 있습니다. 걸어가야 할까요, 운전해야 할까요?" 만약 그들이 집에 있다면, 차도 집에 있을 것입니다. 차를 세차하려면 차를 운전해야 합니다. 따라서: "차를 운전해서 세차장으로 가야 합니다. 목적지가 세차장이므로, 차를 세척하기 위해서는 차량이 그곳에 있어야 합니다. 걷게 되면 차는 집에 남겨지게 됩니다." 자연스러운지 확인합시다: "차를 운전해서 세차장으로 가야 합니다. 세차장을 방문하는 목적은 차량을 세척하는 것이므로, 반드시 차를 운전해서 가야 합니다. 차를 세차하고 싶다면 걷는 것은 선택지가 아닙니다." 더 다듬어 봅시다: "차를 운전해서 세차장으로 가야 합니다.
목적지가 세차장이고 목표가 차량을 깨끗하게 하는 것이므로, 차를 그곳으로 운반해야 하며, 따라서 운전하는 것이 유일한 실용적인 선택지입니다.
하지만 만약 다른 사람이 운전해 주는 동안 세차장까지 걸어갈지 묻는 것일까요? 아니면 100m를 걸을지 말지, 혹은 100m를 운전할지를 묻는 것일까요? 하지만 '차를 걸어간다'는 것은 불가능합니다. 만약 그들이 세차장까지의 개인적인 이동(예: 열쇠를 맡기러 가는 경우)에 대해 묻고 있지만, 일반적으로 차량을 세차장으로 운전해서 가져가야 합니다. 따라서 운전하는 것이 유일하게 논리적인 답변입니다.
응답은 다음과 같아야 합니다: '세차장까지 차를 운전해야 합니다. 세차장에 가는 목적이 차량을 깨끗하게 하는 것이므로, 차를 그곳으로 운반해야 하며, 세차하고 싶다면 걷는 것은 선택지가 아닙니다.'
'세차장을 방문하는 목적은 차량을 청소하는 것이므로, 차를 그곳으로 옮겨야 하며, 따라서 운전하는 것이 유일한 실용적인 선택지입니다.'
[Qwen AgentWorld]는 자신이 저지를 실수(오류)를 성공적으로 예측하고 수정했습니다. 비교하자면, 동일한 시스템 프롬프트로 일반 qwen3.6 35b-a3b가 출력을 예측했지만, 논리적 오류를 파악하지 못하고 다음과 같이 응답했습니다: '걸어가야 합니다. 100미터(약 330피트)는 걸어서 약 60~90초가 걸리는 반면, 운전은 차 시동을 걸고, 진입로나 거리를 빠져나가거나, 주차하고, 다시 안으로 들어오는 불필요한 시간을 추가합니다. 또한 걷기는 비용이 들지 않고, 환경 친화적이며, 매우 가까운 곳에 주차 공간을 찾는 번거로움을 피할 수 있습니다. 극심한 날씨를 다루거나, 무거운 장비를 운반하거나 여러 짐을 옮기거나, 걸어 다니는 것이 비실용적인 이동성 제한이 있는 경우에만 운전하세요. 그렇지 않다면, 걷기가 명확하게 더 빠르고 효율적인 선택지입니다.'
제출자: /u/techlos [링크] [댓글]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기