작은 AI 네이밍 툴을 배포하며 배운 것 (그리고 프롬프트가 모델보다 중요했던 이유)
요약
작은 AI 네이밍 툴 개발 경험을 통해, 모델 자체의 성능 향상보다 정교한 프롬프트 엔지니어링과 사용자 경험(UX) 설계가 결과물의 품질에 훨씬 큰 영향을 미친다는 교훈을 얻었습니다. 특히 출력 형식 제한, 좋은 예시 제공 등 구체적인 가이드라인이 중요합니다.
핵심 포인트
- 모델 성능보다 프롬프트 최적화가 더 중요하다.
- 사용자는 먼저 양(Volume)을 원하고 나중에 취향을 적용한다.
- 결정론적 입력 처리나 로딩 상태 표시 같은 기본 UX도 필수다.
이름 생성 도구는 주말 프로젝트처럼 들립니다. 실제로도 주말 프로젝트이며, 심지어 세 번의 주말을 필요로 합니다. 왜냐하면 어려운 부분은 결코 모델 자체가 아니기 때문입니다.
병목 현상은 모델이 아니었다
저는 품질이 모델에서 나온다고 가정하며 시작했습니다. 하지만 그렇지 않았습니다. 대규모 모델과 소규모 모델 간을 전환하는 것보다 프롬프트(prompt)의 세 줄을 변경하는 것이 출력 품질에 훨씬 적은 영향을 미쳤습니다.
- 분위기보다는 형태를 부여하세요. "이름 제안하기"는 모호한 결과물만 냅니다. "12개의 이름을 제안하되, 각 이름은 한두 음절로 구성하고 이 목록에 이미 있는 이름은 제외해 주세요"라고 요청하면 사용할 수 있는 무언가가 나옵니다.
- 출력 형식을 제한하세요. 단순히 목록을 요구하는 것이, 사용자가 파싱(parse)해야 하는 산문 형태를 요구하는 것보다 훨씬 좋습니다.
- 좋은 예시를 보여주세요. 두세 개의 예시는 형용사로 된 한 단락보다 더 많은 것을 전달합니다.
UX 교훈: 사람들은 양을 원하고, 그 후에 맛(취향)을 적용한다
초기 버전에서는 5개의 이름만 반환했습니다. 사용자들은 더 많이 요청했습니다. 실제로 작동했던 버전은 한 번에 12개를 반환했고, 사용자가 스캔하기 쉽도록 그룹화되어 있었습니다. 먼저 양(Volume)을 제공하고, 그 후에 사용자가 취향(Taste)을 적용하는 것—이것이 실제 작업입니다.
지루한 부분은 지루하게 유지하라
사용자들이 언급하지 않는 부분이 바로 고장 나면 안 되는 부분들입니다.
- 결정론적 입력 처리 (Deterministic input handling)—공백 제거, 정규화(normalise), 빈 값 거부.
- 로딩 상태 표시—생성 과정은 결코 즉각적이지 않기 때문에 필요합니다.
- 클릭 한 번으로 결과물을 복사할 수 있는 기능.
이 중 어느 것도 흥미롭지 않지만, 바로 이 모든 것이 도구가 데모처럼 느껴지지 않고 완성된 것처럼 느끼게 만드는 이유입니다.
내가 다르게 할 일
제한된 버전부터 출시하세요. 저의 첫 번째 릴리스는 선호도와 필터링 기능을 통해 영리해 보이려고 했습니다. 거의 아무도 그것들을 사용하지 않았습니다. 사람들이 실제로 사용했던 버전은 단일 입력 상자와 버튼이 전부였는데—이는 본질적으로 고양이 이름 생성기가 하는 일과 같습니다.
작은 것을 만들고, 사람들이 무엇을 무시하는지 관찰한 다음, 그것을 삭제하세요.
논의된 도구는 작은 사이드 프로젝트입니다. 프롬프트에 대한 교훈은 도구가 제공하는 것보다 더 일반적입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기