용어 사전
결정적Deterministic
같은 입력이 들어오면 언제나 같은 순서와 같은 경로로 처리되는 성질
계산기에 2 + 3을 넣으면 언제 눌러도 5가 나옵니다. 이처럼 같은 입력이 들어오면 언제나 같은 결과가 나오는 성질을 결정적이라고 합니다. 프로그램에서는 같은 입력을 같은 순서, 같은 경로로 처리한다는 뜻으로도 씁니다.
AI를 써도 프로그램은 결정적입니다
AI의 답은 같은 질문에도 매번 조금씩 다릅니다. 그래서 AI를 쓰는 프로그램은 전부 예측할 수 없다고 느끼기 쉽습니다. 하지만 위 표처럼 프로그램이 지나가는 순서는 매번 같습니다. 새 글이 들어오면 언제나 본문을 먼저 가져오고, 그다음에 요약을 요청하고, 마지막에 전송합니다. 달라지는 건 요약 요청 노드가 돌려주는 값 하나뿐입니다.
결정적이면 원인을 찾을 수 있습니다
프로그램이 결정적이면, 문제가 생겼을 때 같은 입력을 다시 넣어 같은 문제를 다시 볼 수 있습니다. 이걸 재현이라고 합니다. 재현이 되면 노드를 하나씩 따라가며 값이 처음 틀어진 곳을 찾을 수 있습니다. 반대로 재현이 안 되는 문제는 고쳤는지조차 확인하기 어렵습니다.
결정적이지 않은 부분은 한곳에 모읍니다
AI의 답, 현재 시각, 다른 서버의 응답처럼 매번 달라질 수 있는 값은 노드 하나에 모아 두는 편이 좋습니다. 그리고 그 값을 받는 다음 노드에서 형식을 확인합니다. 요약이 비어 있지 않은지, 정해진 길이를 넘지 않는지 같은 것들입니다. 그러면 AI의 답이 평소와 다르게 와도 프로그램 전체가 흔들리지 않습니다.
아래에서 같은 글을 여러 번 넣어 보세요. 요약은 매번 다르게 나오지만 지나간 순서는 그대로입니다. 빈 답이 나온 뒤에는 '형식 확인' 노드를 더해 다시 넣어 보세요.
| 실행 | AI가 쓴 요약 | 지나간 순서 |
|---|---|---|
| 아직 넣은 글이 없습니다 | ||
"
요약 요청의 결과를 받는 쪽에서, 요약이 비어 있거나 500자를 넘으면 슬랙으로 보내지 말고 기록만 남기게 해 줘."
결정적과 정확함
결정적이라고 해서 결과가 맞다는 뜻은 아닙니다. 틀린 규칙도 매번 똑같이 틀리게 처리하면 결정적입니다. 다만 매번 똑같이 틀리기 때문에, 틀린 곳을 찾기는 쉽습니다.