도시아재
도시아재
🗡️ AI 레전드
🚀 SNS 챌린지 달성자
🏅 베스트오브베스트

고객 응대문에 ‘연습용 매물’이 왜 들어갔을까: Aside 스킬 세 군데 고치고 다시 시험한 기록

한눈에 보기

  • 2주차에 다듬은 고객 응대 규칙을 3주차에는 customer-reply-check라는 작은 사용자 스킬로 만들었습니다. 같은 가상 고객 문의를 새 세션에서 두 번 실행해, 고객 문장에 섞인 내부 설명을 스킬 수정으로 분리했습니다.

  • 내장 chrome 스킬 비교에서는 결과 차이가 없었습니다. CLI·REPL은 공개 예시 페이지에서 각각 실행했고, MCP는 Codex의 승인 단계에서 막힌 뒤 Claude의 일회성 연결로 실제 호출·반환을 확인했습니다. 이 세 도구 실습은 고객 응대 업무와 별개였습니다.

소개

지난 2주차 사례글에서는 고객의 “월세 100만 원 이하”를 AI가 상한 초과로 잘못 읽은 문제를 보고 AGENTS.md에 원문 대조 규칙을 넣었습니다. 이번에는 그 기준을 다시 설명하지 않아도 되도록 1:1 고객 응대문을 만드는 순서를 스킬로 묶어 보기로 했습니다.

10월 13일 3주차 교안의 과제는 네 묶음이었고, 사례글 제출 기한은 10월 20일 20:59입니다. 내장 스킬 비교, 작은 사용자 스킬과 자연어 실행, CLI·REPL·MCP 각 1회 실제 사용, 그리고 막힘·재개 기록입니다. 세 도구를 모두 제 업무에 억지로 연결할 필요는 없다는 교안의 경계도 따랐습니다.

그림 1. 3주차 교안 65쪽의 네 가지 과제 묶음입니다. 출처: GPTers 24기 에이전트 하네스 3주차 교안.

진행 방법

1. 내장 스킬을 쓰면 결과가 달라질까?

먼저 같은 열린 탭 세 개(3주차 교안, 제 학습 대시보드, 지난 사례글)의 제목·주소·중복 탭 수를 정리했습니다. 새 실행 두 개에서 입력 URL과 출력 기준을 같게 했습니다. 일반 브라우저 목록 listBrowserTabs()를 사용한 경우와 내장 chrome 스킬의 안내를 읽고 chrome.tabs.query({})를 호출한 경우를 비교했습니다.

결과는 같았습니다. 교안 탭은 2개, 대시보드와 지난 사례글은 각각 1개였습니다. 스킬 사용 실행에서는 SKILL.md 열람과 Chrome API 호출을 확인했습니다. 이처럼 간단한 1회 조회에서는 스킬이 꼭 더 좋은 결과를 주지는 않았습니다. 다만 결과가 같다는 관찰도 비교 기록으로 남겼습니다.

2. 2주차의 응대 순서를 작은 스킬로 만들었습니다

사용할 때는 고객 문의 원문과 매물 조건으로 1:1 응대 초안·점검표를 만들 때입니다. 공개 매물 광고, 계약 조건 확정, 실제 발송은 제외했습니다. 입력에는 고객 원문뿐 아니라 매물 정보의 출처·확인 시점·현재 거래 가능 여부도 넣었습니다. 월세와 관리비를 나눠 보고, 모호한 예산은 질문으로 남기며, 미확인 난방비나 계약 조건은 보장하지 않도록 했습니다. 핵심 자료가 없거나 충돌하면 멈추고, 새 자료가 오면 원문 대조부터 다시 시작하게 했습니다.

저는 목적과 제외 범위를 정하고 변경안을 승인했습니다. Aside가 skills/user/customer-reply-check/SKILL.md를 새로 저장하고 형식 검사를 통과한 뒤, 새 세션에서 실제 파일을 읽는지 확인했습니다. 다른 전역 설정 파일은 건드리지 않았습니다.

스킬 이름은 customer-reply-check입니다. 실제 SKILL.md에서 월세 상한과 관리비 포함 총액 상한을 구분하고, 가상 자료 설명은 고객 문장 밖에 두는 규칙을 발췌했습니다. 아래 그림은 이 문구와 사용 범위를 읽기 쉽게 재배치한 도식입니다.

그림 2. customer-reply-check의 실제 SKILL.md 문구 두 곳과 입력·출력·제외 범위를 발췌해 다시 배치한 도식입니다. 앱 화면 캡처는 아닙니다.

