@tipp/ui 2.9.0 → 2.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/dist/app/index.js +17 -17
  2. package/dist/app/platform/edit-coaching-time.js +17 -17
  3. package/dist/app/platform/edit-service-type.js +17 -17
  4. package/dist/app/platform/goal-manage-card-edit.js +17 -17
  5. package/dist/app/platform/on-offline-radio-card.js +17 -17
  6. package/dist/app/platform/reservation-card.js +17 -17
  7. package/dist/app/platform/session-card.js +17 -17
  8. package/dist/app/roleplay/chart/session-chart.cjs +351 -0
  9. package/dist/app/roleplay/chart/session-chart.cjs.map +1 -0
  10. package/dist/app/roleplay/chart/session-chart.d.cts +16 -0
  11. package/dist/app/roleplay/chart/session-chart.d.ts +16 -0
  12. package/dist/app/roleplay/chart/session-chart.js +14 -0
  13. package/dist/app/roleplay/chart/session-chart.js.map +1 -0
  14. package/dist/app/roleplay/index.cjs +5715 -0
  15. package/dist/app/roleplay/index.cjs.map +1 -0
  16. package/dist/app/roleplay/index.d.cts +4 -0
  17. package/dist/app/roleplay/index.d.ts +4 -0
  18. package/dist/app/roleplay/index.js +182 -0
  19. package/dist/app/roleplay/index.js.map +1 -0
  20. package/dist/app/roleplay/parts/analysis-section.cjs +2178 -0
  21. package/dist/app/roleplay/parts/analysis-section.cjs.map +1 -0
  22. package/dist/app/roleplay/parts/analysis-section.d.cts +17 -0
  23. package/dist/app/roleplay/parts/analysis-section.d.ts +17 -0
  24. package/dist/app/roleplay/parts/analysis-section.js +97 -0
  25. package/dist/app/roleplay/parts/analysis-section.js.map +1 -0
  26. package/dist/app/roleplay/parts/coaching-panel.cjs +2191 -0
  27. package/dist/app/roleplay/parts/coaching-panel.cjs.map +1 -0
  28. package/dist/app/roleplay/parts/coaching-panel.d.cts +8 -0
  29. package/dist/app/roleplay/parts/coaching-panel.d.ts +8 -0
  30. package/dist/app/roleplay/parts/coaching-panel.js +95 -0
  31. package/dist/app/roleplay/parts/coaching-panel.js.map +1 -0
  32. package/dist/app/roleplay/parts/content.cjs +4687 -0
  33. package/dist/app/roleplay/parts/content.cjs.map +1 -0
  34. package/dist/app/roleplay/parts/content.d.cts +15 -0
  35. package/dist/app/roleplay/parts/content.d.ts +15 -0
  36. package/dist/app/roleplay/parts/content.js +174 -0
  37. package/dist/app/roleplay/parts/content.js.map +1 -0
  38. package/dist/app/roleplay/parts/header.cjs +2300 -0
  39. package/dist/app/roleplay/parts/header.cjs.map +1 -0
  40. package/dist/app/roleplay/parts/header.d.cts +13 -0
  41. package/dist/app/roleplay/parts/header.d.ts +13 -0
  42. package/dist/app/roleplay/parts/header.js +96 -0
  43. package/dist/app/roleplay/parts/header.js.map +1 -0
  44. package/dist/app/roleplay/parts/score-summary.cjs +2276 -0
  45. package/dist/app/roleplay/parts/score-summary.cjs.map +1 -0
  46. package/dist/app/roleplay/parts/score-summary.d.cts +12 -0
  47. package/dist/app/roleplay/parts/score-summary.d.ts +12 -0
  48. package/dist/app/roleplay/parts/score-summary.js +96 -0
  49. package/dist/app/roleplay/parts/score-summary.js.map +1 -0
  50. package/dist/app/roleplay/parts/score-trend-section.cjs +3687 -0
  51. package/dist/app/roleplay/parts/score-trend-section.cjs.map +1 -0
  52. package/dist/app/roleplay/parts/score-trend-section.d.cts +14 -0
  53. package/dist/app/roleplay/parts/score-trend-section.d.ts +14 -0
  54. package/dist/app/roleplay/parts/score-trend-section.js +167 -0
  55. package/dist/app/roleplay/parts/score-trend-section.js.map +1 -0
  56. package/dist/app/roleplay/parts/script-transcript.cjs +2288 -0
  57. package/dist/app/roleplay/parts/script-transcript.cjs.map +1 -0
  58. package/dist/app/roleplay/parts/script-transcript.d.cts +15 -0
  59. package/dist/app/roleplay/parts/script-transcript.d.ts +15 -0
  60. package/dist/app/roleplay/parts/script-transcript.js +96 -0
  61. package/dist/app/roleplay/parts/script-transcript.js.map +1 -0
  62. package/dist/app/roleplay/parts/section-nav.cjs +2433 -0
  63. package/dist/app/roleplay/parts/section-nav.cjs.map +1 -0
  64. package/dist/app/roleplay/parts/section-nav.d.cts +15 -0
  65. package/dist/app/roleplay/parts/section-nav.d.ts +15 -0
  66. package/dist/app/roleplay/parts/section-nav.js +96 -0
  67. package/dist/app/roleplay/parts/section-nav.js.map +1 -0
  68. package/dist/app/roleplay/parts/session-replay-dialog.cjs +2598 -0
  69. package/dist/app/roleplay/parts/session-replay-dialog.cjs.map +1 -0
  70. package/dist/app/roleplay/parts/session-replay-dialog.d.cts +14 -0
  71. package/dist/app/roleplay/parts/session-replay-dialog.d.ts +14 -0
  72. package/dist/app/roleplay/parts/session-replay-dialog.js +97 -0
  73. package/dist/app/roleplay/parts/session-replay-dialog.js.map +1 -0
  74. package/dist/app/roleplay/parts/step-detail.cjs +2311 -0
  75. package/dist/app/roleplay/parts/step-detail.cjs.map +1 -0
  76. package/dist/app/roleplay/parts/step-detail.d.cts +9 -0
  77. package/dist/app/roleplay/parts/step-detail.d.ts +9 -0
  78. package/dist/app/roleplay/parts/step-detail.js +96 -0
  79. package/dist/app/roleplay/parts/step-detail.js.map +1 -0
  80. package/dist/app/roleplay/parts/step-radar.cjs +463 -0
  81. package/dist/app/roleplay/parts/step-radar.cjs.map +1 -0
  82. package/dist/app/roleplay/parts/step-radar.d.cts +8 -0
  83. package/dist/app/roleplay/parts/step-radar.d.ts +8 -0
  84. package/dist/app/roleplay/parts/step-radar.js +14 -0
  85. package/dist/app/roleplay/parts/step-radar.js.map +1 -0
  86. package/dist/app/roleplay/parts/step-summary.cjs +2651 -0
  87. package/dist/app/roleplay/parts/step-summary.cjs.map +1 -0
  88. package/dist/app/roleplay/parts/step-summary.d.cts +8 -0
  89. package/dist/app/roleplay/parts/step-summary.d.ts +8 -0
  90. package/dist/app/roleplay/parts/step-summary.js +101 -0
  91. package/dist/app/roleplay/parts/step-summary.js.map +1 -0
  92. package/dist/app/roleplay/rp-session-detail.cjs +5712 -0
  93. package/dist/app/roleplay/rp-session-detail.cjs.map +1 -0
  94. package/dist/app/roleplay/rp-session-detail.d.cts +17 -0
  95. package/dist/app/roleplay/rp-session-detail.d.ts +17 -0
  96. package/dist/app/roleplay/rp-session-detail.js +179 -0
  97. package/dist/app/roleplay/rp-session-detail.js.map +1 -0
  98. package/dist/app/roleplay/types.cjs +19 -0
  99. package/dist/app/roleplay/types.cjs.map +1 -0
  100. package/dist/app/roleplay/types.d.cts +42 -0
  101. package/dist/app/roleplay/types.d.ts +42 -0
  102. package/dist/app/roleplay/types.js +2 -0
  103. package/dist/app/roleplay/types.js.map +1 -0
  104. package/dist/app/roleplay/utils/report-parse.cjs +285 -0
  105. package/dist/app/roleplay/utils/report-parse.cjs.map +1 -0
  106. package/dist/app/roleplay/utils/report-parse.d.cts +57 -0
  107. package/dist/app/roleplay/utils/report-parse.d.ts +57 -0
  108. package/dist/app/roleplay/utils/report-parse.js +8 -0
  109. package/dist/app/roleplay/utils/report-parse.js.map +1 -0
  110. package/dist/app/roleplay/utils/report-parse.test.cjs +491 -0
  111. package/dist/app/roleplay/utils/report-parse.test.cjs.map +1 -0
  112. package/dist/app/roleplay/utils/report-parse.test.d.cts +2 -0
  113. package/dist/app/roleplay/utils/report-parse.test.d.ts +2 -0
  114. package/dist/app/roleplay/utils/report-parse.test.js +237 -0
  115. package/dist/app/roleplay/utils/report-parse.test.js.map +1 -0
  116. package/dist/app/roleplay/utils/session-utils.cjs +204 -0
  117. package/dist/app/roleplay/utils/session-utils.cjs.map +1 -0
  118. package/dist/app/roleplay/utils/session-utils.d.cts +38 -0
  119. package/dist/app/roleplay/utils/session-utils.d.ts +38 -0
  120. package/dist/app/roleplay/utils/session-utils.js +46 -0
  121. package/dist/app/roleplay/utils/session-utils.js.map +1 -0
  122. package/dist/chunk-32WIS4L7.js +131 -0
  123. package/dist/chunk-32WIS4L7.js.map +1 -0
  124. package/dist/chunk-3UGBMKSQ.js +166 -0
  125. package/dist/chunk-3UGBMKSQ.js.map +1 -0
  126. package/dist/chunk-4YAA25AV.js +161 -0
  127. package/dist/chunk-4YAA25AV.js.map +1 -0
  128. package/dist/chunk-5QIT4URV.js +87 -0
  129. package/dist/chunk-5QIT4URV.js.map +1 -0
  130. package/dist/chunk-6YIKOYBQ.js +185 -0
  131. package/dist/chunk-6YIKOYBQ.js.map +1 -0
  132. package/dist/chunk-7MXY3D3Z.js +84 -0
  133. package/dist/chunk-7MXY3D3Z.js.map +1 -0
  134. package/dist/chunk-EBFQFOUQ.js +138 -0
  135. package/dist/chunk-EBFQFOUQ.js.map +1 -0
  136. package/dist/chunk-EHDUKUML.js +183 -0
  137. package/dist/chunk-EHDUKUML.js.map +1 -0
  138. package/dist/{chunk-NEJCZABQ.js → chunk-FJEDSUGU.js} +7 -7
  139. package/dist/chunk-GA6W62DO.js +101 -0
  140. package/dist/chunk-GA6W62DO.js.map +1 -0
  141. package/dist/chunk-KJPBBBVK.js +142 -0
  142. package/dist/chunk-KJPBBBVK.js.map +1 -0
  143. package/dist/{chunk-TQTCT7DC.js → chunk-LRNO4W2P.js} +5 -5
  144. package/dist/{chunk-6DWUGXSY.js → chunk-N242VJOP.js} +2 -2
  145. package/dist/chunk-NKW6BO5R.js +264 -0
  146. package/dist/chunk-NKW6BO5R.js.map +1 -0
  147. package/dist/{chunk-R5UDNKV2.js → chunk-O332K3SW.js} +2 -2
  148. package/dist/chunk-OUP3VFXG.js +1 -0
  149. package/dist/chunk-OUP3VFXG.js.map +1 -0
  150. package/dist/chunk-QMAINJ4G.js +190 -0
  151. package/dist/chunk-QMAINJ4G.js.map +1 -0
  152. package/dist/{chunk-KLJVIEFW.js → chunk-SOKGYD5B.js} +7 -7
  153. package/dist/chunk-TFJJKM3W.js +261 -0
  154. package/dist/chunk-TFJJKM3W.js.map +1 -0
  155. package/dist/{chunk-KQ3ME6XY.js → chunk-U2EAXN3Y.js} +4 -4
  156. package/dist/chunk-UXAEOCOH.js +150 -0
  157. package/dist/chunk-UXAEOCOH.js.map +1 -0
  158. package/dist/chunk-YHP75Y5K.js +242 -0
  159. package/dist/chunk-YHP75Y5K.js.map +1 -0
  160. package/dist/chunk-ZE36DFOC.js +142 -0
  161. package/dist/chunk-ZE36DFOC.js.map +1 -0
  162. package/dist/index.css +76 -0
  163. package/dist/index.js +32 -32
  164. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.js +5 -5
  165. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.js +2 -2
  166. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +7 -7
  167. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +8 -8
  168. package/dist/molecules/curriculumV2/CurriculumContents/index.js +9 -9
  169. package/dist/molecules/curriculumV2/index.js +11 -11
  170. package/dist/molecules/dynamic-form-editor.js +2 -2
  171. package/dist/molecules/index.js +29 -29
  172. package/package.json +28 -2
  173. package/src/app/roleplay/chart/session-chart.tsx +185 -0
  174. package/src/app/roleplay/index.ts +8 -0
  175. package/src/app/roleplay/parts/analysis-section.tsx +98 -0
  176. package/src/app/roleplay/parts/coaching-panel.tsx +101 -0
  177. package/src/app/roleplay/parts/content.tsx +146 -0
  178. package/src/app/roleplay/parts/header.tsx +168 -0
  179. package/src/app/roleplay/parts/score-summary.tsx +158 -0
  180. package/src/app/roleplay/parts/score-trend-section.tsx +265 -0
  181. package/src/app/roleplay/parts/script-transcript.tsx +190 -0
  182. package/src/app/roleplay/parts/section-nav.tsx +299 -0
  183. package/src/app/roleplay/parts/session-replay-dialog.tsx +168 -0
  184. package/src/app/roleplay/parts/step-detail.tsx +173 -0
  185. package/src/app/roleplay/parts/step-radar.tsx +80 -0
  186. package/src/app/roleplay/parts/step-summary.tsx +149 -0
  187. package/src/app/roleplay/rp-session-detail.tsx +176 -0
  188. package/src/app/roleplay/types.ts +61 -0
  189. package/src/app/roleplay/utils/report-parse.test.ts +268 -0
  190. package/src/app/roleplay/utils/report-parse.ts +443 -0
  191. package/src/app/roleplay/utils/session-utils.ts +215 -0
  192. package/src/constrant/trainingLog.dummy.json +1 -0
  193. /package/dist/{chunk-NEJCZABQ.js.map → chunk-FJEDSUGU.js.map} +0 -0
  194. /package/dist/{chunk-TQTCT7DC.js.map → chunk-LRNO4W2P.js.map} +0 -0
  195. /package/dist/{chunk-6DWUGXSY.js.map → chunk-N242VJOP.js.map} +0 -0
  196. /package/dist/{chunk-R5UDNKV2.js.map → chunk-O332K3SW.js.map} +0 -0
  197. /package/dist/{chunk-KLJVIEFW.js.map → chunk-SOKGYD5B.js.map} +0 -0
  198. /package/dist/{chunk-KQ3ME6XY.js.map → chunk-U2EAXN3Y.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"output_text": {"skills": [{"skill1": "정보 정리형 반응 대신 ‘감정 짚기 한 문장’ 추가하기", "skill2": "긴 설명 뒤 ‘받아서 한 겹 더 묻는’ 열린 질문", "skill3": "마무리 전, 구체적인 한 가지 좋았던 점을 말로 짚기", "example1": "실전 예시:\n- (상대: 양도 그렇고 속도감도 그렇고…)\n → \"양도 많고 속도도 빨라야 한다고 하시니까, 요즘 꽤 부담이 크실 것 같아요.\"", "example2": "실전 예시:\n- (상대: 아침에 언니랑 한 시간 얘기했다, 의료 연계 아젠다를 돌려야 한다, 양과 속도감이 걱정이다.)\n → \"언니랑 그렇게 길게 얘기 나누시고 나서는, 마음이 좀 정리가 되셨어요? 아니면 여전히 좀 복잡하세요?\"", "example3": "실전 예시:\n- \"오늘 아침에 언니랑 나누셨던 얘기까지 들려주셔서, ○○님이 상황을 얼마나 진지하게 고민하고 계신지 느껴져서 인상 깊었어요. 저는 그런 점이 참 좋았어요. 괜찮으시다면 다음에 또 이런 얘기 나눌 기회가 있으면 좋겠어요.\"", "description1": "지금처럼 “그렇군요, 알겠습니다”라는 정중한 정리형 반응은 기본 예의로는 좋지만, 상대 입장에서 “내 마음을 알아주는구나”라는 느낌까지 주지는 못합니다. 상대가 말한 키워드(예: 양, 속도감, 언니와의 대화)를 한 번 인용하면서, 그 상황에서 느꼈을 감정을 짚어 주는 한 문장을 덧붙이면 연결감이 크게 높아집니다.", "description2": "상대가 길게 자신의 상황을 설명했을 때, 곧바로 “네 알겠어요.”로 끝내지 말고, 방금 나온 이야기 중 하나를 골라 “어떤/왜/어떻게”가 들어간 열린 질문을 한 번 더 붙이시는 습관을 들이시면 좋습니다. 이렇게 한 겹 더 묻는 질문은, 면접식 추궁이 아니라 “당신 이야기가 진짜 궁금하다”는 신호로 읽힙니다.", "description3": "마무리 구간에서는 ‘오늘 좋았다’는 말을 막연하게 하기보다, 실제 대화에서 좋았던 구체적인 한 가지(상대의 태도, 생각 방식, 솔직함 등)를 짚어서 말해 주는 것이 좋습니다. 이는 과한 고백이 아니라, ‘사람으로서 존중받았다’는 느낌을 주며, 자연스럽게 다음 만남 제안으로 이어질 수 있는 발판이 됩니다."}], "summary": {"basis": "이번 스크립트는 대화의 극히 일부분(중간 구간 일부)만 포함되어 있어 전체 만남을 온전히 판단하기는 어렵습니다. 다만 주어진 구간만 놓고 보면, 회원님은 조건·스펙 확인을 최소화하고 “회사 통해 필요한 부분만 확인하시면 된다”, “저는 다현 님이 궁금해서 만나 뵌 거다”라고 말하며 평가·심사 톤을 줄이려는 의도는 분명히 드러났습니다. 반면, 상대가 다소 긴 설명과 생각을 풀어낼 때 그 내용을 감정·경험 수준에서 받아 주거나 한 겹 더 이어가는 호응은 거의 없었고, “네, 그렇군요, 알겠습니다” 수준의 정중한 정보 수용에 머물렀습니다. 마무리·다음 제안 구간이 스크립트에 없어 호감 잇기(M)는 확인되지 않았습니다. 전체적으로는 스펙 면접을 피하려는 방향성은 좋으나, 감정 호응과 연결을 키우는 반응이 부족해 연결 대화 성숙도는 아직 초기 단계로 평가할 수 있습니다.", "total_score": 26.0}, "todayDate": "2026-06-18", "warm_items": [{"ask_person_basis": "제공된 구간에서 직접적인 질문 문장은 거의 없으나, “저는 근데 다현 님이 궁금해서 오늘 만나자고 한 거거든요.”라고 말하며 조건이 아닌 사람 자체에 관심을 두고 있다는 의도는 표현했습니다. 또한 “네 편하게 말씀하세요.”라고 말하며 상대가 자신의 생각을 풀어낼 공간을 주려는 태도는 질문 공세 대신 ‘듣기’를 선택한 것으로 볼 수 있습니다. 반면, 상대가 미래·의료 연계·속도감에 대해 길게 설명하는 동안 그 내용을 받아 한 겹 더 깊이 묻는 후속 질문이나, 구체 단어를 짚는 질문(예: “속도감이 가장 걱정이세요?”)은 나오지 않았습니다. 조건·결혼관·연봉을 직접 묻는 장면도 없어 면접식 조건 질문의 부정적 패턴은 보이지 않으나, 사람 자체에 대한 구체·열린 질문이 관찰되지 않아 중간 이하 점수로 평가했습니다.", "ask_person_issue": "상대가 비교적 긴 설명을 했음에도, 그 설명 안의 키워드를 기반으로 한 후속 질문이 전혀 보이지 않습니다. “언니가 얘기했다”, “의료 연계 병원 관련 아젠다를 돌려야 한다”, “양도, 속도감” 등 여러 단서가 나왔으나, 회원님은 이를 바탕으로 “그 얘기를 들으시고 ○○님은 어떻게 느끼셨어요?” 같이 사람의 생각·느낌을 묻는 질문으로 이어가지 않았습니다. 또한 사람 질문을 시작했더라도, 답을 듣고 다시 다른 질문으로 넘기지 않고 그 답에 잠시 머무는 구조가 아직 부족해, 질문이 ‘관심’으로 읽히는 효과가 약한 편입니다.", "ask_person_score": 8.0, "ease_frame_basis": "본 스크립트는 오프닝 전체를 포함하고 있지는 않지만, 중간 구간에서 “라인은 기본 정보로 아시는 걸로 알고 있는데요. 꼭 필요한 부분만 회사 통해서 확인하시면 될 것 같아요.”라고 말하며 조건·스펙 확인을 회사에 맡기고, 직접적인 조건 검증을 줄이려는 태도가 보였습니다. 또한 “저는 근데 다현 님이 궁금해서 오늘 만나자고 한 거거든요.”라고 사람 중심의 만남 이유를 명시적으로 설명해, 자리를 ‘서로를 평가하는 자리’가 아니라 ‘상대를 알아가는 자리’로 재프레이밍하려는 시도가 있었습니다. 이는 W 영역의 핵심 가치와 방향은 충족하나, 실제 오프닝 첫 30초의 톤·질문 구조, 자기소개 비중·길이에 대한 정보가 없어 전체 16점 중 중간 수준으로만 평가했습니다.", "ease_frame_issue": "대화의 시작 부분과 자기소개 구간이 스크립트에 포함되어 있지 않아, 초반에 직업·조건을 길게 설명하지 않았는지, 면접식 질문을 연달아 던지지 않았는지 여부는 확인이 되지 않습니다. 또한 “저는 다현 님이 궁금해서…”라는 좋은 문장 이후, 바로 사람·상황 화제나 가벼운 질문으로 이어진 대목이 보이지 않고, 곧장 상대의 비교적 무거운 설명으로 넘어가 흐름 전환이 어떻게 이뤄졌는지 드러나지 않습니다. 초반에 상대의 긴장·속도를 보며 톤을 조절하고, 가볍게 한두 번 주고받는 구조가 있었는지도 확인되지 않아 ‘부분충족’으로 두었습니다.", "ease_frame_score": 8.0, "move_onward_basis": "제공된 스크립트는 중간 구간 일부로 보이며, 마무리 인사·호감 표현·다음 만남 제안과 관련된 내용은 포함되어 있지 않습니다. “그렇군요. 말씀 감사해요. 네 알겠어요.”라는 말 뒤 실제 대화가 어떻게 이어졌는지, 혹은 이 말이 곧바로 자리 마무리였는지 여부도 알 수 없습니다. 따라서 구체적인 호감 표현, 다음 만남 제안, 마무리 직전 신호 읽기 등 M 영역의 핵심 행동은 관찰되지 않았습니다.", "move_onward_issue": "현재 스크립트 상에서는 좋았던 점을 사람으로서 구체적으로 짚어 주는 표현, 상대가 부담 없이 받을 수 있는 수위에서의 호감 표현, 대화 흐름과 연결된 자연스러운 다음 만남 제안이 전혀 보이지 않습니다. 또한 상대의 미지근한 신호를 어떻게 읽고, 거절로 단정하거나 과대 해석하지 않고 수위에 맞는 제안을 했는지도 판단이 불가합니다. 실제 만남에서 M 단계 행동이 있었을 수 있으나, 기록이 남아 있지 않아 이번 평가에서는 “관찰 안 됨 = 0점”으로 둘 수밖에 없습니다.", "move_onward_score": 0.0, "ask_person_example": "권장 발화 예시:\n- \"언니랑 아침에 한 시간이나 얘기하셨다고 하니까, 그만큼 고민이 크셨던 것 같아요. 그 얘기 듣고 나서는 마음이 좀 편해지셨어요, 아니면 여전히 복잡하세요?\"\n- \"양도랑 속도감 얘기해 주셨는데, ○○님은 그중에 어떤 부분이 제일 부담되세요?\"\n- \"앞으로 의료 연계 쪽 아젠다를 돌려야 된다고 하셨는데, 그런 변화 자체는 기대가 되세요, 아니면 걱정이 더 크세요?\"", "ask_person_improve": "지금처럼 “조건은 회사에서 확인”이라는 틀을 잡으셨다면, 그 다음에는 반드시 사람 중심 질문을 한두 개 붙이는 연습이 필요합니다. 상대가 긴 설명을 마쳤을 때, 바로 정리 발화(“네 알겠어요.”)로 끝내지 말고, 그 안의 한 단어를 집어 “그 얘기 들으시면서 어떤 느낌이 드셨어요?”, “양이나 속도감 중에 뭐가 더 마음에 걸리세요?”처럼 ‘어떤/왜/어떻게’가 들어간 열린 질문을 한 문장만 더 던져 보세요.", "ask_person_quality": "미흡", "ease_frame_example": "권장 발화 예시:\n- \"라인 정보는 회사에서 웬만큼 맞춰 주신 것 같아서요, 오늘은 그냥 사람 얘기만 편하게 나눴으면 해요. 여기 카페 처음 와보셨어요?\"\n- \"저는 ○○님이 평소 어떤 것들 좋아하시는지가 더 궁금해서 나왔거든요. 요즘은 주말에 어떻게 보내세요?\"", "ease_frame_improve": "다음 만남에서는 지금처럼 “조건은 회사에서 확인하자”라는 메시지를 초반 1~2분 안에 한 번은 짚어 주되, 바로 이어서 아주 가벼운 사람·상황 화제를 붙이시는 것이 좋습니다. 예를 들어 “저는 ○○님이 어떤 하루를 보내시는지, 요즘 뭐에 빠져 계신지가 궁금해서 나왔어요. 오늘 여기까지 오시는 길은 어떠셨어요?”처럼, 사람에 대한 호기심 문장을 바로 질문으로 연결하면 오프닝부터 면접 톤이 내려갑니다.", "ease_frame_quality": "부분충족", "move_onward_example": "권장 발화 예시:\n- \"오늘 아침에 언니랑 나누셨던 고민까지 솔직하게 얘기해 주셔서, ○○님이 얼마나 진지하게 생각하시는 분인지 느껴졌어요. 저는 그런 점이 참 좋았어요.\"\n- \"저는 오늘 이야기 들으면서 많이 생각하게 됐어요. ○○님도 괜찮으셨다면, 다음에 시간 되실 때 편하게 또 얘기 나눠보고 싶어요.\"\n- (상대 반응이 애매할 때) \"물론 지금 바로 정해 주시지 않아도 되고요, 부담 없이 생각 나실 때 연락 주셔도 괜찮아요.\"", "move_onward_improve": "다음 만남에서는, 대화 후반부에 최소 한 번은 “오늘 대화에서 좋았던 구체적인 한 가지”를 말로 짚어 주시길 권합니다. 예를 들어 “아침에 언니랑 얘기 나누신 부분 얘기해 주셔서, ○○님이 얼마나 진지하게 고민하고 계신지 느껴져서 인상적이었어요.”처럼 사람의 태도·생각을 칭찬해 주세요. 이어서 “저는 오늘 이야기 들으면서 많이 배웠어요. ○○님만 괜찮으시다면, 다음에 여유 있으실 때 또 이런 얘기 나눌 수 있으면 좋겠어요.”처럼 부담 없는 형태로 다음을 제안해 보시면 좋겠습니다.", "move_onward_quality": "미흡", "respond_reveal_basis": "상대가 다소 긴 문장으로 상황과 생각을 설명하는 동안, 회원님은 “네 편하게 말씀하세요.”라고 말하며 발화를 허용하고, 중간중간 “그래요 그렇게 생각하시는군요.”, “네 들으면서 생각해 볼게요.”, “그렇군요. 말씀 감사해요.”, “네 알겠어요.”라는 반응을 보였습니다. 이는 최소한 상대 말을 끊지 않고 끝까지 듣고, 의견을 존중하는 태도를 보인 것으로 볼 수 있습니다. 다만 이 반응들은 주로 정보 수용·정리형 표현으로, 상대가 느꼈을 감정(부담, 고민, 속도감에 대한 압박 등)을 짚어 공감하거나 자신의 비슷한 경험·느낌을 가볍게 내보이는 수준까지는 가지 못했습니다. 또한 상대가 긴 설명을 마친 뒤, 한 단계 앞의 호응으로 돌아가거나, 그 안에서 재미·공감을 키우는 방향 전환은 관찰되지 않았습니다. 닫힘 신호나 단답 이후의 추격·압박도 보이지 않지만, 적극적인 방향 전환(화제·톤 바꾸기, 감정 호응으로 복귀하기)도 확인되지 않습니다.", "respond_reveal_issue": "주요 취약점은 두 가지입니다. 첫째, 감정 호응보다 정보 정리에 가까운 반응이 주를 이룹니다. 예를 들어 “그래요 그렇게 생각하시는군요.”는 상대 의견을 인정하는 표현이지만, “아 그럼 요즘은 좀 바쁘고 복잡하시겠어요.”처럼 구체 감정을 짚어주는 수준에는 미치지 못합니다. 둘째, 상대가 복잡한 이야기를 쏟아낸 뒤 회원님이 자신의 진짜 모습·감정을 가볍게 보여주며 상호성을 만드는 장면이 없습니다. “저라면 그 상황에서 좀 답답했을 것 같아요.”, “저도 속도감 맞추는 거에 약한 편이라 공감되네요.” 같은 짧은 자기개방이 있었으면 훨씬 따뜻한 흐름이 되었을 부분입니다. 또한, 대화가 약간 정리되는 흐름(“그걸 좀 돌리고 있는 만큼 저가 한께 그러고 생각을 해봤습니다.”) 이후, 이를 가볍게 받아 온기를 키우거나 다른 부드러운 화제로 전환하는 대신 “그렇군요. 말씀 감사해요. 네 알겠어요.”로 마무리해, 방향 전환을 통한 연결 회복 시도는 보이지 않습니다.", "respond_reveal_score": 10.0, "respond_reveal_example": "권장 발화 예시:\n- 감정 호응: \"아침에 언니랑 한참 얘기 나누셨다고 하니까, 그만큼 고민도 크셨겠어요. 양이랑 속도감 얘기 들을 때 꽤 부담되셨죠?\"\n- 진짜 나 보이기: \"저도 새로운 프로젝트 시작할 때 '속도감'이라는 말이 제일 무섭더라고요. 그래서 혼자 준비를 조금 더 하는 편이에요.\"\n- 방향 전환(막힐 때): \"제가 이해한 걸로는, 지금은 양도 많고 속도도 빨라야 해서 좀 복잡한 상태이신 거고, 그래도 어느 정도는 정리될 거라고 기대하고 계신 거죠? 제가 혹시 다르게 이해한 부분 있으면 편하게 말씀해 주세요.\"", "respond_reveal_improve": "다음 만남에서는 상대가 길게 설명을 마쳤을 때, 바로 “알겠습니다”로 정리하지 말고, 1) 그 사람이 쓴 표현 하나를 인용해 감정을 짚고, 2) 거기에 내 짧은 느낌을 한 줄 덧붙이는 ‘2단계 반응’을 연습해 보시길 권합니다. 예를 들어 “양도랑 속도감 얘기하신 거 보니까, 꽤 압박이 크실 것 같아요. 저도 속도 맞추는 일은 항상 부담스럽더라고요.”처럼요. 그리고 만약 상대가 말이 길어 조금 막힌 느낌이 든다면, 더 깊은 질문이나 자기 어필이 아니라, “제가 이해한 게 맞는지 여쭤봐도 돼요?”처럼 상대 입장을 정리·확인하면서 동시에 감정을 묻는 방향으로 전환해 보시면 좋겠습니다.", "respond_reveal_quality": "미흡"}], "comprehensive_analysis": {"comment": "대화 일부만으로 평가하지만, 관찰되는 핵심은 다음과 같습니다. 회원님은 조건 확인 대신 사람 자체에 관심을 두려는 언어(“라인은 기본 정보로 아시는 걸로… 꼭 필요한 부분만 회사 통해서 확인”, “저는 근데 다현 님이 궁금해서 오늘 만나자고 한 거거든요”)를 분명히 사용해, 자리의 기본 톤을 면접보다는 ‘사람 대 사람 만남’ 쪽으로 끌어당기려 했습니다. 다만 상대가 상당히 복잡한 맥락과 생각을 길게 풀어놓을 때, 그 안의 감정·고민·속도감에 대한 느낌을 짚어 주기보다는 “네 편하게 말씀하세요”, “그래요 그렇게 생각하시는군요”, “네 들으면서 생각해 볼게요”, “그렇군요. 말씀 감사해요”처럼 정보 수용·정리형 반응에 머물렀습니다. 질문으로 한 겹 더 파고들거나, 상대가 쓴 표현을 짚어서 공감·호기심을 보여주는 연결 행동이 부족해, 상대 입장에서는 ‘내 이야기를 이해해 주려는 사람’이라기보다 ‘정중한 청자’로 느껴질 가능성이 있습니다.", "strengths": [{"title1": "조건·스펙 확인을 회사에 맡기고 사람에 초점을 두려는 태도", "title2": "상대를 ‘사람으로 궁금하다’고 명시적으로 표현", "title3": "상대 발화를 자르지 않고 끝까지 듣는 기본 태도", "detail1": "“라인은 기본 정보로 아시는 걸로 알고 있는데요. 꼭 필요한 부분만 회사 통해서 확인하시면 될 것 같아요.”라는 말에서, 직접적인 스펙 검증이나 재확인을 피하려는 의도가 드러납니다. 이는 첫 만남을 평가·심사 자리가 아니라 사람을 만나는 자리로 만들려는 좋은 전제입니다.", "detail2": "“저는 근데 다현 님이 궁금해서 오늘 만나자고 한 거거든요.”라고 직접 말해, 조건이 아니라 사람 자체에 관심이 있다는 메시지를 준 점은 긍정적입니다. 이는 향후 사람 중심 질문·호응으로 이어질 수 있는 좋은 출발 문장입니다.", "detail3": "상대가 다소 긴 문장으로 상황·생각을 설명하는 동안 끊지 않고 들어주고, 중간에 “네 편하게 말씀하세요.”라고 여지를 주는 모습이 보입니다. 질문 공세로 몰아붙이기보다는 ‘일단 듣는다’는 태도는, 이후 감정 호응 스킬만 보완하면 좋은 기반이 됩니다."}], "improvements": [{"title1": "상대 말의 ‘내용’이 아니라 ‘느낌’을 짚어 주는 감정 호응 추가", "title2": "상대 긴 설명 뒤, 한 문장이라도 ‘받아서 한 겹 더 묻기’", "title3": "형식적 정중함을 줄이고, 구체 장면을 함께 떠올리는 표현 연습", "detail1": "현재는 “그래요 그렇게 생각하시는군요.”, “네 들으면서 생각해 볼게요.”처럼 내용 정리에 가까운 반응이 많습니다. 같은 상황에서 “양도랑 속도감 때문에 부담도 좀 되시겠어요.”처럼 상대가 언급한 단어를 인용해 감정을 짚어 주면 연결감이 크게 달라집니다.", "detail2": "상대가 미래·연계·속도감에 대해 길게 말한 뒤 회원님은 “네 알겠어요.”로 마무리했습니다. 이때 “언니 얘기 들으시고 나서는 조금 마음이 놓이셨어요, 아니면 여전히 좀 복잡하세요?”처럼 구체 후속 질문을 한 번만 더 붙여도 ‘관심을 갖고 듣는다’는 인상이 강해집니다.", "detail3": "“그렇군요. 말씀 감사해요.”는 공손하지만, 어디가 어떻게 공감되었는지 전달되지는 않습니다. “아침에 언니랑 한 시간이나 얘기 나누셨다니까, 꽤 고민이 크셨던 것 같아요.”처럼 구체 장면을 함께 그려주는 문장을 연습하시면, 같은 정중함 안에서도 훨씬 따뜻하게 느껴집니다."}]}}, "ai_traininglog_id": "ac81c16c-5efa-422a-aa77-7c11bce76dfa"}