모두의포트폴리오
PE · FDE 직군을 위한 포트폴리오 밀키트
예전 판입니다 (1판)이 문서는 2026-08-02 에 새 판으로 개정됐습니다. 산출물을 웹 대시보드에서 CLI로 바꾸고, 콘텐츠 배포 패키지 생성 대신 플랫폼 정산 리포트 파일을 읽어 파트너별 명세서 문서를 내도록 다시 썼습니다.최신 판 보기 →
경력패스트뷰 · AI FDE (Forward Deployed Engineer)

콘텐츠 원본과 권리 메타에서 타깃 글로벌 플랫폼(MSN·Yahoo Japan·네이버) 규격에 맞춘 배포 패키지를 LLM으로 만들고, 라이선스 권역 밖이거나 금칙어가 있으면 배포에서 빼는 콘텐츠 배포 패키지 생성기

패스트뷰 공고에서 뽑은 세 가지 시그널.

패스트뷰 뷰어스는 850개 넘는 콘텐츠 파트너의 권리 확보 콘텐츠를 MSN·Yahoo Japan·SmartNews·LINE·네이버 등 글로벌 플랫폼에 7개국 이상으로 유통하고, FDE 는 이 콘텐츠 운영·CP 온보딩·글로벌 리포팅의 반복 업무를 LLM 으로 재설계합니다. 원본을 플랫폼 규격으로 재가공하며 라이선스 권역·금칙어를 점검해 배포 패키지를 생성하는 이 도구는 그 현업 자동화를 정면으로 입증합니다. 콘텐츠 IP 계약·글로벌 라이선싱 협상 같은 도메인 전문성은 포트폴리오로 증명되지 않으므로 가상 플랫폼 정책으로 기술만 보이고, 그 깊이는 면접에서 솔직히 다룹니다. 플랫폼 권역·정책을 규칙으로 걸어 생성을 잇는 사슬은 단순 LLM 재작성 맥락으로는 그대로 만들 수 없습니다.

01

콘텐츠 IP·라이선싱 글로벌 유통

권리 확보된 콘텐츠를 850개 넘는 파트너와 글로벌 플랫폼으로 유통합니다. 플랫폼별 배포 패키지 생성과 권리 점검이 직접 정렬됩니다.

뷰어스(ViewUs)는 콘텐츠 IP & AI 라이선싱 플랫폼입니다850개 이상의 콘텐츠 파트너권리 확보된 콘텐츠를 유통
02

현업 반복 업무 AI 자동화

현업의 반복 업무와 병목을 발굴해 LLM API 로 자동화 솔루션을 설계·개발·배포합니다. 콘텐츠 재가공 자동화가 이 축과 정렬됩니다.

이 업무들을 AI로 재설계하는 것이 이 포지션의 존재 이유입니다LLM API(Anthropic, OpenAI 등)를 활용한 업무 자동화 솔루션을 설계·개발·배포합니다반복 업무와 병목을 직접 발굴
03

다국어 콘텐츠 운영·글로벌 리포팅

다국어 콘텐츠 처리와 CP 온보딩, 글로벌 리포팅 워크플로우를 재설계합니다. 플랫폼·언어별 패키지 생성이 이 업무와 정렬됩니다.

다국어 콘텐츠 처리, CP(콘텐츠 파트너) 온보딩, 글로벌 리포팅 워크플로우 재설계글로벌 세일즈, 콘텐츠 운영협업 대상: 글로벌 세일즈, 콘텐츠 운영, 해외 지사(일본·대만)

포트폴리오 요약

콘텐츠 원본(제목·본문·카테고리·언어)과 권리 메타(파트너·라이선스 권역·엠바고)를 받아, 타깃 플랫폼(MSN·Yahoo Japan·SmartNews·LINE·네이버) 규격에 맞춘 배포 패키지(플랫폼 제목·요약·카테고리 매핑·다국어 필드)를 생성합니다. 배포 여부(publish·hold·reject)는 규칙(라이선스 권역 포함·금칙어·엠바고 해제·CP 등록·카테고리 매핑)으로 결정하고, LLM 은 패키지 텍스트 생성과 카테고리 후보 제안 보조만 맡습니다. 콘텐츠의 편집 품질 자체를 평가하는 게 아니라 플랫폼 규격·권리 정합성 게이트입니다.