3. 같은 가상 문의로 첫 실행과 재시험

지난 사례에 쓴 가상 문의와 가상 매물 조건을 다시 사용했습니다. 실제 매물이나 고객 정보는 아닙니다. 다음 프롬프트를 두 번 모두 그대로 넣었고, 각 실행은 새 Aside 세션에서 했습니다.

실행 프롬프트 원문

customer-reply-check 스킬을 사용해 다음 가상 고객 문의에 대한 1:1 응대문 초안과 자체 점검표를 만들어줘. 실제 발송·게시·파일 수정은 하지 마. 스킬 사용 여부와 확인 위치도 알려줘.

[가상 고객 문의]
근처 공단의 공장 직원 숙소로 사용하려고 합니다. 여러 명이 이용하다 보니 모가면에서 방 3개짜리 월세를 찾고 있습니다. 보증금은 2,000만 원까지, 월세는 100만 원이 넘으면 안 됩니다. 주차는 가능한 것으로 확인했고, 도시가스가 아니어서 겨울철 난방비가 걱정됩니다.

[연습용 가상 매물 자료]
모가면, 방 3개, 면적 69.42㎡, 보증금 2,000만 원, 월세 100만 원, 공용관리비 별도 5만 원, 주차 가능, LPG 난방. 가격은 과거 사례의 광고 호가이며 현재 거래 가능 여부와 실제 계약 조건은 확인하지 못했다. 출처는 지난 1주차 공개 사례의 가상 조건이며 실제 매물이 아니다.

첫 실행은 예산을 잘못 해석하지 않았고, 실제 매물이라고 보장하지도 않았습니다. 그런데 고객에게 보여줄 문장 안에 이런 구절이 섞였습니다.

“연습용 사례는 월세 100만 원에 공용관리비 5만 원이 별도이지만 실제 매물이 아니므로 소개 가능한 집으로 안내드릴 수는 없습니다.”

내부의 “연습용” 설명은 필요하지만 고객 문장 안에 넣으니 어색했습니다. 그래서 스킬의 세 부분만 승인받아 수정했습니다. 가상 자료는 발송 금지라고 문안 밖에 표시하고, 고객 문장에는 가상이라는 설명을 넣지 않으며, 실제 매물의 거래 가능 여부가 없으면 특정 매물 소개·방문 제안을 빼도록 했습니다.

같은 입력으로 새 세션에서 재시험하니 입력 텍스트가 문자 단위로 같았고, 수정된 SKILL.md를 읽은 기록도 남았습니다. 문안은 특정 매물을 소개하지 않고 고객의 조건과 한 가지 핵심 질문에 집중했습니다.

“보증금 2,000만 원 이하, 월세 100만 원 이하에 주차 가능한 조건으로 이해했습니다. … 월세 상한 100만 원은 관리비를 제외한 금액 기준인가요, 관리비까지 포함한 총액 기준인가요?”

중간의 난방비·다인 숙소 이용 가능 여부 확인 문장은 인용에서 생략했습니다. “연습용 | 발송 금지” 표시는 고객 문장 바깥에 있었고, 관리비 5만 원은 점검표에서 월세와 구분했습니다. 실제 고객에게 발송한 문안은 아닙니다.

그림 3. 같은 가상 입력의 첫 실행과 수정 후 재시험 출력을 발췌해 재구성한 비교표입니다. 실제 앱 화면 캡처는 아니며 두 실행 모두 각 1회입니다.

4. CLI·REPL·MCP는 별도의 안전 실습으로 돌렸습니다

고객 응대와 별개로 공개 예시 페이지 example.com만 대상으로 삼았습니다. CLI는 터미널에서 Aside 새 세션을 시작해 탭 제목과 URL을 받았습니다. REPL은 페이지를 열고 snapshot() 반환을 확인했습니다. 둘 다 실제 출력이 있었습니다.

MCP는 더 오래 걸렸습니다. Codex에 Aside 서버를 일회성으로 표시하고 도구 발견까지는 확인했지만, 실제 호출은 MCP tool call requires approval, but approval policy is never 오류로 막혔습니다. 대화형 재시도도 Aside MCP가 아닌 다른 브라우저 경로를 선택해 실패했습니다. 이것을 MCP 완료로 세지 않았습니다. 대신 Claude에 Aside MCP를 일회성 설정으로 연결하고 mcp__aside__repl의 실제 호출과 정상 반환을 실행 로그에서 확인했습니다. 기존 Codex·Claude 설정 파일은 바꾸지 않았습니다.

