제너러티브 UI
질문
모델이 실행 중에 화면을 만들 때, 무엇을 모델에 맡기고 무엇을 시스템이 쥐고 있어야 하는가.
세 프로젝트를 거쳐 한 문장으로 정리됐다. 내용은 모델이, 형식은 시스템이.
왜 선을 그어야 했나
모델이 화면 전체를 만들면 일관성과 신뢰가 먼저 무너진다. 반대로 전부 고정하면 모델을 쓸 이유가 없다. 답은 그 사이에 있다. 세 프로젝트에서 그 선을 각각 다른 자리에 그었다.
근거
- 제안은 모델, 결정은 사람 – SAI – 제안 카드는 고정 컴포넌트이고, 상태는 제안 · 진행 · 완료 · 닫힘 네 가지다. 그 안의 내용만 그때그때 생긴다. 사람이 수락한 제안만 노트가 되고, 제안 자체는 노트 본문에 섞이지 않는다. 동시에 답을 기다리는 제안은 2개까지다(설계값).
- 근거 없는 생성은 화면에 올리지 않는다 – SAI – 출처가 된 발화나 자료가 없는 제안은 띄우지 않는다. AI가 만든 것은 파란 글로우와 'AI 생성' 배지로 구분한다. AI 기본법의 고지 의무도 여기 걸린다. 확신도는 카드 채움의 강도로 나타내고, 모르는 것은 모른다고 쓴다. 자료 카드는 읽고 있는 값을 덮지 않고 대기열과 배너로 알린다.
- 런타임 모델 호출을 아예 뺐다 – Commit – 공고 요약과 자격 진단은 규칙 기반이다. 런타임 LLM 호출은 없다. 비용과 환각 두 가지 때문이다. 금액과 기간과 자격은 정규화한 데이터가 말하고, 규칙이 확신하지 못하면 숫자를 비운다. 금액이 붙은 공고는 11,757건 중 2,595건, 22.1%다(산출물).
- 모델의 확률을 형식이 받는다 – Distance of Thinking – 모델이 실제로 낸 다음 토큰 후보 6개와 확률을 공간으로 세웠다. 생성된 글이 화면을 만드는 게 아니라, 모델의 계산을 고정된 형식이 받는다. 색은 쓰지 않고 밀도와 투명도, 크기, 움직임으로만 뜻을 전한다.
지금까지의 답
형식이 고정돼야 배운 것이 계속 쓰인다. 컴포넌트가 매번 달라지면 사용자는 매번 다시 배운다.
근거가 붙지 않은 생성물은 수락 대상이 아니다. 무엇을 듣고 그렇게 말했는지가 보여야 사람이 누를지 정한다.
런타임 생성은 비용이다. 미리 계산할 수 있는 것은 미리 계산했다. Commit에서는 모델을 아예 부르지 않는 쪽이 옳았다. 틀릴 자리를 만들지 않는 편이 틀린 답을 고치는 것보다 쌌다.
아직 모르는 것
- 수락률 – SAI에서 어떤 제안이 수락되고 어떤 제안이 무시되는지 측정하지 않았다. 이 숫자가 없으면 제안 시점을 고칠 근거도 없다.
- 제안 2개 제한 – 설계값이다. 실제 회의에서 몇 개가 적당한지 세어 보지 않았다.
- 규칙 기반의 한계 – Commit의 규칙이 비운 77.9%가 정말 알 수 없는 값인지, 규칙을 더 쓰면 줄어드는 값인지 구분하지 못했다.