원래 LLM 비결정론을 크게 2가지로 나누는데
샘플링 비결정론 -같은 컨텍스트 내에서 출력이 흔들림
컨텍스트 비결정론 - 같은 의도라도 컨텍스트가 미묘하게다름
1번은 같은 프롬프트 넣어도 완전히 같은 답변이 안나오는 이유고
2번은 컨텍스트 크기에 따라 다름. 보통 2번을 제어하는 걸 하네스 엔지니어링한다 함
보통 여기에서 하네스를 어떻게 만드느냐에 차이가 있는데
일단 클로드 자체가 컨텍스트 윈도우가 남들보다 작음. 그렇다보니 코드베이스 탐색하면서 지피티보다 빠르게 컨텍스트가 차고, 어느시점에서 압축/요약하면서 정보 손실이 일어나서 이때 일부 미묘한 지시가 날아가거나 함
그리고 툴체인 의존성에 따라서도 답변의 질이 달라지기도 함. view-bast->str_replace하나, view->str_replace->bash로 가나 토큰 분포가 달라지고
여기에 클로드 코드에 effort부터 시작해서 설정이 많은데 이걸 최대치로 해놔도 유독 클로드 코드 자체가 이걸 자꾸 잊음
agent.md를 미묘하게 자꾸 어긴다해야하네, claude.md에 써놔도 잊고
하네스쪽 품질은 코덱스가 훨 나은 느낌이긴함
클로드도 1m있잖아? - dc App