그림 4. CLI·REPL·MCP 실행 로그를 요약해 다시 그린 도식입니다. Codex는 발견만 확인하고 호출이 차단됐으며, MCP 완료 근거는 Claude의 실제 도구 호출·반환입니다.

5. 대시보드에 진행상황을 남겼습니다

제 학습 대시보드 3주차는 5/6(83%), 전체는 16/23(70%)입니다. 6번째는 Channels·유료 기능 맛보기라는 선택 항목이라 실행하지 않았고 체크하지 않았습니다. 실행 메모에는 첫 테스트의 어색한 문장, 수정과 같은 입력 재시험, Codex의 차단 위치, Claude의 정상 호출, 4주차 인계 사항을 남겼습니다. 대시보드 기록은 이 브라우저의 로컬 저장소에만 있어 다른 기기로 자동 공유되지 않습니다.

그림 5. 3주차 필수 다섯 항목이 체크되고 선택 항목은 비어 있는 학습 대시보드 화면입니다. 전체 진행률은 캡처 당시 70%(16/23)입니다.

누가 무엇을 했나

구분

제가 한 일

Aside가 한 일

방향과 경계

3주차 교안·대시보드 링크 제공, 고객 응대문 초안+점검표 선택, 1:1 범위와 제외 조건 승인

71장 교안 확인, 네 묶음의 실행 계획 정리

스킬

새 파일과 수정안 승인

SKILL.md 저장·형식 검사·새 세션 인식 확인, 같은 가상 입력 두 번 실행·비교

도구와 기록

Codex에서 막히면 Claude도 시험하는 방향 결정

내장 스킬 비교, CLI·REPL·MCP 안전 실습, 대시보드 체크·메모·이미지 정리

게시

이 글 검토와 최종 게시 예정

사례글 초안과 증거 이미지 준비. 게시 버튼은 누르지 않음

결과와 배운 점

  1. 스킬 파일이 보이는 것과 적용된 것은 다릅니다. 파일 저장과 형식 검사만으로 끝내지 않고, 새 세션의 파일 읽기와 실제 응대문 출력을 확인했습니다.

  2. 첫 결과가 안전해도 문장은 고쳐야 했습니다. “가상 매물”을 실제 매물처럼 소개하지 않은 점은 좋았지만, 내부 설명이 고객 문장에 들어갔습니다. 세 부분 수정 뒤 같은 입력에서 문장 밖으로 분리되는 변화를 관찰했습니다.

  3. 도구 연결과 성공은 따로 봐야 합니다. Codex에서는 서버 표시·도구 발견 뒤 호출이 막혔습니다. Claude에서 실제 호출과 반환을 확인한 뒤에야 MCP 항목을 체크했습니다.

  4. 효과를 일반화하지는 않습니다. 내장 스킬 비교도, 사용자 스킬 수정 전후도 각 1회입니다. 모델의 변동 가능성이 있고, 실제 고객 발송·계약 성과·시간 절감은 측정하지 않았습니다. 글의 표와 점검도 AI가 만든 것이므로 공인중개사의 검토가 필요합니다.

그림 6. 파일 적용 확인, 고객 문장·내부 메모 분리, MCP 실제 호출 확인이라는 세 가지 배운 점을 치비 학습만화로 정리했습니다. 캐릭터 장면은 설명용 연출이며 실제 앱 화면이 아닙니다. 수정 전후 각 1회 관찰했고 실제 고객 발송은 없었습니다.

4주차에 넘길 메모

  • 기억할 것: 가상 자료와 실매물을 구분하고, 고객 문장과 내부 메모를 분리한다.

  • 다시 실행할 때: 새 고객 문의나 바뀐 매물 조건이 들어왔을 때, 원문 대조부터 다시 시작한다.

  • 사람이 먼저 확인할 것: 실제 거래 가능 여부, 다인 숙소 이용 가능 여부, 관리비 포함 예산 기준과 계약 조건. 발송은 사람이 검토한 뒤 결정한다.

도움이 필요한 부분

이런 고객 응대 스킬을 다음에 시험한다면, 가상·실매물 경계가 흔들리는 입력을 어떤 식으로 더 만들어 보면 좋을까요? 다른 분의 테스트 방식도 궁금합니다.😎 😁 😬

도움 받은 글

2
1개의 답글
지피터스 뉴스레터

이번 주 AI, 딱 쓸 것만

매주 월요일 오후,
읽고 바로 써먹을 AI 소식만