brunch

You can make anything
by writing

C.S.Lewis

by 미래지기 Mar 15. 2023

ChatGPT와 소금물의 농도

프롬프트 엔지니어링이란 대화식 프로그래밍이다.


  ChatGPT가 버전 4로 업그레이드되었다. 추론능력이 강화되었다고 하길래 그 유명한 '소금물의 농도 계산' 문제를 풀어보도록 시켰다. 수학 문제 풀이는 영어 학습 다음으로 LLM 인공지능이 잘하는 분야일 테니까.


참고로, 이 글에 나온 문제는 https://suhak.tistory.com/809 <수학과 사는 이야기> 블로그에서 발췌한 내용이다.



나 :


소금물 = 소금 + 물
소금물의 양 × 농도(%) ÷ 100 = 소금의 양

1) 농도가 10%인 소금물 200g에서 50g을 덜어내고 물을 넣어서 농도가 5%인 소금물을 만들려고 한다. 이때 몇 g의 물을 더 넣어야 하는지 구하시오.


ChatGPT 4 :


먼저, 원래 소금물에서 소금의 양을 구해야 합니다. 농도가 10%인 소금물 200g에서 소금의 양을 구하면:


소금의 양 = 소금물의 양 × 농도 ÷ 100 소금의 양 = 200g × 10% ÷ 100 소금의 양 = 20g


그 다음, 200g의 소금물에서 50g을 덜어낸다면, 남은 소금물의 양은 150g이고 소금의 양은 여전히 20g입니다.


이제 농도가 5%인 소금물을 만들려면, 다음 공식을 사용하여 새로운 소금물의 양을 구할 수 있습니다:


소금의 양 = 새로운 소금물의 양 × 농도 ÷ 100 20g = 새로운 소금물의 양 × 5% ÷ 100


새로운 소금물의 양을 x라고 할 때:


20g = x × 0.05 x = 20g ÷ 0.05 x = 400g


따라서, 새로운 소금물의 양은 400g입니다. 현재 남아있는 소금물의 양은 150g이므로, 물을 다음만큼 더 넣어야 합니다:


물의 양 = 새로운 소금물의 양 - 남아있는 소금물의 양 물의 양 = 400g - 150g 물의 양 = 250g


결론적으로, 250g의 물을 더 넣어야 농도가 5%인 소금물을 만들 수 있습니다.


나 :


왜 소금의 양이 변하지 않지? 덜어냈는데?


ChatGPT 4 :


죄송합니다. 제가 문제를 잘못 이해했습니다. 50g의 소금물을 덜어냈을 때 소금의 양도 줄어들어야 합니다. 다시 문제를 풀어드리겠습니다.


먼저, 원래 소금물에서 소금의 양을 구해야 합니다. 농도가 10%인 소금물 200g에서 소금의 양을 구하면:


소금의 양 = 소금물의 양 × 농도 ÷ 100 소금의 양 = 200g × 10% ÷ 100 소금의 양 = 20g


50g의 소금물을 덜어내면, 덜어낸 소금물의 소금의 양을 구해야 합니다.


덜어낸 소금물의 소금의 양 = 덜어낸 소금물의 양 × 농도 ÷ 100 덜어낸 소금물의 소금의 양 = 50g × 10% ÷ 100 덜어낸 소금물의 소금의 양 = 5g


이제 남은 소금물의 소금의 양을 구합니다.


남은 소금의 양 = 원래 소금의 양 - 덜어낸 소금의 양 남은 소금의 양 = 20g - 5g 남은 소금의 양 = 15g


이제 농도가 5%인 소금물을 만들려면, 다음 공식을 사용하여 새로운 소금물의 양을 구할 수 있습니다:


남은 소금의 양 = 새로운 소금물의 양 × 농도 ÷ 100 15g = 새로운 소금물의 양 × 5% ÷ 100


새로운 소금물의 양을 x라고 할 때:


15g = x × 0.05 x = 15g ÷ 0.05 x = 300g


따라서, 새로운 소금물의 양은 300g입니다. 현재 남아있는 소금물의 양은 150g이므로, 물을 다음만큼 더 넣어야 합니다:


물의 양 = 새로운 소금물의 양 - 남아있는 소금물의 양 물의 양 = 300g - 150g 물의 양 = 150g