고객 정의

패스트뷰 뷰어스 콘텐츠 운영 담당 FDE 입니다. 파트너에게 받은 원본을 MSN·Yahoo Japan·네이버 각 플랫폼 규격으로 일일이 다시 쓰고, 라이선스 권역과 금칙어를 눈으로 확인해 배포하던 일을, 한 화면에서 생성 패키지와 권리 점검 결과를 함께 보고 싶은 사람입니다.

고민 지점

콘텐츠 원본과 권리 메타를 한 스키마로 묶고 플랫폼 정책(제목 길이·금칙어·카테고리 taxonomy·권역)을 붙이면, (a) 권역 밖·금칙어·미등록 파트너를 규칙으로 걸러 배포에서 빼고, (b) 통과분은 플랫폼별 제목·요약·카테고리·다국어 패키지로 생성하며, (c) 여러 플랫폼·언어를 끊김 없이 한 번에 처리합니다.

주차별 일정

1주차여기까지로 완성

패키지 생성 + 권리·규격 점검

콘텐츠 원본과 권리 메타를 받아 플랫폼 정책·권역·금칙어를 점검하고 통과분만 플랫폼별 배포 패키지로 생성하는 동작하는 도구입니다. 플랫폼 정책·CP 마스터는 사내 API 대신 메타데이터와 더미로 가정하고 시작합니다.

  1. 1일 · 콘텐츠·권리·플랫폼 정책 스키마를 정의원본(제목·본문·카테고리·언어)·권리 메타(파트너·라이선스 권역·엠바고)·플랫폼 정책(제목 길이·금칙어·taxonomy) 스키마 + 배포 규칙 정의
  2. 2-3일 · LLM 패키지 생성 + 권역·금칙어·엠바고 점검플랫폼별 제목·요약·다국어 생성(원본 근거 유지) + 권역 미포함·금칙어·엠바고·미등록 파트너·카테고리 미매핑 빠짐 규칙
  3. 4-5일 · 근거를 들어 배포/보류/제외 결정프롬프트 v1(생성 + 원본 근거 유지) + 스키마로 형식 검증 + 규칙으로 판정
  4. 6일 · 콘텐츠 배포 패키지 화면플랫폼별 패키지 그리드 + 배포 카드(생성 제목·요약·카테고리) + 빠짐 사유
  5. 7일 · 7일치 시연 영상 + 심은 정답과 비교한 기준선여기까지가 1주차 완성품입니다
2주차선택 성장

생성·판정이 맞았는지 확인

