chatGPT는 그 이름 그대로 대화(chat) 방식을 따르고 있죠. 하지만 요청 사항에 대해 리턴을 해주는 측면에서프로그래밍의 함수와 비슷한 방식으로도 활용이 가능합니다. 일정 수준 이상의 퀄리티로 아웃풋을 유지되도록 하기 위한 방법으로프롬프트를 잘 작성하는게 중요하다는 이야기를 드렸는데요. 그때그때 대화하듯 사용하는게 아니라특정 맥락과 가이드라인을 포함한 프롬프트를 활용함으로써x를 입력하면 그에 따른 y를 리턴받는 형태로언제든지 내가 원하는 형식과 내용의 결과물을 산출할 수도 있습니다. 전에 썼던 글에서도 비슷한 내용을 다룬바 있으니 참고해주시고요. 인공지능이 나보다 더 똑똑하다는 생각이 들때가 특이점이라면 * AI 결과물 퀄리티를 어떻게 높일 수 있는지 물어보시는 분들이 계신데, 위의 글을 잘 읽어보시고 실행해보시면 퀄리티의 변화를 체감하실 수 있을 거라 생각을 합니다. 한약 복용안내문을 개선해야겠다는 생각은 여러번 해오던 참이었습니다. 제 로망은 심의님의 방식인데요. 환자 개개인에게 편지 형식으로 필요한 치료 계획을 상세하게 안내하는 방식이었습니다.
환자의 증상에 대한 정성스러운 설명과 그에 상응하는 치료 계획을 알려주는 건기존의 의료경험과는 매우 다른 무엇이라고 느꼈고요.이게 꼭 필요하다는 생각도 했었습니다. 아마 환자분들도 분명 다르게 느끼실 것이라 생각합니다. 해서 한방 치료순응도를 높이는데 상당히 큰 역할을 하지 않을까 생각하곤 했습니다. 구체적인 내용은 아래 글을 보시면 심의님이 사용하시는 편지글의 형태를 확인하실 수 있습니다. 편지로 정리하는 외상후스트레스장애 다만 내용이 정성스러운 만큼 수고스러운 작업이다보니현실적으로 원내에서 적용하기는 어렵다고 생각을 해왔고요.
어떻게 비슷하게라도 활용할 수 있을까...해야지 해야지... 차일피일 미루던 일 가운데 하나였습니다. 오늘은 그 작업을 AI와 함께 한 번 해보려고 합니다. 분석과 추상화 일단 내가 생성형 AI를 통해 산출하고 싶은 어떤 결과물이 있다면그 예시를 먼저 제시하고 그에 대한 분석을 하게 함으로써디테일을 확인하는 작업부터 해야 합니다. 이 과정을 통해 AI도 저도 해당 프로젝트에 대한 메타인지를 얻게 되는 과정입니다. 위와 같이 질문함으로써편지가 어떤 내용들을 포함하고 있는지 추상화하는 것입니다. 제가 원하는 방식을 정확하게 이해하고 있습니다.대충 말해도 찰떡같이 이해하는 대단한 녀석입니다. 프롬프트 만들기 추상화를 통해 지금 우리가 해야하는 작업을 메타적으로 확인했다면이제 추상화된 내용을 바탕으로 해당 결과물을 도출하게끔 하는 프롬프트를 먼저 작성하게 합니다. 프롬프트를 만드는건 프로그래밍에서 함수를 정의하는 것def function()과 비슷합니다.
프롬프트 다듬기 내용이 부실하거나 수정해야 하는 부분을 티키타카 해가면서 프롬프트를 수정해나갑니다… 프롬프트에 예시를 포함시키면형식을 제한하는 동시에 스타일의 유사성을 유지하도록 할 수 있습니다. (이게 최소한읜 퀄리티를 확보하는데 매우 중요한 꿀팁일 수 있으니 기억하셨으면 합니다) 프롬프트를 변수화하기 프롬프트를 다시 한번 추상화시켜 범용적으로 사용할 수 있도록 합니다. 다양한 입력값에 대응하여 적절한 결과물을 산출하도록 하는데 핵심이 됩니다. 그 결과 만들어진 프롬프트입니다. 이 프롬프트를 먼저 입력한 뒤에 환자의 이름, 나이 및 여러 정보들을 입력하면 그 입력 변수들을 바탕으로 적절한 안내문을 편지 형태로 작성해주게 됩니다. 설정한 입력변수는 환자 이름환자 나이진단명주요 증상한의학적 변증 결과처방 약재 (처방명 뒤 괄호 안에 명시된 약재는 해당 처방의 주요 구성 약재를 의미함)치료 계획 (침구치료, 뜸치료 등) 및 기간주의사항 (식이, 생활습관 등) 입니다.
하지만 가이드라인 말미에위의 입력 변수, 편지의 구성, 문체 및 어조, 가이드라인을 참고하여 [진단명]에 대한 한약 복용 지침 및 치료 계획 안내문을 작성해주세요. 편지의 내용은 환자와의 라포를 형성하고, 치료에 대한 신뢰와 순응도를 높일 수 있는 방향으로 구성되어야 합니다. 입력 변수에 누락된 정보가 있는 경우, 다른 정보를 바탕으로 적절히 유추하여 작성해주시기 바랍니다. 위 문구(빨간색 볼드처리)를 명시함으로써, 일부 변수가 포함되지 않아도 적절하게 내용을 작성하도록 하였습니다. 소위 유두리 있게 알잘딱깔센(알아서 잘 딱 깔끔하게 센스있게)인데요. 프로그래밍을 해보신 분들은 아시겠지만, 일반적인 프로그래밍에서 함수 정의를 통해서는 이걸 구현하기가 상당히 어렵습니다. 암튼 위 프롬프트로 한번 테스트해보겠습니다. 일단 저 정도 뎁스의 환자 정보만을 줘 봅니다. 나쁘지 않은거 같습니다. 특히 복용기간이나 치료시 혈자리 등은 따로 언급하지 않았는데 알아서 작성을 한 점이 인상적입니다.
조금 더 일반적인 정보만을 주고 편지를 작성하게 해보겠습니다. 아주 간단한 정보만을 주고 작성된 편지를 확인해봅니다. 내용적으로 그럴듯해보이지만아무래도 자의적이거나 부정확한 내용을 많이 포함시키고 있습니다. 편지가 환자 고유의 특성을 더 반영한 맞춤형 편지가 되게 하려면 환자의 정보를 최대한 구체적으로 주고 한의학적 관점과 임상의사결정에 대한 내 생각을 추가하고변증과 처방 도출 과정 및 치료 방향성 등을 자세히 입력할 수록보다 내가 원하는 형태의 결과물이 될 것으로 보입니다. 다음과 같이 조금 더 구체적인 정보들을 주고 결과물을 확인합니다. 아까보다는훨씬 더 구체적이고 제가 원하는 느낌으로 작성되었다는 생각이 듭니다. 구체적인 정보를 준 덕분일 것입니다. 이 환자는 아직 미성년자이기 때문에 부모님께 보내는 편지의 형태로 다시 재작성해봅니다. 미성년자인 경우에는 부모에게 보내는 편지여야 한다는 점(일종의 버그)을 확인했으니,여기에 맞춰 우리가 만든 가이드라인 프롬프트를 수정할 수 있습니다.
이처럼 프롬프트를 활용해 생성된 결과물을 보면서지속적으로 프롬프트를 개선해나가면 훨씬 더 수준 높은 결과물을 얻어낼 수 있습니다. 이 과정을 통해 완성된 프롬프트는 아래와 같습니다. 만들어진 초안을 바탕으로 세부적인 가감을 통해 완성하게 되면만족스러운 편지가 나올 것 같습니다. 효율적으로 편지의 초안을 만들 수 있을 것이란 기대를 갖게 됩니다. 오늘은 평소 내가 머리속에 생각하고 있던 작업을인공지능과 함께 어떻게 할 수 있을까에 대한 사례라고 생각을 해주시면 좋겠습니다. 최종 결과물 보다는 그 결과물을 만들어가는 과정을 어떻게 구현하는지에 포커스를 맞추고 봐주시면 좋겠습니다. 그래야 내가 하는 진짜 '나의 일'을 갖고 적용해보실 수 있을겁니다. 오늘도 읽어주셔서 감사하고요. 관련해서 좋은 의견이 있다면