Skip to content

v0.52.5 — 두 tool이 서로를 가리키기만 하던 자리

Choose a tag to compare

@github-actions github-actions released this 20 Aug 22:10
· 1 commit to main since this release
9377ae3

v0.52.4에서 처음 잰 "모델이 옳은 tool을 고르는가"를 스크립트로 승격하고, 승격하자마자
첫 재실행이 짚은 두 자리를 고쳤다. 둘 다 값 계산은 맞는데 문구가 사실과 다르거나
모자란
부류다 — 이 저장소에서 다섯 라운드 연속 같은 유형이다.

고친 것

  • get_order_executionsget_transactions — 전자는 "과거 일자는 get_transactions로",
    후자는 "체결가는 get_order_executions로"라 적어 둬서 '어제 체결가'를 물으면 모델이 두
    tool 사이를 왕복만 했다(모델 셋이 셋 다 다른 답을 냈다). 실제로는 ka10076이 지난 일자를
    주지 않고 kt00015는 결제일(D+2) 기준이라 어제 체결분은 오늘 어느 쪽에도 없다.
    리다이렉트 대신 그 사실을 양쪽 description에 적고, 빈 결과 각주에도 같이 넣었다 —
    각주에만 있으면 라우팅이 못 읽고, description에만 있으면 빈손을 받은 사용자가 이유를
    모른다.
  • get_theme_groups / get_sector_stocks — "'반도체'처럼 업종을 뜻한 것이라면
    get_sector_stocks가 맞습니다"라는 단정이 '반도체 테마에 뭐가 들어있어?'를 업종으로
    보냈다(모델이 그 문장을 근거로 인용했다). 이름이 겹친다는 사실과 사용자가 쓴 말을
    따른다
    는 기준으로 바꾸고, 업종 쪽에도 거울 문구를 넣었다(테마명은 받지 않는다).

감시

라우팅 시험이 scripts/routing.py 한 명령이 됐다 — 카탈로그 덤프(tools/list 응답
그대로) → 시험지 → 소스를 못 보는 별도 프로세스의 답안 → 채점. 그전까지는 손 절차라
질문·정답표가 로컬에만 있었다. 이제 데이터는 저장소에 있고, npm run check의 일곱 번째
검사가 그 정답표가 실제 tool·파라미터를 가리키는지 본다. 시험 자체는 모델을 부르므로
CI에 없어서, 그 사이 정답표만 조용히 낡기 때문이다 — 특히 param_check의 이름이 낡으면
"이 파라미터를 넘기지 말 것" 검사가 영원히 통과한다.

검증

같은 시험 재실행에서 haiku·sonnet·opus 셋 다 52/52(직전 라운드는 52·51·52).
제한은 첫 문장에 적어야 따라온다는 것도 여기서 나왔다 — 같은 사실을 문장 뒤쪽에 두면
haiku는 읽고도 그 tool을 불렀고(명령형을 붙여도 그랬다), 첫 문장으로 올리자 넘어왔다.

빈 결과 각주는 모의 스윕으로 눈으로 확인했고, 새 각주 단언은 실패 주입으로 가짜 가드가
아님을 확인했다.

동작 변화는 없다. 바뀐 것은 모델이 읽는 문구와 빈 결과 각주 한 줄, 그리고 감시다.