이번 달 출시:
- Sandbox v1. 4-LLM 플레이그라운드에 루브릭 채점까지. 예상의 두 배가 걸렸습니다 — 주된 원인은 프로바이더별 JSON 스트리밍 차이가 생각보다 심했기 때문입니다. 특히 Gemini의 청크 경계.
- 역량 히트맵. 16개 메타스킬을 실제 산출물에서 채점. 루브릭 초안은 코드를 한 줄도 쓰기 전에 Notion 문서로 2주간 열려 있었습니다. 결과적으로 그 순서가 맞았습니다.
- Slack 봇 v0.3. 스레드 답변 지원. 데일리 다이제스트를 채널 도배가 아니라 엔지니어별 스레드에 올립니다. 반응이 좋았습니다.
미뤄진 것들:
- 온콜 로테이션 연동. 3월에 출시하지 않기로 했습니다 — 온콜이 역량 점수에 영향을 주어야 하는지에 합의하지 못해서. 더 긴 디자인 논의를 위해 4월로 미뤘습니다.
- 모바일 앱. 시작했다가 멈췄습니다. 웹 앱이 충분히 반응형이고, 네이티브 셸의 복잡도가 그만한 가치를 못 했습니다.
놀랐던 점:
- 역량 히트맵은 예상보다 감정적 반응을 많이 일으켰습니다. "실제 산출물에서 채점"이 자가 평가보다 덜 침습적일 거라 생각했는데, 오히려 더 침습적이었습니다 — 자기 평가는 반박할 수 있지만 데이터는 반박하기 어렵기 때문입니다. 그래서 월 중간에 "컨텍스트 노트" 기능을 추가했습니다 — 엔지니어가 점수가 못 보는 부분을 직접 설명할 수 있도록.
- Sandbox 사용 패턴이 새로운 프롬프트 탐색이 아니라 기존 프롬프트 디버깅에 크게 치우쳤습니다. 정반대를 가정했었습니다. v2 UX에 반영할 예정입니다.
- 두 명의 디자인 파트너가 같은 주에 같은 말을 했습니다 — "GANEUM 때문에 더 잘 해보고 싶어진다." "캘리브레이션 기간에는 인센티브를 바꾸지 않는다"는 우리 입장과 어떻게 양립시킬지 아직 모르겠습니다. 어쩌면 자기 일이 자연어로 합성되는 걸 보는 것 자체가, 점수 없이도 책임감을 만드는지 모르겠습니다.
미해결 버그:
합성 실행의 약 3%에서 AI의 "결정" 추출 결과에 입력 신호에 없는 유령 결정이 포함됩니다. 프롬프트는 temperature=0에서 결정적이고, 신호에는 그 유령이 없는데, 출력에는 있습니다. 수동으로 두 번 재현했고 두 번 다 놓쳤습니다. 로그: https://gist.github.com/ruqa/march-phantom — Sonnet 4.6에서 structured output 프롬프트로 이 패턴을 본 적 있으시다면
빌드 로그다른 글 보기 →