결론적으로, 150g의 물을 더 넣어야  농도가 5%인 소금물을 만들 수 있습니다. 이렇게 하면 남은 소금물의 소금 농도가 5%가 되며, 총 소금물의 양은 300g이 됩니다.  


틀린 부분을 지적하니 다시 계산해서 올바른 답을 썼다. 두 번째 문제를 던졌다.




나 :


2) 농도가 10%인 소금물 200g에 농도가 15%인 소금물을 섞어서 13%인 소금물을 만들려고 한다. 이때 15%인 소금물은 몇 g 넣어야 하는지 구하시오.


ChatGPT 4 : 


두 소금물을 섞어서 농도가 13%인 소금물을 만들기 위해, 두 소금물의 소금 무게를 더한 후, 총 소금물 무게로 나누어야 합니다.


먼저, 농도가 10%인 소금물 200g에서 소금의 양을 구합니다:


소금의 양 = 소금물의 양 × 농도 ÷ 100 소금의 양 = 200g × 10% ÷ 100 소금의 양 = 20g


이제 농도가 15%인 소금물의 소금의 양을 구해야 합니다. 15%인 소금물을 x 그램이라고 가정하면:


소금의 양 = 소금물의 양 × 농도 ÷ 100 소금의 양 = x × 15% ÷ 100 소금의 양 = 0.15x


두 소금물을 섞어서 농도가 13%인 소금물을 만들려면 다음 공식이 성립해야 합니다:


(10% 소금물의 소금 무게 + 15% 소금물의 소금 무게) ÷ (10% 소금물의 무게 + 15% 소금물의 무게) = 13%


(20g + 0.15x) ÷ (200g + x) = 13% = 0.13


이제 위 방정식을 풀어 x 값을 구합니다:


20g + 0.15x = 0.13 × (200g + x) 20g + 0.15x = 26g + 0.13x 0.02x = 6g x = 6g ÷ 0.02 x = 300g


따라서, 농도가 15%인 소금물 300g을 농도가 10%인 소금물 200g에 섞어야 농도가 13%인 소금물을 만들 수 있습니다.  


풀이 과정은 사람이 하는 방식과 같지 않지만 답은 맞았다. 세 번째 문제.




나 :


3) 농도가 10%인 소금물 200g에 물을 넣어서 농도가 5%인 소금물을 만들려고 한다. 이때 몇 g의 물을 더 넣어야 하는지 구하시오.


ChatGPT 4 :


먼저, 원래 소금물에서 소금의 양을 구해야 합니다. 농도가 10%인 소금물 200g에서 소금의 양을 구하면:


소금의 양 = 소금물의 양 × 농도 ÷ 100 소금의 양 = 200g × 10% ÷ 100 소금의 양 = 20g


소금의 양은 물을 추가해도 변하지 않습니다. 따라서 농도가 5%인 소금물을 만들려면, 다음 공식을 사용하여 새로운 소금물의 양을 구할 수 있습니다:


소금의 양 = 새로운 소금물의 양 × 농도 ÷ 100 20g = 새로운 소금물의 양 × 5% ÷ 100


새로운 소금물의 양을 x라고 할 때:


20g = x × 0.05 x = 20g ÷ 0.05 x = 400g


따라서, 새로운 소금물의 양은 400g입니다. 현재 소금물의 양은 200g이므로, 물을 다음만큼 더 넣어야 합니다:


물의 양 = 새로운 소금물의 양 - 현재 소금물의 양 물의 양 = 400g - 200g 물의 양 = 200g


결론적으로, 200g의 물을 더 넣어야 농도가 5%인 소금물을 만들 수 있습니다.  


정답이 나왔다. 특히 '소금의 양은 물을 추가해도 변하지 않는다"는 추론은 감탄할만하다. 이제 네 번째 문제.




나 :


4) 농도가 10%인 소금물 200g과 농도가 7%인 소금물 100g을 섞어서 만든 소금물은 농도가 얼마인가?


ChatGPT 4 :


두 소금물을 섞어서 새로운 소금물을 만들기 위해, 두 소금물의 소금 무게를 더한 후, 총 소금물 무게로 나누어야 합니다.


먼저, 농도가 10%인 소금물 200g에서 소금의 양을 구합니다:


소금의 양 = 소금물의 양 × 농도 ÷ 100 소금의 양 = 200g × 10% ÷ 100 소금의 양 = 20g


