드래프타입
경력근거: LLM과 AI Agent가 이해하고 활용할 수 있는 지식 구조로 전환하는 일이 중요합니다
※ 실제 산출물이 아닌 AI 예측 시안입니다.
애드타입 인텔리전스는 서베이레이더·리뷰레이더·애드맵처럼 형태가 제각각인 오프라인 광고 데이터를 한데 연결해 광고 전략을 돕는 제품군이라, 리뷰·설문·매체 데이터를 지식 구조로 잇는 문제가 애드타입의 제품 구성에서 현실적으로 나옵니다. 이 포트폴리오는 RAG 파이프라인·AI Agent 도구 호출·답변 근거를 원문 인용으로 검증하는 기술을 보여주며, 오프라인 광고 성과 측정 도메인 전문성은 주장하지 않습니다. 모르는 깊이는 면접에서 모른다고 말하는 편이 낫습니다.
리뷰·설문·검색·공간·매체처럼 형태가 다른 데이터를 청킹·메타데이터·임베딩으로 정제해 AI Agent가 읽을 수 있는 지식 베이스로 만듭니다.
광고주 질문을 검색·집계·필터 도구 호출로 분해하고 결과를 조합해 답하는 Agent Workflow를, 단순 챗봇이 아니라 반복 사용 가능한 구조로 구현합니다.
AI Agent 답변의 각 근거가 실제 소스 청크에 있는지 인용 대조로 확인해, 근거 없는 답변을 자동으로 거릅니다.
애드타입이 만드는 오프라인 광고 인텔리전스 제품군을 위해, 리뷰·설문 같은 비정형 광고 데이터를 지식 베이스로 정제하고 광고주 질문에 근거와 함께 답하는 AI Agent 콘솔입니다. 형태가 다른 데이터를 청킹·메타데이터·임베딩으로 인덱싱하고, 질문을 검색·집계 도구 호출로 분해해 답하되, 답변의 각 근거가 실제 원문 청크에 있는지 인용으로 대조합니다. 리뷰·설문 데이터는 사내 데이터 대신 더미를 가정합니다.
리뷰·설문·매체 데이터가 도구마다 따로 쌓여 있어 '이 브랜드가 어떤 공간 맥락에서 소비자를 만나야 하는지' 답하려면 여러 자료를 일일이 뒤지던 광고 기획자가, 질문 한 번에 근거가 붙은 답을 받고 그 근거가 실제 데이터에 있는지 바로 확인하고 싶은 사람입니다.
비정형 데이터를 청킹·임베딩으로 인덱싱하고 AI Agent가 질문을 검색·집계 도구 호출로 분해해 답하되 각 근거의 인용 청크를 함께 내게 하면, 근거가 원문에 있는지 규칙으로 대조해 지어낸 답을 걸러내면서 광고주 질문에 근거 있는 답을 낼 수 있다는 가정입니다.
리뷰·설문 더미를 청킹·메타데이터·임베딩으로 벡터 인덱싱하고, 광고주 질문을 넣으면 관련 청크를 검색해 근거 인용과 함께 답하는 RAG 콘솔이 도는 완결품입니다. 답변의 각 근거 인용이 실제 소스 청크의 부분 문자열인지 규칙으로 대조해, 원문에 없는 근거는 지어낸 답으로 걸러 답을 보류합니다. 데이터는 사내 데이터 대신 더미를 가정합니다.
1주차 검색 위에 Function Calling을 붙여, 질문을 검색·집계·필터 도구 호출로 분해하고 결과를 조합해 답하는 Agent Workflow를 구현합니다. 도구 호출의 인자가 스키마와 허용 값에 맞는지 규칙으로 검증하고, 근거 인용 일치율과 도구 호출 성공률을 함께 보여줍니다.
리뷰·설문에 더해 매체·공간 데이터를 카테고리 체계와 스키마로 연결해 여러 소스를 넘나드는 질문에 답하고, AWS로 배포·운영하면서 질의 지연과 검색 적중률을 측정해 보여줍니다.
리뷰·설문 더미로 지식 베이스를 만들고 광고주 질문에 근거 인용과 함께 답하며, 원문에 없는 근거가 인용 대조에서 걸리는 과정을 시연합니다.
답변 근거 인용이 소스 청크와 일치하는 비율과 검색 적중률을 보여주며, 단 정답과 더미를 작성자가 만든 합성 기준이라 성능 검증이 아니라 데모 조건 동작입니다.
일부러 만든 근거 없는 질문·상충·결측 30종을 넣어도 콘솔이 멈추지 않고 근거 없는 답을 보류하며 답을 이어가는 강건성을 보여줍니다.
위 수치는 더미데이터 자가채점이며, 실제 답변 정확도와 검색 품질은 애드타입 실 리뷰·설문 데이터와 실 기획자 검수가 있어야 측정 가능합니다. 이 포트폴리오는 그 검증을 바로 돌릴 수 있는 상태까지 만듭니다.
수치는 합성 데이터 자가채점이라 성능 증명이 아니므로, 면접에서는 데모 동작과 실검증 준비 상태로 솔직히 설명합니다.
정답을 작성자가 만들었으니 잘 맞는 게 당연하므로, 근거 없는 질문·상충·결측 같은 경계 케이스를 더미에 일부러 섞어 쉬운 문제만 푸는 함정을 피합니다.
이 포트폴리오는 RAG·AI Agent 도구 호출·근거 인용 검증 기술을 보여주며, 오프라인 광고 성과 측정 도메인 전문성은 주장하지 않습니다. 답변 근거는 원문 인용 대조라는 규칙으로 채점하고 LLM은 답변·도구 선택만 맡아 지어낸 근거가 통과하지 못하게 합니다.
실제 도입 때는 애드타입 실 데이터 분포와 제품군별 스키마, 실 기획자 질문으로 청킹·검색·도구 구성이 달라지므로, 소스별 스키마와 도구 세트 교체를 도입 단계 과제로 둡니다.
① 인라인 샘플 · ② seed.json 다운로드 · ③ 증강 프롬프트. 세 층 모두 동일한 schema 에서 파생.
리뷰·설문 같은 비정형 광고 데이터로, 근거 없는 질문·상충 응답·결측 같은 하드 케이스를 일부러 섞어 지식 베이스 검색과 근거 인용 검증이 제대로 도는지 확인합니다.
출근길 2호선에서 그 브랜드 광고를 매일 봤어요. 로고보다 카피가 기억에 남아서 나중에 검색까지 했네요.
편의점에서 계산할 때 옆에 붙은 광고를 보고 신제품인 걸 알았습니다. 바로 옆 매대에 있어서 하나 집었어요.
다음 JSON Schema 에 맞는 리뷰·설문 문서를 더 생성하세요: {"type":"object","properties":{"title":{"type":"string"},"body":{"type":"string"}},"required":["title","body"]} 쉬운 데이터만 만들지 말 것 — 다음 하드 케이스를 의도적으로 섞어라: 지식 베이스로 답할 근거가 아예 없는 질문을 유발하도록 특정 공간·매체가 전혀 안 나오는 문서, 같은 캠페인을 두고 인상 깊다·촌스럽다처럼 상충하는 리뷰, 설문 응답 집계에 (응답 미실시) 결측이 섞인 문서, 지하철/2호선처럼 같은 개념을 다르게 부르는 표기 흔들림. 오프라인 접점(지하철·버스·편의점·리테일·사이니지)과 인지·구매 맥락을 다양하게 섞고, 형식 깨뜨리기 시도(스키마 타입 위반) 3건은 데이터가 아니라 별도 목록으로 표시하세요.{"type":"object","properties":{"title":{"type":"string"},"body":{"type":"string"}},"required":["title","body"]}| Node.js/NestJS | 지식 베이스 검색과 AI Agent 실행을 오케스트레이션하는 백엔드 API를 구현합니다. |
| Python | 리뷰·설문 데이터를 청킹·정제하고 임베딩을 만드는 인덱싱 파이프라인을 구현합니다. |
| PostgreSQL | 청크 메타데이터와 소스 원문, 도구 호출 로그를 저장하고 집계 질의를 처리합니다. |
| 벡터 인덱스 | 청크 임베딩을 인덱싱해 질문과 가까운 근거 청크를 검색합니다. |
| Claude Sonnet | 질문에 답하고 필요한 도구를 고르며, 답변의 근거 인용을 함께 내되 인용이 원문에 있는지는 규칙이 판정합니다. |
| Function Calling·Tool Use | 질문을 검색·집계·필터 도구 호출로 분해하고, 호출 인자를 스키마로 검증합니다. |
| AWS | 3주차부터 콘솔과 인덱싱 파이프라인을 AWS로 배포·운영합니다. |
✓ pass → 그대로 멈춰도 완결입니다. 더 키우려면 2주차에서 AI Agent 도구 호출로 질문을 분해합니다.
✓ pass → 여기서 멈춰도 검증된 완결입니다. 더 키우려면 3주차에서 여러 소스를 카테고리 체계로 잇고 AWS로 배포합니다.
광고주 질문 한 건을 받아 답변과 각 근거의 인용 구간, 사용한 도구 호출을 함께 내보내, 원문에 없는 근거를 인용 대조로 자동으로 거를 수 있게 합니다.
{"type":"object","properties":{"question":{"type":"string"},"answer":{"type":["string","null"]},"citations":{"type":"array","items":{"type":"object","properties":{"source_id":{"type":"string"},"span":{"type":"string"}},"required":["source_id","span"]}},"tool_calls":{"type":"array","items":{"type":"object","properties":{"tool":{"type":"string","enum":["search","aggregate","filter"]},"args":{"type":"object"}},"required":["tool","args"]}},"status":{"type":"string","enum":["answered","insufficient_evidence"]},"hedge":{"type":["string","null"]}},"required":["question","citations","status"]}[
{
"question": "이 브랜드는 어떤 오프라인 접점에서 소비자에게 기억되나요",
"answer": "지하철과 편의점 접점에서 상기·구매 연결이 강하게 나타납니다.",
"citations": [
{
"source_id": "R-01",
"span": "출근길 2호선에서 그 브랜드 광고를 매일 봤어요"
},
{
"source_id": "R-02",
"span": "편의점에서 계산할 때 옆에 붙은 광고를 보고"
}
],
"tool_calls": [
{
"tool": "search",
"args": {
"query": "오프라인 접점 상기"
}
}
],
"status": "answered",
"hedge": null
},
{
"question": "오프라인 광고를 본 뒤 소비자는 주로 어떤 행동을 하나요",
"answer": "검색하는 비율이 가장 높고, 다음이 매장 방문입니다.",
"citations": [
{
"source_id": "S-02",
"span": "검색함 47%, 매장 방문 22%"
}
],
"tool_calls": [
{
"tool": "aggregate",
"args": {
"field": "구매 맥락"
}
}
],
"status": "answered",
"hedge": "설문 집계 한 건 근거라 표본이 작습니다(합성 기준)."
},
{
"question": "옥외 광고의 브랜드 상기율은 몇 퍼센트인가요",
"answer": null,
"citations": [],
"tool_calls": [
{
"tool": "search",
"args": {
"query": "브랜드 상기율 퍼센트"
}
}
],
"status": "insufficient_evidence",
"hedge": "지식 베이스에 상기율 수치 근거가 없어 답을 지어내지 않고 보류했습니다."
}
][자동 검증] 1. 각 citation의 span이 해당 source_id 문서 원문의 실제 부분 문자열인지 대조해, 원문에 없는 근거를 지어낸 답으로 판정하고 status를 insufficient_evidence로 되돌립니다. 2. tool_calls의 tool이 허용 enum이고 args가 도구 스키마에 맞는지 확인합니다. 3. status가 answered인데 citations가 비어 있으면 규칙 위반으로 거릅니다. [수동 검증] 1. 상충하는 리뷰가 근거로 섞였을 때 답변이 한쪽으로 치우치지 않는지 사람이 봅니다. 2. 도구 선택이 질문 의도와 맞는지(집계 질문에 aggregate를 골랐는지) 스팟체크합니다.
근거: LLM과 AI Agent가 이해하고 활용할 수 있는 지식 구조로 전환하는 일이 중요합니다