생성 패키지와 배포 판정을 심은 정답·운영자 2명 라벨과 비교해 정밀도·재현율과 일치도를 보여주는 화면입니다.

  1. 8-11일 · 운영자 2명이 배포 라벨링 + 판정 신뢰도 보강심은 정답 대비 정밀도·재현율 + 일치도 측정(Cohen's κ: 두 사람 답이 우연 이상으로 일치하는 정도, 0~1) + 오배포 사례 정리
3주차선택 성장

플랫폼별 배포 통과 추이

플랫폼·언어별 배포 통과율과 빠짐 사유 분포를 누적 집계해 규격이 자주 어긋나는 플랫폼을 보여주는 화면입니다.

  1. 12-21일 · 플랫폼별 배포 통과 추이 + 두 번째 플랫폼 정책 적용플랫폼·언어별 통과율·빠짐 사유 분포 집계 + 실 도입 계획(실 콘텐츠·실 운영자 교체) 포함

데모 · 측정 지표

01

배포 시나리오 12종(정상·권역 밖·금칙어·엠바고·미등록 파트너)을 넣으면, 생성 패키지와 권리 점검 결과가 몇 초 안에 나오는 걸 시연합니다

02

일부러 만든 악성·결측 입력 30종(파트너 표기 흔들림·미등록 파트너·엠바고 결측·권역 배열 결측)을 넣어도 출력 형식(스키마)이 한 번도 안 깨집니다

03

더미에 심은 정답 배포 판정 40건 중 판정이 일치한 게 35건(약 88%)입니다. 단, 정답·데이터를 모두 작성자가 만든 합성 기준이라 '성능 검증'이 아니라 '데모 조건에서의 동작'임을 명시합니다

정직 경계선

진짜 성능 검증은 여기서 멈춥니다. 위 수치는 전부 작성자가 만든 더미데이터 자가채점이며, 실제 정밀도·재현율과 배포 품질은 패스트뷰의 실 콘텐츠·실 라이선스 데이터와 실 운영자가 있어야 측정 가능합니다. 이 도구는 그 검증을 바로 돌릴 수 있는 상태까지 만듭니다

미리 알아둬야 할 것들

이건 고객·실데이터 없이 혼자 만든 포트폴리오입니다. 모든 수치는 합성 데이터 자가채점이라 성능 증명이 아닙니다. 면접에서는 데모 동작과 실검증 준비 상태로 솔직히 설명하는 게 오히려 신뢰를 줍니다

정답을 작성자가 만들었으니 잘 맞는 게 당연합니다. 그래서 미등록 파트너·엠바고 미해제·권역 배열 결측·파트너 표기 흔들림 같은 경계 케이스를 더미에 일부러 섞어, 쉬운 콘텐츠만 통과시키는 게 아님을 보여줍니다

이 포트폴리오가 입증하는 것은 플랫폼 정책·라이선스 권역 규칙으로 제약한 LLM 콘텐츠 생성 + 권리·금칙어 검증 기술입니다. 콘텐츠 IP 계약·글로벌 라이선싱 협상·플랫폼별 실제 정산 구조 같은 패스트뷰의 도메인 전문성은 포트폴리오로 증명되지 않으므로 주장하지 않으며, 그 깊이는 면접에서 모르면 모른다고 말하는 편이 낫습니다. 데모는 가상 플랫폼 정책으로 기술만 입증합니다

LLM 이 생성한 제목·요약은 그럴듯해도 원본에 없는 사실을 넣을 수 있습니다. 생성 시 원본 근거를 유지하게 하고, 금칙어·권역 규칙으로 위반 콘텐츠는 배포에서 빼며, 톤 위반은 별도 judge 로 잡습니다

파트너·카테고리 표기가 제각각입니다. 정규화로 같은 파트너·카테고리로 묶고, 못 묶은 건 추측하지 말고 '미등록·미매핑'으로 알립니다. 실제 도입 시 플랫폼 정책·권역 사전이 더미와 다르므로 정책을 다시 맞춰야 합니다(도입 단계 과제로 분리)

더미 데이터

① 인라인 샘플 · ② seed.json 다운로드 · ③ 증강 프롬프트. 세 층 모두 동일한 schema 에서 파생.

content_dist_queueTABLE· 11 rows

플랫폼 배포 대기 콘텐츠 큐. 정책 규칙이 가장 먼저 질의하는 테이블입니다. 미등록 파트너·엠바고 미해제·권역 배열 결측·파트너 표기 흔들림을 일부러 섞고, label 로 정답을 심어 자가채점합니다.

② content_dist_queue.seed.json 다운로드
① 인라인 샘플 (프리뷰 5 / 11)
item_idcp_rawcp_idtitle_srcsrc_langtarget_platformcategory_srccategory_mappedlicensed_territoriesplatform_territoryhas_banned_wordembargo_untillabelts
cd_001뷰어스 파트너AcpA봄 여행 코스 10선konaver여행travel["KR"]KRfalse—publish2026-03-04T09:00
cd_002뷰어스 파트너BcpB도쿄 맛집 가이드koyahoo_jp맛집gourmet["KR"]JPfalse—reject2026-03-04T10:00
cd_003뷰어스 파트너CcpC속보 정치 이슈 정리komsn뉴스news["KR","US"]UStrue—reject2026-03-04T11:00
cd_004뷰어스파트너D—신작 드라마 리뷰koline엔터entertainment["JP"]JPfalse—hold2026-03-04T12:00
cd_005뷰어스 파트너AcpA미니멀 라이프 팁konaver라이프스타일—["KR"]KRfalse—hold2026-03-04T13:00
③ 증강 프롬프트 (본인 LLM 에 붙여서 N 배 늘리기)
아래 JSON Schema 에 맞는 플랫폼 배포 대기 콘텐츠 60행 JSON 배열로 생성합니다. 플랫폼 3~4종, 카테고리 분포, 정상 위주에 빠짐(hold)·제외(reject)를 섞습니다. 판정 우선순위는 reject > hold > publish 입니다. label 규칙: platform_territory 가 licensed_territories 에 없음 또는 has_banned_word=true → reject, cp_id=null(미등록 파트너) 또는 category_mapped=null(미매핑) 또는 embargo_until 이 ts 보다 미래 → hold, 그 외(권역 포함·금칙어 없음·파트너 등록·카테고리 매핑·엠바고 해제) → publish.

{"type":"object","properties":{"item_id":{"type":"string"},"cp_raw":{"type":"string"},"cp_id":{"type":["string","null"]},"title_src":{"type":"string"},"src_lang":{"type":"string"},"target_platform":{"type":"string","enum":["msn","yahoo_jp","smartnews","line","naver"]},"category_src":{"type":"string"},"category_mapped":{"type":["string","null"]},"licensed_territories":{"type":"array","items":{"type":"string"}},"platform_territory":{"type":"string"},"has_banned_word":{"type":"boolean"},"embargo_until":{"type":["string","null"]},"label":{"type":"string","enum":["publish","hold","reject"]},"ts":{"type":"string"}},"required":["item_id","cp_raw","target_platform","licensed_territories","platform_territory","has_banned_word","label"]}

쉬운 데이터만 만들지 말 것. 다음 하드 케이스를 의도적으로 섞어라(쉬운 콘텐츠만 통과시키는 함정 회피): (1) 같은 파트너의 표기 별칭('뷰어스 파트너A'/'뷰어스파트너D'/'뷰어스 파트너 G'처럼 cp_master 로 정규화돼야 함) 3건 이상, (2) 미등록 파트너(cp_id=null) 2건, (3) 결측: licensed_territories 가 빈 배열이거나 embargo_until 이 채워진 행 2~3건, (4) 경계값으로 권역 미포함(platform_territory 가 licensed_territories 밖)·금칙어(has_banned_word=true) 각 2건, (5) category_mapped=null 인 미매핑 카테고리 2~3건. label 은 위 우선순위대로 정직하게. JSON 배열만.
schema (3 층의 단일 출처)
{"type":"object","properties":{"item_id":{"type":"string"},"cp_raw":{"type":"string"},"cp_id":{"type":["string","null"]},"title_src":{"type":"string"},"src_lang":{"type":"string"},"target_platform":{"type":"string","enum":["msn","yahoo_jp","smartnews","line","naver"]},"category_src":{"type":"string"},"category_mapped":{"type":["string","null"]},"licensed_territories":{"type":"array","items":{"type":"string"}},"platform_territory":{"type":"string"},"has_banned_word":{"type":"boolean"},"embargo_until":{"type":["string","null"]},"label":{"type":"string","enum":["publish","hold","reject"]},"ts":{"type":"string"}},"required":["item_id","cp_raw","target_platform","licensed_territories","platform_territory","has_banned_word","label"]}

기술 상세 · 아키텍처·운영·출력 스키마

기술 스택 매핑
LLM플랫폼별 배포 패키지(제목·요약·다국어)를 생성하고 카테고리 후보를 제안하는 핵심 엔진입니다
프롬프트 설계플랫폼 규격(제목 길이·톤·필수 필드)을 few-shot 과 출력 스키마로 강제하는 구조입니다
Claude Code프로토타입을 빠르게 만들고 검증된 것을 프로덕션 수준으로 안정화하는 개발 워크플로우입니다
RAG플랫폼 카테고리 taxonomy 와 금칙어 사전을 조회해 매핑·점검 정확도를 높이는 보조입니다
에이전트 오케스트레이션생성에서 규칙 점검, 위반 시 재생성으로 이어지는 실행 흐름을 조율합니다
TypeScript정책 규칙 엔진·권역 검사·출력 스키마의 구현 언어입니다
JSON Schema플랫폼 정책과 LLM 출력의 런타임 형식·규칙 검증입니다
LLM 선택
model
Claude Sonnet (배포 패키지·다국어 텍스트 생성) + GPT-4o-mini (금칙어·톤 위반 judge)
prompt
few-shot 3 예시 + 플랫폼 정책 스키마(제목 길이·필수 필드) 강제 + 원본 근거 유지 강제 + 금칙어·권역 위반 가드 + 후행 judge
rationale
배포 통과 여부는 라이선스 권역·금칙어·엠바고 규칙이 결정하므로 LLM 이 지어낸 표현이 권리 위반 배포로 이어지지 못합니다. 생성 품질에 Sonnet 을, 금칙어·톤 검사 judge 는 비용·속도 우선으로 mini 를 씁니다. 플랫폼 taxonomy·금칙어 사전 참조에만 RAG 를 쓰고 핵심 판정은 규칙이 맡습니다.
결정 게이트
1주차 끝도구가 원본·권리 메타에서 플랫폼 정책·권역·금칙어를 점검하고 통과분만 배포 패키지로 생성하며 나머지를 빼는가. 여기까지가 그 자체로 제출 가능한 완성품입니다.

✓ pass → 그대로 멈춰도 완결입니다. 더 키우려면 2주차(생성·판정이 맞았는지 확인)로 진행합니다.

2주차 끝생성 패키지·배포 판정이 심은 정답·운영자 라벨로 맞다고 확인되고 정밀도·재현율과 일치도가 붙는가.

✓ pass → 여기서 멈춰도 완결입니다. 더 키우면 3주차(플랫폼별 배포 통과 추이)로 진행합니다.

재사용 레이어 · 코어 70% / 도메인 30%
core (재사용 가능)
  • 배포 패키지 생성 프롬프트 + 플랫폼 정책 스키마(제목 길이·필수 필드) 강제
  • 정책 규칙 엔진(권역 미포함·금칙어·엠바고·미등록 파트너·카테고리 미매핑)
  • 플랫폼별 패키지 그리드·배포 카드·빠짐 사유 뷰 컴포넌트
  • 금칙어·톤 위반 차단 가드 + LLM-as-judge 원본 매칭
  • 빠진 콘텐츠 알림·배포 통과 리포트 봇
  • 5% 사람 spot-check 샘플러
domain (교체 대상)
  • 플랫폼 정책(제목 길이·금칙어·카테고리 taxonomy·권역) 정의
  • CP(콘텐츠 파트너) 마스터·라이선스 권역 사전
  • 플랫폼 enum(msn·yahoo_jp·naver 등)은 대상 플랫폼별로 갈아끼웁니다
출력 스키마 · dist_package

콘텐츠 1건의 플랫폼 배포 패키지 카드. 배포 결정·생성 필드·요인·근거를 한 스키마로 담아 화면 카드에 씁니다. 편집 품질 평가가 아니라 플랫폼 규격·권리 정합성 게이트입니다.

schema (JSON Schema)
{"type":"object","properties":{"item_id":{"type":"string"},"target_platform":{"type":"string"},"decision":{"type":"string","enum":["publish","hold","reject"]},"gen_title":{"type":["string","null"]},"gen_summary":{"type":["string","null"]},"mapped_category":{"type":["string","null"]},"factors":{"type":"array","items":{"type":"string","enum":["out_of_territory","banned_word","unregistered_cp","under_embargo","unmapped_category"]}},"reason":{"type":"string","minLength":20},"evidence":{"type":"string","minLength":8},"hedge":{"type":["string","null"]}},"required":["item_id","target_platform","decision","factors","reason","evidence"]}
모범 출력 (4)
[
  {
    "input_ref": "cd_001 (권역·권리 모두 정상)",
    "output": {
      "item_id": "cd_001",
      "target_platform": "naver",
      "decision": "publish",
      "gen_title": "봄에 가기 좋은 국내 여행 코스 10곳",
      "gen_summary": "봄 시즌 추천 국내 여행지를 코스별로 정리한 가이드입니다.",
      "mapped_category": "travel",
      "factors": [],
      "reason": "라이선스 권역(KR)에 네이버 배포 권역이 포함되고 금칙어·엠바고가 없어 네이버 규격 제목·요약·카테고리로 배포 패키지를 생성합니다.",
      "evidence": "platform_territory=KR, licensed_territories=[KR], has_banned_word=false",
      "hedge": null
    }
  },
  {
    "input_ref": "cd_002 (라이선스 권역 밖)",
    "output": {
      "item_id": "cd_002",
      "target_platform": "yahoo_jp",
      "decision": "reject",
      "gen_title": null,
      "gen_summary": null,
      "mapped_category": null,
      "factors": [
        "out_of_territory"
      ],
      "reason": "Yahoo Japan 배포 권역은 JP 인데 라이선스 권역이 KR 뿐이라 권리 밖 배포가 됩니다. 패키지를 생성하지 않고 배포에서 뺍니다.",
      "evidence": "platform_territory=JP, licensed_territories=[KR]",
      "hedge": "라이선스 권역 밖이라 배포하지 않습니다"
    }
  },
  {
    "input_ref": "cd_003 (금칙어 포함)",
    "output": {
      "item_id": "cd_003",
      "target_platform": "msn",
      "decision": "reject",
      "gen_title": null,
      "gen_summary": null,
      "mapped_category": "news",
      "factors": [
        "banned_word"
      ],
      "reason": "본문에 플랫폼 금칙어가 포함돼 MSN 배포 정책을 위반합니다. 생성 전에 배포에서 빼고 운영자에게 사유를 알립니다.",
      "evidence": "has_banned_word=true",
      "hedge": "금칙어가 있어 배포하지 않습니다"
    }
  },
  {
    "input_ref": "cd_004 (미등록 파트너)",
    "output": {
      "item_id": "cd_004",
      "target_platform": "line",
      "decision": "hold",
      "gen_title": null,
      "gen_summary": null,
      "mapped_category": "entertainment",
      "factors": [
        "unregistered_cp"
      ],
      "reason": "권역·금칙어는 정상이나 파트너가 CP 마스터에 등록되지 않아 라이선스 범위를 확인할 수 없습니다. 파트너 매핑 후 재평가가 필요해 보류로 돌립니다.",
      "evidence": "cp_raw=뷰어스파트너D, cp_id=null",
      "hedge": "미등록 파트너라 배포하지 않고 보류로 둡니다"
    }
  }
]
검증 노트 (자동 vs 수동)

[자동 검증] 1. JSON Schema 형식(필드·enum·minLength)이 통과하는지 확인해 화면 카드가 깨지지 않게 합니다. 2. decision 이 정책 규칙(권역 미포함·금칙어→reject, 미등록 파트너·미매핑 카테고리·엠바고 미해제→hold, 통과→publish)과 우선순위(reject > hold > publish)대로 나오는지 봅니다. 3. evidence 가 입력 콘텐츠의 실제 값 인용인지 토큰 매칭으로 확인하고, 권역 밖·금칙어면 publish 가 되지 않게 강제합니다. 4. gen_title 이 있으면 플랫폼 제목 길이·금칙어 규칙을 다시 통과하는지 재검사합니다. 5. decision 을 심은 정답 label 과 비교해 정밀도·재현율을 계산합니다. [수동 검증] 1. 운영자 2명이 비동기로 배포를 라벨링해 정밀도·재현율과 bootstrap Cohen's κ(두 사람 일치가 우연 이상인 정도, 0~1) 하한 0.6 이상을 봅니다. 2. 전체의 5% 를 사람이 직접 점검합니다.