보고, 판단하고, 의심하는 향상된 Thinking 모드
· 약 8분
보고, 판단하고, 의심하는 향상된 Thinking 모드
작은 VLM에게 "알아서 깊게 생각해"라고 요청하는 것만으로는 일관된 판단을 기대하기 어렵습니다. 모델은 하나의 호출 안에서 여러 문제를 동시에 해결하려 하고, 애매한 증거를 오래 되짚다가 결론을 내리지 못할 수도 있습니다.
이번 향상된 Thinking 모드에서는 모델의 내부 추론에 모든 판단을 맡기는 대신, 사고의 흐름 자체를 역할과 구조로 설계했습니다. 기준을 먼저 세우고, 볼 영역을 고정한 뒤, 서로 다른 관점에서 판단하고, 마지막 결정은 코드가 담당하도록 파이프라인을 재구성했습니다.
핵심은 생각을 더 많이 시키는 것이 아니라, 보고, 판단하고, 의심해야 할 순서를 명확하게 만드는 것입니다.
1. 기존 Thinking 구조의 문제
기존 개발 버전은 incidents 블록에 포함된 여러 위험 상황을 한 번의 VLM 호출에서 동시에 판정했습니다.
구조는 단순하지만, 한 번의 호출에 서로 다른 문제를 모두 맡긴다는 점에서 두 가지 문제가 발생했습니다.
1) 한 번에 여러 문제를 동시에 판단
호출 한 번이 fall, smoke, fire를 동시에 판정합니다. 어떤 항목은 쉽게 판단할 수 있어도, 하나의 애매한 항목이 전체 Reasoning Budget을 차지할 수 있습니다.
2) 생각의 범위를 제한하기 어려움
Reasoning은 모델 내부에서 일어나는 블랙박스 과정입니다. 애플리케이션이 조절할 수 있는 값은 사실상 Budget 숫자 하나뿐이고, 모델이 어떤 기준으로 무엇을 반복해서 검토하는지는 통제하기 어렵습니다.
| 구분 | 기존 구조 |
|---|---|
| 대상 | 고정된 3종: fall / smoke / fire |
| 판정 기준 | 코드에 하드코딩 |
| 판단 근거 | 남지 않음. 최종 bool만 반환 |
| 실패 시 | 조용히 모든 결과가 False가 될 수 있음 |