그 다음, 농도가 7%인 소금물 100g에서 소금의 양을 구합니다:


소금의 양 = 소금물의 양 × 농도 ÷ 100 소금의 양 = 100g × 7% ÷ 100 소금의 양 = 7g


두 소금물을 섞으면, 총 소금의 양은 다음과 같습니다:


총 소금의 양 = 10% 소금물의 소금 양 + 7% 소금물의 소금 양 총 소금의 양 = 20g + 7g 총 소금의 양 = 27g


두 소금물을 섞으면 총 소금물의 양은 다음과 같습니다:


총 소금물의 양 = 10% 소금물의 양 + 7% 소금물의 양 총 소금물의 양 = 200g + 100g 총 소금물의 양 = 300g


이제 새로운 소금물의 농도를 계산합니다:


농도 = 총 소금의 양 ÷ 총 소금물의 양 × 100 농도 = 27g ÷ 300g × 100 농도 = 9%


따라서, 농도가 10%인 소금물 200g과 농도가 7%인 소금물 100g을 섞으면 농도가 9%인 소금물이 됩니다.


틀리지 않았다.




  나는 비슷한 문제가 있을 때 가장 어려워 보이는 문제를 먼저 풀게 하는 게 정답을 이끌어내는 가장 빠른 길이라고 생각했다. ChatGPT 4가 1) 번 문제를 잘못 계산한 이유는 무엇일까? 영어보다 학습량이 적은 한국어로 문제를 내서 그럴지도 모른다. 브라우저를 닫고 새로 열어 1) 번 문제를 다시 물었다. 지난번과는 다르게 한 번에 정답을 계산했다. 그 사이에 학습이 된 것일까? 다시 한번 브라우저를 새로 열고 같은 문제를 주었더니 이번에는 오답을 냈다. 정답을 알려주니 다시 계산한 뒤에 정답을 이끌어냈다.



ChatGPT 4는 왜 잘못 계산을 했을까? 그 이유를 물어보니 아래와 같이 답변을 했다.


ChatGPT 4 :


이전에 틀린 이유는 문제를 정확하게 이해하지 못했기 때문입니다. 처음에 제가 잘못 이해한 것은 소금물에서 50g을 덜어낼 때 소금과 물의 비율이 동일하게 줄어들지 않는다고 생각했습니다. 하지만 실제로는 소금과 물의 비율이 동일하게 줄어들어야 합니다.


두 번째로 제가 계산을 잘못했던 이유는 소금물에서 50g을 덜어낸 후 남은 소금물의 양을 계산할 때, 농도가 여전히 10%라고 가정하고 계산했습니다. 하지만 문제에서는 물을 추가하여 농도를 5%로 만들어야 하기 때문에 이 가정은 옳지 않았습니다. 제가 문제를 정확하게 이해하고 올바르게 계산한 결과, 정답은 250g입니다. 이전의 오류에 대해 다시 한번 사과드립니다.


참고로, ChatGPT 3.5에서는 정답을 알려줘도 전혀 다른 답이 나왔다. 이 사례로 볼 때 버전 4의 추론능력이 향상된 것은 맞다. 하지만, 왜 잘못된 가정을 한 것일까? 문제를 정확히 이해하지 못했다는 말이 무슨 뜻일까?


ChatGPT는 인간이 지금까지 만든 도구 가운데 가장 지능적인 도구다. 구체적으로는, 기계 학습을 통해 인간의 추론능력을 모사한 알고리즘이다. 결과의 옳고 그름은 인간이 판단해야 하는 것이다. '올바른 결과를 바란다면 올바르게 질문해야 한다'는 중요성을 다시 떠올리게 만든다. 올바르게 질문을 하려면 문제를 파악하고 있어야 하며, 결과가 올바른지 판단하기 위해서는 충분한 지식이 있어야 한다. ChatGPT를 사용한다는 것은 이 두 가지가 충족된 상태에서 대화를 통해 원하는 바를 이끌어내는 의사소통 과정이다. 다른 말로 하면 대화식 프로그래밍인 것이다. 소크라테스 문답법은 2400년 뒤에 인공지능으로 인해서 버전 2.0이 되었다.


▨ 미래지기

매거진의 이전글 ChatGPT에게 던진 좋은/나쁜/이상한 질문 30개
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari