Skip to content

v0.52.4 — 모델이 tool을 고르는 근거를 처음 감사했다

Choose a tag to compare

@github-actions github-actions released this 19 Aug 22:54
· 4 commits to main since this release
8ce9451

이 서버의 최종 사용자는 모델이다. 그런데 지금까지의 감시는 전부 "tool이 옳은 답을
내는가"였다 — 스윕은 tool을 이름으로 직접 부르고, 포맷터 테스트는 description을 렌더조차
하지 않는다. "모델이 옳은 tool을 고르는가"는 어느 게이트에도 안 걸린다.

소스 접근을 막은 에이전트 3종(Opus·Sonnet·Haiku)에게 tools/list 응답 그대로의 카탈로그와
실제 투자자 말투 질문 52개만 주고 라우팅을 시켰다. 결과는 Opus 51/52, Sonnet 51/52,
Haiku 46/52. 라우팅 자체는 대체로 멀쩡했고, 오답 2건이 둘 다 "없는 것을 없다고 안
적어서"
생겼다.

고친 것

  • get_stock_price — "기본 지표"라는 뭉뚱그린 표현에 배당수익률이 들어 있는 것처럼
    읽혔다. 실제 렌더는 PER·EPS·PBR·시가총액뿐이고 키움 REST에는 배당 TR 자체가 없다.
    지표를 열거하고 배당 미제공을 명시했다.
  • get_order_executions — 기간 파라미터가 없다는 사실이 빈 결과 각주에만 있었다.
    모델이 tool을 고를 때 읽는 건 description이라, "어제 체결가"를 묻는 질문이
    get_transactions로 샜다. 조회 범위를 description으로 올리고 양쪽에 역참조를 달았다.
  • get_orderbookget_stock_quotes를 "(체결 내역)"이라고 불렀다. ka10095는
    멀티코드 시세 스냅샷이고 그 이름은 get_order_executions가 쓴다.
  • 모호함이 갈린 자리 넷 — get_theme_groups에 테마명 검색이 없다는 사실(업종이면
    get_sector_stocks), get_investor_rank(매매 기준)와 get_foreign_holding(보유·한도
    기준)의 streak 충돌, get_investor_trendget_daily_trading 경계,
    get_valuation_rank가 지표 하나씩만 받는다는 점, get_net_buy_rankmarket 필수.

검증

고친 카탈로그로 같은 시험을 다시 봐서 Haiku 46/52 → 51/52, 오답 0을 확인했다.
덤으로 v0.52.3이 describe로 고친 자리도 재현됐다 — 장중 대차잔고 질문에서 세 모델 모두
to_date를 넘기지 않았다.

게이트

npm run check에 여섯 번째 검사가 붙었다 — description이 가리키는 tool 이름이 실존하는지.
오타·개명으로 없는 tool을 가리켜도 typecheck는 문자열 안을 안 보고 포맷터 테스트는
description을 렌더하지 않는다. 실패 주입으로 가짜 가드가 아님을 확인했다.

동작 변화는 없다. 바뀐 것은 모델이 읽는 문구와 게이트뿐이다.