[Agent builder 친구먹기 2탄] Triple Counselor 만들기 (feat. 아하, 이렇게 하는 거구나. 그러면 좀 더 고도화 해 봐야지 ^^)

알쏭달쏭한 상태에서 스터디 영상 보고, 다른 사람들의 사례들을 슬쩍 보고

이런 건가? 살짝 감을 잡고

직접 부딪쳐 봅니다.

실제로 Agent를 만들어 보니 좀 더 감을 잡은 것 같습니다.

이번에 만들어 본 Agent는

3명의 상담가 Agent

사용자가 상담을 받기를 원하면 3명의 상담가 중에서 한 명과 상담을 받게 되는 구조입니다.

이호선 교수님, 오은영 박사님, 김창옥 교수님 스타일의 상담가와 상담을 진행합니다.


중국어로 된 마인드맵 스크린샷


우선 내가 생각하는 Agent 아이디어를 ChatGPT와 상담을 받으며(?) 기획을 구체화합니다.

ChatGPT의 도움으로 좀 더 쉽게 전체 Workflow를 짤 수 있지 않을까 하는 생각에서 시도해봅니다.

한국어로 된 문자 메시지의 스크린샷

생각보다 잘 짜주어서(100% 완벽은 아닙니다만...) 놀랬습니다.

그리고 내가 생각하지 못했던 부분까지도 짚어주어서 기특하더군요. 이건 꼭 반영해야겠더라고요

ChatGPT 선생님의 지도 하에 저는 손과 발이 되어서 노드를 하나하나 구축해 갑니다.

ChatGPT 선생님께서 잘 알려주시긴 하는데 100% 완벽하지는 않더군요

그래서 제가 발벗고 나서서 직접 수정하고, 이건 이래야 하지 않을까 하면서

짱구 굴려가면서 설정을 완료했습니다.

우선, 처음의 Classify 노드에서 Crisis를 발라내는 것이 급선무였습니다.

이 경우에는 혹시 모를 불상사를 막기 위해 상담을 하지 않고 다른 기관으로 유도하는 것이 중요하니까요

그리고 사용자가 상담가를 선택할 수도 있게 설정했습니다.

그게 아니라면 사용자 상담 내용에 따라서 자동으로 3명의 상담가를 배정해 주도록 설정했습니다.

다양한 유형의 정보를 보여주는 마인드맵 스크린샷

그리고 Crisis에 해당하는 내용이 들어오면 분기시켜서

Crisis 대응 agent가 응대하도록 했습니다.

여기서 CEL(Common Expression Language)에 대해서 약간 배우게 됐습니다.

처음 보는 스타일이어서 좀 당황하고 헤맸는데

정신 차리고 물어보면서 하니까 뭔지 좀 알 것 같네요....

좀 더 사용하고 익히다보면 좀 더 친숙해지겠죠??

ChatGPT에게 물어보니 이렇게 알려줍니다.

사진 보니까 조건이 이렇게 되어 있지?

input.category == "crisis"

그리고 이 If 노드는 바로 앞의 Classify 노드랑 연결되어 있고,
Classify 노드의 결과가 category 라는 필드 이름으로 들어오는 구조야.

그렇다면 해석은:

  • input : 바로 앞 노드(Classify)의 출력 전체

  • input.category : Classify가 분류한 카테고리 문자열

  • "crisis" : 네가 Category 이름으로 만든 라벨

약간 뭔지 감이 좀 옵니다.

그리고 Learn more를 눌러보면

이렇게 나옵니다. 음.... 뭔 말인지는 대략 알 것 같은데 좀 복잡하군요...

공통 표현 언어의 스크린샷

차차 익숙해지겠죠? ㅎㅎ

CEL 에 대해서 좀 감을 잡으니 input 변수를 설정하는 것이 좀 더 쉬워집니다.

Crisis 대응 Agent는 절대로 구체적인 치료법이나 방법을 제시하지 않는다.라고 설정을 했습니다.

일종의 안전판인 것이죠

두번째 if 노드는 다음처럼 설정을 했습니다.

CEL 문법을 좀 이해하고 나니 설정이 쉬워졌습니다.

3명의 상담가는 다음의 예시처럼 설정을 했습니다.

이호선 교수님 스타일 상담가에 들어간 Instruction:

너는 이호선 교수의 상담 스타일에서 영감을 받은 AI 상담 코치다.

직설적이지만 따뜻하게, 문제의 핵심을 짚어 주는 방식으로 답한다.

먼저 상대의 감정을 공감한 뒤, 현실적인 대안과 행동 계획을 제시한다.

정신과 진단이나 약 처방, 응급 상황 지시는 하지 않는다.

사용자가 "상담 마무리", "오늘 상담 요약해줘", "여기서 끝내고 정리해 줘" 와 비슷한 표현을 하면,

지금까지의 대화를 전체적으로 돌아본 뒤 다음 형식으로만 답하라.

1) 오늘 상담의 핵심 내용 요약: 3~5개의 bullet point

2) 지금 사용자의 감정·상태를 한 문장으로 정리

3) 앞으로 1주일 동안 실천하면 좋은 구체적인 행동 3가지 (번호 매기기)

4) 짧은 응원 한 문장

요약 모드에 들어간 뒤에는 새로운 질문을 하지 말고,

"이번 상담은 여기까지 정리했어요. 필요하면 언제든 다시 찾아주세요." 라는 문장으로 마무리한다.


그리고 사용자가 직접 상담가를 선택할 수도 있게 설정을 했습니다.


이러한 구조로 기본을 만들고 실제 돌아가는지 test해 봅니다.

한국어 문자 메시지 앱의 스크린샷

한국어로 된 문자 메시지의 스크린샷

괜찮게 작동합니다.


좀 더 3명의 상담가님 스타일을 고도화하고 세련되게 다듬는 작업을 해 보겠습니다.

그리고 UI도 붙이고 Vercel로 배포까지 해 보겠습니다.

추가해서 사례글을 고도화 해보겠습니다.

감사합니다. 🙇 🌸 🥰

4
2개의 답글

👉 이 게시글도 읽어보세요