WEBBOOK CHAPTER

AI로 만드는 웹서비스: 6장 결정론적 핵심과 AI를 분리한다

6장 결정론적 핵심과 AI를 분리한다

AI는 요약, 빠진 질문, 위험 후보처럼 언어 해석에 강하다. 가격 확정, 마감 약속, 권한 부여처럼 정확성과 책임이 필요한 판단에는 규칙과 사람이 적합하다. BriefFlow는 이 경계를 코드로 드러낸다.

makeProposal은 기본 금액, 채널 수, 위험 수를 계산하고 고객 예산을 상한으로 둔다. AI가 “이 정도면 천만 원”이라고 말해도 가격은 바뀌지 않는다. mockAnalysis와 실제 API 어댑터는 같은 summary, questions, riskHints 필드를 반환한다. 실제 경로는 JSON Schema가 형식을 강제하고, mock 경로는 계약 테스트가 그 모양을 보호한다. 두 검증 방식이 같지는 않다.


const estimate = Math.min(
  brief.budget || Infinity,
  2600000 + brief.channels.length * 650000 + brief.risks.length * 800000
);

경계를 정할 때 질문은 하나다. “이 결과가 틀리면 누가 어떤 피해를 입는가?” 문구가 어색한 것은 다시 생성할 수 있지만, 잘못된 가격과 수신자에게 보낸 메일은 되돌리기 어렵다.