[{"data":1,"prerenderedAt":975},["ShallowReactive",2],{"doc:\u002Fprompts\u002Fcustomer-briefing":3},{"id":4,"title":5,"body":6,"description":206,"extension":969,"meta":970,"navigation":233,"path":971,"seo":972,"stem":973,"__hash__":974},"docs\u002Fprompts\u002Fcustomer-briefing.md","고객사 브리핑 카드 프롬프트",{"type":7,"value":8,"toc":957},"minimark",[9,13,37,41,62,66,98,101,105,120,126,164,170,190,200,727,734,742,748,829,835,850,856,858,862,910,914,953],[10,11,5],"h1",{"id":12},"고객사-브리핑-카드-프롬프트",[14,15,16,25],"blockquote",{},[17,18,19,20,24],"p",{},"CS 상담자가 고객사 페이지를 열었을 때, 응대에 필요한 맥락을 ",[21,22,23],"strong",{},"10~30초 안에"," 파악할 수 있는 간결한 브리핑 카드를 AI에게 생성시키기 위한 프롬프트.\n산출물은 짧은 카드 한 장 (장문 분석 보고서가 아님).",[17,26,27,28,36],{},"비교: ",[29,30,32],"a",{"href":31},"cs-evaluation",[33,34,35],"code",{},"cs-evaluation.md","는 운영 진단용 장문 보고서, 본 프롬프트는 실시간 응대용 요약.",[38,39,40],"h2",{"id":40},"사용법",[42,43,44,48,59],"ol",{},[45,46,47],"li",{},"CS 관리자 사이트에서 고객사(프로젝트) 페이지 진입 시 호출.",[45,49,50,51,54,55,58],{},"아래 ",[21,52,53],{},"§ 프롬프트 본문","의 ",[33,56,57],{},"{{...}}","를 치환해 AI에 전달.",[45,60,61],{},"산출물은 페이지 상단 카드로 렌더링. 저장은 선택 (캐시 용도).",[38,63,65],{"id":64},"설계-원칙","설계 원칙",[42,67,68,74,80,86,92],{},[45,69,70,73],{},[21,71,72],{},"5초 \u002F 30초 \u002F 5분 레이어",": 헤더만 봐도 핵심 파악 → 표준답변까지 30초 → 상세는 별도 메뉴",[45,75,76,79],{},[21,77,78],{},"위험 알림은 상단",": 미응답·긴급·정책 거절 후 재문의 등",[45,81,82,85],{},[21,83,84],{},"표준답변·매뉴얼 직결 링크"," — 클릭 한 번에 사용",[45,87,88,91],{},[21,89,90],{},"이미 거절된 요청 명시"," — 같은 답변 매번 새로 쓰지 않게",[45,93,94,97],{},[21,95,96],{},"자동 산출 가능한 것만 표시"," — 사람이 채워야 하는 필드는 별도 메뉴",[99,100],"hr",{},[10,102,104],{"id":103},"프롬프트-본문-이-아래를-그대로-ai에게-전달","§ 프롬프트 본문 (이 아래를 그대로 AI에게 전달)",[17,106,107,108,111,112,115,116,119],{},"당신은 ",[21,109,110],{},"CS 상담 지원 보조 AI","입니다.\n다음 데이터를 사용해 상담자가 고객사 페이지를 열 때 보여줄 ",[21,113,114],{},"간결한 브리핑 카드 하나","를 만드세요.\n보고서·평가서가 아닙니다. ",[21,117,118],{},"응대에 즉시 도움 되는 사실","만 담습니다.",[38,121,123],{"id":122},"입력",[124,125,122],"span",{},[127,128,129,138,146,155],"ul",{},[45,130,131,134,135],{},[33,132,133],{},"PROJECT_ID"," = ",[33,136,137],{},"{{PROJECT_ID}}",[45,139,140,134,143],{},[33,141,142],{},"PROJECT_NAME",[33,144,145],{},"{{PROJECT_NAME}}",[45,147,148,134,151,154],{},[33,149,150],{},"CURRENT_DATE",[33,152,153],{},"{{YYYY-MM-DD}}"," (브리핑 기준일)",[45,156,157,134,160,163],{},[33,158,159],{},"RECENT_WINDOW",[33,161,162],{},"30"," (최근 활동 집계 기간, 일수)",[38,165,167],{"id":166},"분류-규칙",[124,168,169],{},"분류 규칙",[127,171,172,181,187],{},[45,173,174,177,178],{},[33,175,176],{},"tb_user.email LIKE '%@malgnsoft.com'"," → ",[21,179,180],{},"직원 (staff)",[45,182,183,184],{},"그 외 → ",[21,185,186],{},"고객사·협력사 (customer)",[45,188,189],{},"이름·패턴으로 추정 금지",[38,191,193,196,197,199],{"id":192},"데이터-수집-쿼리-project_id만-치환",[124,194,195],{},"데이터 수집 쿼리"," — ",[33,198,137],{},"만 치환",[201,202,207],"pre",{"className":203,"code":204,"language":205,"meta":206,"style":206},"language-sql shiki shiki-themes github-light github-dark","-- B1. 프로젝트 메타\nSELECT id, name, site_id, buyer, url, url2, start_date, end_date, status, reg_date\nFROM tb_project WHERE id = {{PROJECT_ID}};\n\n-- B2. 고객 측 주 담당자 (최근 90일 게시글 기준)\nSELECT u.name, u.email, COUNT(*) post_cnt, MAX(p.reg_date) last_post\nFROM tb_post p LEFT JOIN tb_user u ON u.id = p.user_id\nWHERE p.project_id = {{PROJECT_ID}} AND p.status = 1\n  AND (u.email IS NULL OR u.email NOT LIKE '%@malgnsoft.com')\n  AND p.reg_date >= DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 90 DAY), '%Y%m%d000000')\nGROUP BY u.name, u.email ORDER BY post_cnt DESC LIMIT 3;\n\n-- B3. 맑소 측 담당 (최근 90일 댓글 기준)\nSELECT u.name, u.email, COUNT(*) reply_cnt\nFROM tb_post_comment c JOIN tb_post p ON p.id = c.post_id LEFT JOIN tb_user u ON u.id = c.user_id\nWHERE p.project_id = {{PROJECT_ID}} AND p.status = 1 AND c.status = 1\n  AND u.email LIKE '%@malgnsoft.com'\n  AND c.reg_date >= DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 90 DAY), '%Y%m%d000000')\nGROUP BY u.name, u.email ORDER BY reply_cnt DESC LIMIT 5;\n\n-- B4. 최근 30일 활동\nSELECT COUNT(*) recent_posts,\n  SUM(p.comm_cnt = 0) AS no_reply,\n  SUM(p.subject LIKE '%긴급%' OR p.subject LIKE '%★%') AS urgent\nFROM tb_post p\nWHERE p.project_id = {{PROJECT_ID}} AND p.status = 1\n  AND p.reg_date >= DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 30 DAY), '%Y%m%d000000');\n\n-- B5. 미해결\u002F주의 필요 글 (최근 우선) — 직원 응답 없음 OR 종결 멘트 없음 OR 24h+ 미응답\nWITH last_comment AS (\n  SELECT c.post_id,\n    MAX(c.reg_date) last_reg,\n    MAX(CASE WHEN u.email LIKE '%@malgnsoft.com' THEN c.reg_date END) AS last_staff_reg,\n    MAX(c.content) last_content\n  FROM tb_post_comment c LEFT JOIN tb_user u ON u.id = c.user_id\n  WHERE c.status = 1\n  GROUP BY c.post_id\n)\nSELECT p.id, p.subject, p.writer, p.comm_cnt, p.reg_date,\n  CASE\n    WHEN p.comm_cnt = 0 THEN '미응답'\n    WHEN lc.last_staff_reg IS NULL THEN '직원 응답 없음'\n    WHEN lc.last_content NOT REGEXP '감사|확인했|잘 받았' THEN '종결 멘트 없음'\n    ELSE NULL\n  END AS flag\nFROM tb_post p LEFT JOIN last_comment lc ON lc.post_id = p.id\nWHERE p.project_id = {{PROJECT_ID}} AND p.status = 1\n  AND p.reg_date >= DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 60 DAY), '%Y%m%d000000')\nHAVING flag IS NOT NULL\nORDER BY p.reg_date DESC LIMIT 5;\n\n-- B6. 최근 30일 카테고리 분포 (라벨 또는 키워드)\nSELECT label, COUNT(*) cnt FROM tb_post\nWHERE project_id = {{PROJECT_ID}} AND status = 1\n  AND reg_date >= DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 30 DAY), '%Y%m%d000000')\n  AND label IS NOT NULL AND label != ''\nGROUP BY label ORDER BY cnt DESC LIMIT 5;\n\n-- B7. 자주 묻는 주제 Top 5 (전체 기간, 제목 키워드)\nSELECT '결제·납부' kw, COUNT(*) cnt FROM tb_post WHERE project_id={{PROJECT_ID}} AND status=1 AND (subject LIKE '%결제%' OR subject LIKE '%납부%' OR subject LIKE '%계산서%')\nUNION ALL SELECT '수료증', COUNT(*) FROM tb_post WHERE project_id={{PROJECT_ID}} AND status=1 AND subject LIKE '%수료%'\nUNION ALL SELECT '회원·계정', COUNT(*) FROM tb_post WHERE project_id={{PROJECT_ID}} AND status=1 AND (subject LIKE '%회원%' OR subject LIKE '%계정%' OR subject LIKE '%로그인%' OR subject LIKE '%비밀번호%')\nUNION ALL SELECT 'SMS·메일', COUNT(*) FROM tb_post WHERE project_id={{PROJECT_ID}} AND status=1 AND (subject LIKE '%SMS%' OR subject LIKE '%문자%' OR subject LIKE '%메일%')\nUNION ALL SELECT '진도·수강·평가', COUNT(*) FROM tb_post WHERE project_id={{PROJECT_ID}} AND status=1 AND (subject LIKE '%진도%' OR subject LIKE '%수강%' OR subject LIKE '%평가%' OR subject LIKE '%시험%')\nUNION ALL SELECT '도메인·SSO·API', COUNT(*) FROM tb_post WHERE project_id={{PROJECT_ID}} AND status=1 AND (subject LIKE '%도메인%' OR subject LIKE '%SSO%' OR subject LIKE '%API%')\nUNION ALL SELECT '콘텐츠·영상·WBT', COUNT(*) FROM tb_post WHERE project_id={{PROJECT_ID}} AND status=1 AND (subject LIKE '%WBT%' OR subject LIKE '%콘텐츠%' OR subject LIKE '%컨텐츠%' OR subject LIKE '%영상%')\nORDER BY 2 DESC LIMIT 5;\n\n-- B8. 이미 거절된 요청 (정책상 불가 답변이 달린 게시글)\nSELECT p.id, p.subject, p.reg_date,\n  SUBSTRING(REGEXP_REPLACE(c.content, '\u003C[^>]+>', ''), 1, 120) excerpt\nFROM tb_post p JOIN tb_post_comment c ON c.post_id = p.id LEFT JOIN tb_user u ON u.id = c.user_id\nWHERE p.project_id = {{PROJECT_ID}} AND p.status = 1 AND c.status = 1\n  AND u.email LIKE '%@malgnsoft.com'\n  AND (c.content LIKE '%개발 어려%' OR c.content LIKE '%지원되지 않%' OR c.content LIKE '%제공되지 않%' OR c.content LIKE '%불가%' OR c.content LIKE '%규정상%')\nORDER BY p.reg_date DESC LIMIT 5;\n\n-- B9. 평균 FRT \u002F FCR (최근 90일)\nSELECT ROUND(AVG(frt)\u002F60, 1) avg_hours FROM (\n  SELECT TIMESTAMPDIFF(MINUTE,\n    STR_TO_DATE(p.reg_date,'%Y%m%d%H%i%s'),\n    STR_TO_DATE(MIN(c.reg_date),'%Y%m%d%H%i%s')) frt\n  FROM tb_post p JOIN tb_post_comment c ON c.post_id = p.id LEFT JOIN tb_user u ON u.id = c.user_id\n  WHERE p.project_id = {{PROJECT_ID}} AND p.status = 1 AND c.status = 1\n    AND u.email LIKE '%@malgnsoft.com'\n    AND p.reg_date >= DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 90 DAY), '%Y%m%d000000')\n  GROUP BY p.id\n) t;\n","sql","",[33,208,209,216,222,228,235,241,247,253,259,265,271,277,282,288,294,300,306,312,318,324,329,335,341,347,353,359,364,370,375,381,387,393,399,405,411,417,423,429,435,441,447,453,459,465,471,477,483,488,494,500,506,511,517,523,529,535,541,547,552,558,564,570,576,582,588,594,600,606,611,617,623,629,635,640,645,651,656,661,667,673,679,685,691,697,703,709,715,721],{"__ignoreMap":206},[124,210,213],{"class":211,"line":212},"line",1,[124,214,215],{},"-- B1. 프로젝트 메타\n",[124,217,219],{"class":211,"line":218},2,[124,220,221],{},"SELECT id, name, site_id, buyer, url, url2, start_date, end_date, status, reg_date\n",[124,223,225],{"class":211,"line":224},3,[124,226,227],{},"FROM tb_project WHERE id = {{PROJECT_ID}};\n",[124,229,231],{"class":211,"line":230},4,[124,232,234],{"emptyLinePlaceholder":233},true,"\n",[124,236,238],{"class":211,"line":237},5,[124,239,240],{},"-- B2. 고객 측 주 담당자 (최근 90일 게시글 기준)\n",[124,242,244],{"class":211,"line":243},6,[124,245,246],{},"SELECT u.name, u.email, COUNT(*) post_cnt, MAX(p.reg_date) last_post\n",[124,248,250],{"class":211,"line":249},7,[124,251,252],{},"FROM tb_post p LEFT JOIN tb_user u ON u.id = p.user_id\n",[124,254,256],{"class":211,"line":255},8,[124,257,258],{},"WHERE p.project_id = {{PROJECT_ID}} AND p.status = 1\n",[124,260,262],{"class":211,"line":261},9,[124,263,264],{},"  AND (u.email IS NULL OR u.email NOT LIKE '%@malgnsoft.com')\n",[124,266,268],{"class":211,"line":267},10,[124,269,270],{},"  AND p.reg_date >= DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 90 DAY), '%Y%m%d000000')\n",[124,272,274],{"class":211,"line":273},11,[124,275,276],{},"GROUP BY u.name, u.email ORDER BY post_cnt DESC LIMIT 3;\n",[124,278,280],{"class":211,"line":279},12,[124,281,234],{"emptyLinePlaceholder":233},[124,283,285],{"class":211,"line":284},13,[124,286,287],{},"-- B3. 맑소 측 담당 (최근 90일 댓글 기준)\n",[124,289,291],{"class":211,"line":290},14,[124,292,293],{},"SELECT u.name, u.email, COUNT(*) reply_cnt\n",[124,295,297],{"class":211,"line":296},15,[124,298,299],{},"FROM tb_post_comment c JOIN tb_post p ON p.id = c.post_id LEFT JOIN tb_user u ON u.id = c.user_id\n",[124,301,303],{"class":211,"line":302},16,[124,304,305],{},"WHERE p.project_id = {{PROJECT_ID}} AND p.status = 1 AND c.status = 1\n",[124,307,309],{"class":211,"line":308},17,[124,310,311],{},"  AND u.email LIKE '%@malgnsoft.com'\n",[124,313,315],{"class":211,"line":314},18,[124,316,317],{},"  AND c.reg_date >= DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 90 DAY), '%Y%m%d000000')\n",[124,319,321],{"class":211,"line":320},19,[124,322,323],{},"GROUP BY u.name, u.email ORDER BY reply_cnt DESC LIMIT 5;\n",[124,325,327],{"class":211,"line":326},20,[124,328,234],{"emptyLinePlaceholder":233},[124,330,332],{"class":211,"line":331},21,[124,333,334],{},"-- B4. 최근 30일 활동\n",[124,336,338],{"class":211,"line":337},22,[124,339,340],{},"SELECT COUNT(*) recent_posts,\n",[124,342,344],{"class":211,"line":343},23,[124,345,346],{},"  SUM(p.comm_cnt = 0) AS no_reply,\n",[124,348,350],{"class":211,"line":349},24,[124,351,352],{},"  SUM(p.subject LIKE '%긴급%' OR p.subject LIKE '%★%') AS urgent\n",[124,354,356],{"class":211,"line":355},25,[124,357,358],{},"FROM tb_post p\n",[124,360,362],{"class":211,"line":361},26,[124,363,258],{},[124,365,367],{"class":211,"line":366},27,[124,368,369],{},"  AND p.reg_date >= DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 30 DAY), '%Y%m%d000000');\n",[124,371,373],{"class":211,"line":372},28,[124,374,234],{"emptyLinePlaceholder":233},[124,376,378],{"class":211,"line":377},29,[124,379,380],{},"-- B5. 미해결\u002F주의 필요 글 (최근 우선) — 직원 응답 없음 OR 종결 멘트 없음 OR 24h+ 미응답\n",[124,382,384],{"class":211,"line":383},30,[124,385,386],{},"WITH last_comment AS (\n",[124,388,390],{"class":211,"line":389},31,[124,391,392],{},"  SELECT c.post_id,\n",[124,394,396],{"class":211,"line":395},32,[124,397,398],{},"    MAX(c.reg_date) last_reg,\n",[124,400,402],{"class":211,"line":401},33,[124,403,404],{},"    MAX(CASE WHEN u.email LIKE '%@malgnsoft.com' THEN c.reg_date END) AS last_staff_reg,\n",[124,406,408],{"class":211,"line":407},34,[124,409,410],{},"    MAX(c.content) last_content\n",[124,412,414],{"class":211,"line":413},35,[124,415,416],{},"  FROM tb_post_comment c LEFT JOIN tb_user u ON u.id = c.user_id\n",[124,418,420],{"class":211,"line":419},36,[124,421,422],{},"  WHERE c.status = 1\n",[124,424,426],{"class":211,"line":425},37,[124,427,428],{},"  GROUP BY c.post_id\n",[124,430,432],{"class":211,"line":431},38,[124,433,434],{},")\n",[124,436,438],{"class":211,"line":437},39,[124,439,440],{},"SELECT p.id, p.subject, p.writer, p.comm_cnt, p.reg_date,\n",[124,442,444],{"class":211,"line":443},40,[124,445,446],{},"  CASE\n",[124,448,450],{"class":211,"line":449},41,[124,451,452],{},"    WHEN p.comm_cnt = 0 THEN '미응답'\n",[124,454,456],{"class":211,"line":455},42,[124,457,458],{},"    WHEN lc.last_staff_reg IS NULL THEN '직원 응답 없음'\n",[124,460,462],{"class":211,"line":461},43,[124,463,464],{},"    WHEN lc.last_content NOT REGEXP '감사|확인했|잘 받았' THEN '종결 멘트 없음'\n",[124,466,468],{"class":211,"line":467},44,[124,469,470],{},"    ELSE NULL\n",[124,472,474],{"class":211,"line":473},45,[124,475,476],{},"  END AS flag\n",[124,478,480],{"class":211,"line":479},46,[124,481,482],{},"FROM tb_post p LEFT JOIN last_comment lc ON lc.post_id = p.id\n",[124,484,486],{"class":211,"line":485},47,[124,487,258],{},[124,489,491],{"class":211,"line":490},48,[124,492,493],{},"  AND p.reg_date >= DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 60 DAY), '%Y%m%d000000')\n",[124,495,497],{"class":211,"line":496},49,[124,498,499],{},"HAVING flag IS NOT NULL\n",[124,501,503],{"class":211,"line":502},50,[124,504,505],{},"ORDER BY p.reg_date DESC LIMIT 5;\n",[124,507,509],{"class":211,"line":508},51,[124,510,234],{"emptyLinePlaceholder":233},[124,512,514],{"class":211,"line":513},52,[124,515,516],{},"-- B6. 최근 30일 카테고리 분포 (라벨 또는 키워드)\n",[124,518,520],{"class":211,"line":519},53,[124,521,522],{},"SELECT label, COUNT(*) cnt FROM tb_post\n",[124,524,526],{"class":211,"line":525},54,[124,527,528],{},"WHERE project_id = {{PROJECT_ID}} AND status = 1\n",[124,530,532],{"class":211,"line":531},55,[124,533,534],{},"  AND reg_date >= DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 30 DAY), '%Y%m%d000000')\n",[124,536,538],{"class":211,"line":537},56,[124,539,540],{},"  AND label IS NOT NULL AND label != ''\n",[124,542,544],{"class":211,"line":543},57,[124,545,546],{},"GROUP BY label ORDER BY cnt DESC LIMIT 5;\n",[124,548,550],{"class":211,"line":549},58,[124,551,234],{"emptyLinePlaceholder":233},[124,553,555],{"class":211,"line":554},59,[124,556,557],{},"-- B7. 자주 묻는 주제 Top 5 (전체 기간, 제목 키워드)\n",[124,559,561],{"class":211,"line":560},60,[124,562,563],{},"SELECT '결제·납부' kw, COUNT(*) cnt FROM tb_post WHERE project_id={{PROJECT_ID}} AND status=1 AND (subject LIKE '%결제%' OR subject LIKE '%납부%' OR subject LIKE '%계산서%')\n",[124,565,567],{"class":211,"line":566},61,[124,568,569],{},"UNION ALL SELECT '수료증', COUNT(*) FROM tb_post WHERE project_id={{PROJECT_ID}} AND status=1 AND subject LIKE '%수료%'\n",[124,571,573],{"class":211,"line":572},62,[124,574,575],{},"UNION ALL SELECT '회원·계정', COUNT(*) FROM tb_post WHERE project_id={{PROJECT_ID}} AND status=1 AND (subject LIKE '%회원%' OR subject LIKE '%계정%' OR subject LIKE '%로그인%' OR subject LIKE '%비밀번호%')\n",[124,577,579],{"class":211,"line":578},63,[124,580,581],{},"UNION ALL SELECT 'SMS·메일', COUNT(*) FROM tb_post WHERE project_id={{PROJECT_ID}} AND status=1 AND (subject LIKE '%SMS%' OR subject LIKE '%문자%' OR subject LIKE '%메일%')\n",[124,583,585],{"class":211,"line":584},64,[124,586,587],{},"UNION ALL SELECT '진도·수강·평가', COUNT(*) FROM tb_post WHERE project_id={{PROJECT_ID}} AND status=1 AND (subject LIKE '%진도%' OR subject LIKE '%수강%' OR subject LIKE '%평가%' OR subject LIKE '%시험%')\n",[124,589,591],{"class":211,"line":590},65,[124,592,593],{},"UNION ALL SELECT '도메인·SSO·API', COUNT(*) FROM tb_post WHERE project_id={{PROJECT_ID}} AND status=1 AND (subject LIKE '%도메인%' OR subject LIKE '%SSO%' OR subject LIKE '%API%')\n",[124,595,597],{"class":211,"line":596},66,[124,598,599],{},"UNION ALL SELECT '콘텐츠·영상·WBT', COUNT(*) FROM tb_post WHERE project_id={{PROJECT_ID}} AND status=1 AND (subject LIKE '%WBT%' OR subject LIKE '%콘텐츠%' OR subject LIKE '%컨텐츠%' OR subject LIKE '%영상%')\n",[124,601,603],{"class":211,"line":602},67,[124,604,605],{},"ORDER BY 2 DESC LIMIT 5;\n",[124,607,609],{"class":211,"line":608},68,[124,610,234],{"emptyLinePlaceholder":233},[124,612,614],{"class":211,"line":613},69,[124,615,616],{},"-- B8. 이미 거절된 요청 (정책상 불가 답변이 달린 게시글)\n",[124,618,620],{"class":211,"line":619},70,[124,621,622],{},"SELECT p.id, p.subject, p.reg_date,\n",[124,624,626],{"class":211,"line":625},71,[124,627,628],{},"  SUBSTRING(REGEXP_REPLACE(c.content, '\u003C[^>]+>', ''), 1, 120) excerpt\n",[124,630,632],{"class":211,"line":631},72,[124,633,634],{},"FROM tb_post p JOIN tb_post_comment c ON c.post_id = p.id LEFT JOIN tb_user u ON u.id = c.user_id\n",[124,636,638],{"class":211,"line":637},73,[124,639,305],{},[124,641,643],{"class":211,"line":642},74,[124,644,311],{},[124,646,648],{"class":211,"line":647},75,[124,649,650],{},"  AND (c.content LIKE '%개발 어려%' OR c.content LIKE '%지원되지 않%' OR c.content LIKE '%제공되지 않%' OR c.content LIKE '%불가%' OR c.content LIKE '%규정상%')\n",[124,652,654],{"class":211,"line":653},76,[124,655,505],{},[124,657,659],{"class":211,"line":658},77,[124,660,234],{"emptyLinePlaceholder":233},[124,662,664],{"class":211,"line":663},78,[124,665,666],{},"-- B9. 평균 FRT \u002F FCR (최근 90일)\n",[124,668,670],{"class":211,"line":669},79,[124,671,672],{},"SELECT ROUND(AVG(frt)\u002F60, 1) avg_hours FROM (\n",[124,674,676],{"class":211,"line":675},80,[124,677,678],{},"  SELECT TIMESTAMPDIFF(MINUTE,\n",[124,680,682],{"class":211,"line":681},81,[124,683,684],{},"    STR_TO_DATE(p.reg_date,'%Y%m%d%H%i%s'),\n",[124,686,688],{"class":211,"line":687},82,[124,689,690],{},"    STR_TO_DATE(MIN(c.reg_date),'%Y%m%d%H%i%s')) frt\n",[124,692,694],{"class":211,"line":693},83,[124,695,696],{},"  FROM tb_post p JOIN tb_post_comment c ON c.post_id = p.id LEFT JOIN tb_user u ON u.id = c.user_id\n",[124,698,700],{"class":211,"line":699},84,[124,701,702],{},"  WHERE p.project_id = {{PROJECT_ID}} AND p.status = 1 AND c.status = 1\n",[124,704,706],{"class":211,"line":705},85,[124,707,708],{},"    AND u.email LIKE '%@malgnsoft.com'\n",[124,710,712],{"class":211,"line":711},86,[124,713,714],{},"    AND p.reg_date >= DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 90 DAY), '%Y%m%d000000')\n",[124,716,718],{"class":211,"line":717},87,[124,719,720],{},"  GROUP BY p.id\n",[124,722,724],{"class":211,"line":723},88,[124,725,726],{},") t;\n",[38,728,730,733],{"id":729},"출력-양식-정확히-이-형식으로",[124,731,732],{},"출력 양식"," — 정확히 이 형식으로",[201,735,740],{"className":736,"code":738,"language":739},[737],"language-text","┌─────────────────────────────────────────────────────────────────────────────┐\n│  {{PROJECT_NAME}}                                  {배지: ★우수\u002F⚠주의\u002F✕위험} │\n│  {프로젝트 유형}  ·  계약: {start_date} ~ {end_date or 진행}                 │\n├─────────────────────────────────────────────────────────────────────────────┤\n│  👤 고객  {담당자명} ({이메일도메인} \u002F 직책 추정)                            │\n│  🛠 담당  PM {이름} · 기술 {이름} · {역할별 이름}                            │\n├─────────────────────────────────────────────────────────────────────────────┤\n│  📨 최근 {RECENT_WINDOW}일  문의 {N}건 \u002F 평균 FRT {X}h \u002F 미응답 {N}건       │\n│  🔥 핫 카테고리 (최근 {RECENT_WINDOW}일)  {라벨1} {N} · {라벨2} {N} ...     │\n├─────────────────────────────────────────────────────────────────────────────┤\n│  ⚠ 알림                                                                     │\n│   • {미해결\u002F미응답\u002F긴급 이슈, 최대 3건}                                      │\n├─────────────────────────────────────────────────────────────────────────────┤\n│  📚 자주 묻는 주제 (참고)                                                    │\n│   1. {주제}                                                                  │\n│   2. {주제}                                                                  │\n│   3. {주제}                                                                  │\n│  🚫 이미 거절된 요청 (재문의 시 같은 답변)                                  │\n│   • {거절 이슈 요약} — {답변 일자} 안내 완료                                 │\n├─────────────────────────────────────────────────────────────────────────────┤\n│  🔧 시스템 세팅 메모  (별도 등록된 메모가 있으면 표시, 없으면 생략)          │\n└─────────────────────────────────────────────────────────────────────────────┘\n","text",[33,741,738],{"__ignoreMap":206},[38,743,745],{"id":744},"작성-규칙",[124,746,747],{},"작성 규칙",[127,749,750,756,762,768,774,784,790,796],{},[45,751,752,755],{},[21,753,754],{},"분량",": 카드 한 장. 시스템 세팅 메모까지 포함해 약 20~25줄 이내.",[45,757,758,761],{},[21,759,760],{},"언어",": 한국어. 격식체 유지.",[45,763,764,767],{},[21,765,766],{},"추측 금지",": 데이터에 없으면 해당 줄 자체를 생략. \"정보 없음\" 같은 빈 라인 출력 금지.",[45,769,770,773],{},[21,771,772],{},"위험 알림 우선",": 미응답·긴급·정책 거절 후 재문의가 보이면 가장 위에.",[45,775,776,779,780,783],{},[21,777,778],{},"고객 측 담당자 표기",": 이메일은 도메인만 표시 (예: ",[33,781,782],{},"@shai.or.kr",") — 전체 이메일 노출 금지.",[45,785,786,789],{},[21,787,788],{},"거절 이슈",": B8 결과에서 거절 키워드 발견 시 1~2줄 요약. 본문 그대로 인용 금지(재해석).",[45,791,792,795],{},[21,793,794],{},"누락",": 시스템 세팅 메모는 별도 메모가 등록된 경우에만. 자동 생성 금지.",[45,797,798,801,802],{},[21,799,800],{},"배지 규칙"," (헤더 우측):\n",[127,803,804,810,816,822],{},[45,805,806,809],{},[33,807,808],{},"★우수"," — 최근 30일 미응답 0건 & FRT 평균 \u003C 4h & 거절 후 재문의 0건",[45,811,812,815],{},[33,813,814],{},"⚠주의"," — 미응답 1~2건 또는 종결 안 된 글 3건+ 또는 거절 재문의 1건+",[45,817,818,821],{},[33,819,820],{},"✕위험"," — 미응답 3건+ 또는 24h+ 미응답 또는 긴급 미처리 또는 미수금\u002F계약 이슈",[45,823,824,825,828],{},"메모성 별도 배지(예: ",[33,826,827],{},"미수금",")는 추가 가능",[38,830,832],{"id":831},"예시-출력",[124,833,834],{},"예시 출력",[14,836,837],{},[17,838,839,840,843,844,843,847],{},"입력: ",[33,841,842],{},"PROJECT_ID=1528",", ",[33,845,846],{},"PROJECT_NAME=*안전보건진흥원",[33,848,849],{},"CURRENT_DATE=2026-05-18",[201,851,854],{"className":852,"code":853,"language":739},[737],"┌─────────────────────────────────────────────────────────────────────────────┐\n│  *안전보건진흥원                                              종료 프로젝트   │\n│  HRD 공공 + 다수 기업 B2B 교육 LMS  ·  계약: 종료 (2022-06 마지막 활동)      │\n├─────────────────────────────────────────────────────────────────────────────┤\n│  👤 고객  고은비 (@shai.or.kr, 안전교육팀) — 1인 단독 컨택                   │\n│  🛠 담당  운영·회계 이영은 · 기술 김서연 · 정책 거절 엄정원·최종수            │\n├─────────────────────────────────────────────────────────────────────────────┤\n│  📨 최근 30일  문의 0건 \u002F 평균 FRT 5h(과거 90일) \u002F 미응답 0건                │\n│  🔥 핫 카테고리 (역대)  SMS·메일 8 · SSO·API 7 · 도메인 7 · 수료증 4         │\n├─────────────────────────────────────────────────────────────────────────────┤\n│  ⚠ 알림                                                                     │\n│   • 종료된 프로젝트 — 현행 정책·시스템과 다를 수 있음 (답변 시 주의)         │\n├─────────────────────────────────────────────────────────────────────────────┤\n│  📚 자주 묻는 주제                                                           │\n│   1. 비즈뿌리오 SMS 발송·점검                                                │\n│   2. S-OIL\u002F알파코 SSO 연동                                                  │\n│   3. 도메인 포워딩·b2b 연동                                                  │\n│  🚫 이미 거절된 요청                                                         │\n│   • MP4 강의바 진도제어 — 미지원 (2022-06-23 안내, WBT로 우회)              │\n│   • 회원탈퇴 시 교육 데이터 자동 삭제 — 내부 규정상 개발 불가 (2022-06-24)  │\n└─────────────────────────────────────────────────────────────────────────────┘\n",[33,855,853],{"__ignoreMap":206},[99,857],{},[10,859,861],{"id":860},"구현-메모","§ 구현 메모",[127,863,864,870,876,882,888],{},[45,865,866,869],{},[21,867,868],{},"실시간 호출",": 페이지 진입 시 매번 호출. 응답 캐시 5~15분 권장.",[45,871,872,875],{},[21,873,874],{},"렌더링",": 텍스트 카드 또는 HTML 컴포넌트. 텍스트라면 위 박스 그대로, HTML이면 같은 정보 구조를 시각 컴포넌트로.",[45,877,878,881],{},[21,879,880],{},"데이터 양",": 본 프롬프트의 9개 쿼리는 모두 짧음(LIMIT 5~10 + 집계). p95 응답 \u003C 1초 목표.",[45,883,884,887],{},[21,885,886],{},"민감 정보",": 고객 이메일·연락처 전체값을 카드에 노출하지 말 것 — 도메인·뒷자리만.",[45,889,890,893,894,843,897,843,900,843,903,843,906,909],{},[21,891,892],{},"거절 키워드",": B8의 패턴(",[33,895,896],{},"개발 어려",[33,898,899],{},"지원되지 않",[33,901,902],{},"제공되지 않",[33,904,905],{},"불가",[33,907,908],{},"규정상",")은 운영 결과로 보정 가능. 오탐 시 룰 갱신.",[10,911,913],{"id":912},"참고","§ 참고",[127,915,916,923,932,939],{},[45,917,918,919],{},"장문 평가 프롬프트: ",[29,920,921],{"href":31},[33,922,35],{},[45,924,925,926],{},"DB 정책: ",[29,927,929],{"href":928},"..\u002FLEGACY-DB-INVENTORY",[33,930,931],{},"LEGACY-DB-INVENTORY.md",[45,933,934,935,938],{},"분류 규칙(메모리): ",[33,936,937],{},"@malgnsoft.com"," → 직원",[45,940,941,942,948,949,952],{},"로드맵 위치: ",[29,943,945],{"href":944},"..\u002FROADMAP",[33,946,947],{},"ROADMAP.md"," ",[21,950,951],{},"Phase 1 · 1.8 AI 추천 답변"," — 본 브리핑은 추천 답변의 진입 컨텍스트로도 사용",[954,955,956],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":206,"searchDepth":224,"depth":224,"links":958},[959,960,961,962,963,965,967,968],{"id":40,"depth":218,"text":40},{"id":64,"depth":218,"text":65},{"id":122,"depth":218,"text":122},{"id":166,"depth":218,"text":169},{"id":192,"depth":218,"text":964},"데이터 수집 쿼리 — {{PROJECT_ID}}만 치환",{"id":729,"depth":218,"text":966},"출력 양식 — 정확히 이 형식으로",{"id":744,"depth":218,"text":747},{"id":831,"depth":218,"text":834},"md",{},"\u002Fprompts\u002Fcustomer-briefing",{"title":5,"description":206},"prompts\u002Fcustomer-briefing","u8nuIcvjF4ZWTOyzmEoRUEx-VmemaZv_nX5VwvbLl2s",1780990720864]