💡 에이전톤 Q&A : 32
사용자가 기업명이나 브랜드명을 ‘질문’으로 입력하면 해당 값을 VarInput(String) 변수에 저장하고, 이를 기반으로 ‘프롬프트’를 통해 브랜드명을 입력받았을 경우 해당 브랜드의 한국 법인명을 JSON 형태로 저장하는 기능을 구현하고자 합니다. 그러나 현재 입력값이 \uC720\uB2C8\uD074\uB85C처럼 유니코드 형식으로 출력되어, 사용자가 입력한 브랜드명을 그대로 VarBrand 변수에 저장하는 데 어려움이 있습니다. 예를 들어, ‘유니클로’라고 입력하면 VarBrand에 유니클로 그대로 저장되기를 원하지만, 유니코드로 변환되어 저장되는 문제가 있어 이를 해결하고자 문의드립니다.
[지침]
사용자가 입력한 값은 Text input 입니다.
이 값을 기반으로 회사명이라면 그대로 두고, 만약 브랜드명을 입력했다면 그 브랜드의 한국 법인명을 알려주세요.
사용자가 입력한 브랜드명인 Text input의 한국 법인명을 JSON 형식으로 반환하세요.
예시: {"Brand" : "유니클로", "Company" : "에프알엘코리아"}
그리고 JSON 결과는 Brands가 아닌 Result로 해주세요. 입력은 한개만 할꺼니까 결과도 하나만 보여주세요.
[모델 응답]
{
"Result": {
"Brand": "유니클로",
"Company": "에프알엘코리아"
}
}
[출력 결과]
{"Result":{"Brand":"\uC720\uB2C8\uD074\uB85C","Company":"\uC5D0\uD504\uC54C\uC5D8\uCF54\uB9AC\uC544"}}
📝 답변
아마도 토픽으로 AI 프롬프트를 사용하시고 있는 것으로 보입니다.
이건 사실 알고 보면 간단한 문제로, 프롬프트에서 받은 응답을 바로 출력하면 발생하는 현상입니다. 그런데 잘 보시면 프롬프트의 출력값의 타입이 보이시나요 ? record 타입입니다. 이걸 바로 메세지에 넣어 출력하면 소위 “이중 직렬화” 라는 현상이 일어나서 문자열이 이스케이프 됩니다.
이때 아래와 같이 해당 레코드의 필드를 명시해서 부르면, 아래 보시면 타입이 String 이죠? 원하시는 대로 한글이 잘 출력됩니다.
변수에 담으실 때에도 이 방식으로 접근하시면 됩니다.