토스

72 개의 포스트

toss.tech

태그로 필터

toss4분 읽기큐레이션 요약

전문성 밖으로 나아가기

Technical Writer(TW)는 문서를 작성·관리하는 역할을 넘어, 지식이 축적되고 활용되는 제품과 시스템을 만드는 제품 오너로 확장되고 있다. 토스의 문서 플랫폼 ‘토독’은 누구나 쉽게 문서를 작성하고, 조직의 지식을 한곳에 모으며, AI가 활용할 수 있도록 하는 것을 목표로 한다. 궁극적으로는 문서화가 별도 업무가 아니라 실제 업무 과정에서 자동으로 발생하고, 지식의 최신성과 품질까지 시스템이 관리하는 구조를 지향한다. ## TW가 제품을 만드는 이유 - TW는 어떤 문서가 읽기 어려운지, 좋은 문서의 조건이 무엇인지, AI가 잘 활용할 수 있는 문서 구조가 무엇인지 깊이 고민해 온 직무다. - 이러한 전문성을 문서 작성에만 적용하지 않고, 문서와 지식 관리 제품의 설계 원칙으로 확장한다. - 제품 오너로서 사용자 인터뷰, 제품 방향 설정, 로드맵·우선순위 결정, 기능 기획과 구현까지 직접 수행한다. - 문서 요구사항을 개발팀에 전달하는 역할이 아니라, 제품의 문제를 정의하고 해결책을 만드는 메이커로 일한다. ## 기존 내부 문서의 문제점 - **높은 작성 장벽** - 정적 사이트 생성기 기반 문서는 저장소 클론, 마크다운 작성, PR 생성과 리뷰 과정을 거쳐야 했다. - 개발자에게는 익숙하지만 디자이너나 PM에게는 문서 작성 자체를 포기하게 만드는 장벽이 됐다. - **낡고 불필요한 지식의 누적** - 작성자와 작성 이유를 알 수 없는 메모, 변경된 정책을 설명하는 문서, 미완성 초안 등이 쌓였다. - 문서의 양이 많아질수록 실제로 신뢰할 수 있는 지식을 판별하기 어려워졌다. - **지식의 파편화** - 문서가 SSG, 문서 도구, 코드, 메신저 대화, 개인의 기억 등에 흩어져 있었다. - 지식이 한곳에 모이지 않으면 조직 차원의 축적과 재활용이 어려웠다. ## 토독의 핵심 가치 - **누구나 쉽게 문서 작성** - 별도의 개발 과정 없이 문서를 만들고 수정할 수 있다. - GitHub, 기존 문서 도구, 사내 메신저 등 다양한 출발점의 지식을 토독으로 연결할 수 있다. - **AI를 통한 지식 활용** - 토독의 문서를 팀별 봇과 연결할 수 있다. - API, CLI, MCP를 제공해 요청 봇, 제품 스펙 관리 등 다양한 방식으로 활용할 수 있다. - **단일 진실 공급원(SSoT)** - 여러 곳에 흩어진 정보를 모아 완결된 문서로 구성한다. - 어떤 지식이 최신이고 유효한지 한곳에서 확인할 수 있게 한다. - **확장 가능한 플랫폼** - 조직이나 팀마다 별도 도구를 선택하고 인프라를 구축할 필요가 없다. - 하나의 플랫폼 안에서 각 팀이 독립적인 문서 공간을 운영할 수 있으며, 계열사로도 확장할 수 있다. ## 문서 품질을 자동으로 관리하기 - 문서 작성 장벽을 낮추면 문서 수는 늘지만 품질이 떨어질 수 있다. - 기존에는 TW가 직접 문서를 리뷰하고 낡은 문서를 찾아 수정했다. - 토독은 TW가 정의한 ‘좋은 문서’의 기준을 다음 기능으로 전환하고 있다. - AI 교정 기능 - 문서 봇을 통한 초안 작성 - 자동 리뷰와 개선점 제안 - 다만 사용자가 직접 문서를 작성해야 한다는 전제만으로는 충분하지 않다고 판단했다. ## 업무 과정에서 자동으로 생성되는 문서 - 문서화를 별도의 업무로 요구하기보다, 일하는 과정에서 자연스럽게 문서가 생성되도록 한다. - 사내 메신저의 의사결정과 논의, 코드 변경 내역 등을 자동으로 문서화한다. - 코드 변경이나 의사결정 이후의 논의를 모니터링해 문서가 계속 갱신되도록 설계한다. - 단순히 정보를 수집하는 데 그치지 않고 다음을 판단하는 것이 목표다. - 정책과 실제 코드가 일치하는가 - 해당 지식이 실제 업무에서 사용되고 있는가 - 문서가 얼마나 최신 상태인가 - 현재도 유효한 지식인가 ## TW 전문성의 시스템화 - 좋은 문서를 직접 쓰는 능력에서, 좋은 문서가 반복해서 생산되도록 시스템을 설계하는 능력으로 중심이 이동한다. - 문서가 읽히지 않는 이유에 대한 경험은 누구나 쉽게 쓰고 AI도 잘 읽는 문서 기준으로 전환된다. - 좋은 문서에 대한 판단은 AI 교정과 자동 리뷰의 기준이 된다. - 낡은 문서를 식별하고 유효성을 판단하는 역량은 지식 신선도와 신뢰도를 관리하는 시스템으로 구현된다. - TW의 역할은 다음과 같이 정리된다. - 흩어진 지식이 모일 장소를 만든다. - 좋은 문서의 기준을 정의한다. - 사람의 판단을 시스템에 반영한다. - 업무 과정에서 문서가 자연스럽게 만들어지게 한다. - 축적된 지식이 스스로 갱신되도록 한다. ## 지향하는 업무 환경 - 시스템이 오래된 문서를 감지해 담당자에게 알리고 개선안을 제안한다. - 프로젝트 관리 도구를 별도로 갱신하지 않아도 업무 과정의 기록이 자동으로 정리된다. - 릴리즈 공지와 반복적인 문의 답변이 지식으로 남아 신규 구성원의 학습 비용을 줄인다. - 한 번의 업무가 조직 전체에서 재사용 가능한 흔적으로 남아 실행 시간을 단축한다. - TW는 반복적인 문서 관리보다 제품의 방향과 지식 거버넌스 설계에 집중한다. 결국 토독의 목표는 문서를 잘 쓰게 만드는 데서 끝나지 않는다. 조직의 업무 흐름 자체가 신뢰할 수 있는 지식을 만들고 갱신하도록 설계하는 것이 핵심이며, 이는 TW의 전문성을 조직 전체의 시스템으로 확장하는 방식이다.

원문 읽기(새 탭에서 열림)
toss3분 읽기큐레이션 요약

디자이너에게 AI로 뭐든 만들어보라고 한다면

토스 디자인 챕터의 AI Contest는 AI로 무엇이든 만들어보는 한 달간의 실험으로, 총 122개의 결과물이 모였습니다. 사례를 보면 AI는 완전히 새로운 업무보다 반복 작업 자동화, 지식 공유, 인터랙션 설계, 짧은 시간 안의 품질 향상에 특히 효과적이었습니다. 핵심은 AI를 직접 활용해 자신의 문제를 빠르게 실험하고 해결하는 데 있습니다. ## 반복 업무를 자동화하다 - 이미지를 입력하면 UI에 적합한 색상을 자동으로 추출하고 보정하는 로직을 개발했습니다. - 사진마다 색상 결과가 달라 수년간 해결하지 못했던 문제를 AI와 함께 코드 초안으로 만들었습니다. - 샘플 이미지를 반복해서 입력하고 결과를 검증·수정하며 로직을 개선했습니다. - 완성된 로직은 실제 토스 쇼핑 상품 카드의 색상에 적용됐습니다. ## 개인 지식으로 협업 비용을 줄이다 - 과거 슬랙 대화와 정리된 참고 자료를 학습한 메신저 봇을 만들었습니다. - 팀원의 디자인·요건 질문에 대해 과거 논의를 근거로 답변 초안을 생성합니다. - 담당자는 초안을 그대로 보내거나 수정해 전달할 수 있습니다. - 사람이 수정한 답변 방향도 다시 반영해 유사한 질문에 더 정확히 답하도록 개선됩니다. - 반복적인 질문 대응 시간이 줄어들면서 “내가 1.5명으로 늘어난 느낌”이라는 효과를 얻었고, 다른 디자이너들도 각자의 봇을 만들기 시작했습니다. ## 말보다 동작하는 프로토타입으로 설득하다 - 주식 거래용 증권 PC 화면을 정적인 시안이 아닌 실제로 조작 가능한 프로토타입으로 구현했습니다. - 패널을 끌어 위치를 바꾸거나 창 크기를 조절하면 화면이 반응하도록 제품 코드를 직접 활용했습니다. - 말이나 영상으로 설명해야 했던 인터랙션을 직접 움직여 보여주면서 디자인 의도가 개발 과정에서 흐려지는 문제를 줄였습니다. - 개발자와 PO가 결과를 즉시 이해할 수 있어 커뮤니케이션과 설득력이 높아졌습니다. ## 제한된 시간에 완성도를 높이다 - 토스뱅크 공채 웹페이지의 직군별 키비주얼에 사용할 모션그래픽을 AI로 제작했습니다. - 모션의 기본 이미지와 시작·끝 프레임은 사람이 직접 만들고, 중간 결과 생성은 Kling을 활용했습니다. - 원하는 결과가 나올 때까지 프롬프트를 반복적으로 수정했습니다. - 촉박한 일정 속에서도 직군별 모션을 단 하루 만에 완성했습니다. ## AI 활용을 시작하는 네 가지 방향 - **효율:** 매일 반복하는 일 중 가장 번거로운 작업 하나를 자동화합니다. - **분신:** 반복해서 답하는 질문을 대신 처리할 개인 지식 봇을 만듭니다. - **설득:** 말로 설명하던 디자인을 직접 작동하는 프로토타입으로 보여줍니다. - **퀄리티:** 짧은 시간 안에 더 높은 완성도에 도달할 수 있도록 AI를 제작 과정에 활용합니다. AI를 도입할 때는 거창한 신규 프로젝트보다 현재 업무에서 반복되거나 설명하기 어렵고 시간이 부족한 문제 하나를 골라 작게 실험하는 것이 효과적입니다.

원문 읽기(새 탭에서 열림)
toss5분 읽기큐레이션 요약

AI로 바꾼 제품 설계의 순서

토스는 고객센터 챗봇의 높은 이탈률을 해결하기 위해 메뉴 탐색 중심 구조를 자연어 기반 AI 상담 방식으로 전환했다. 시나리오를 완성한 뒤 개발하는 대신, 실제 상담 데이터로 AI 초안을 만들고 프로토타입에서 즉시 검증하며 함께 발전시켰다. 이 과정에서 개별 시나리오 수정보다 공통 규칙을 정립하는 방식이 더 효율적이었으며, AI는 단순한 자동화 도구가 아니라 사용자 경험을 빠르게 실험하는 도구로 활용됐다. ## 메뉴 탐색형 챗봇의 한계 - 고객센터 방문자는 월 약 60만 명, 채팅 상담 시도자는 약 17만 명이었다. - 챗봇 이용자의 약 60%가 중간에 이탈했다. - 사용자는 자신의 문제는 알지만, 그것이 서비스 내부에서 어떤 카테고리로 분류되는지는 알기 어렵다. - “결제가 안 돼요”, “멤버십을 해지하고 싶어요”처럼 자연스러운 문제 표현을 메뉴 구조에 맞춰 다시 탐색해야 하는 점이 주요 문제였다. - 따라서 카테고리 탐색을 없애고, 사용자의 자연어를 AI가 해석해 필요한 안내나 기능으로 연결하는 경험을 목표로 삼았다. ## 시나리오와 프로토타입을 동시에 발전시키기 - 일반적인 챗봇 제작 과정은 다음과 같다. - 고객 문의 분석 - 문의 유형 정리 - 대화 시나리오 작성 - 리뷰 및 수정 - 프로토타입 제작 - 개발 - 하지만 하나의 문의에도 다양한 조건과 분기가 존재한다. - 멤버십 이용료 결제 여부 - 혜택 사용 여부 - 해지 예약 여부 - 고객별 확인 정보와 안내 내용 - 토스는 시나리오를 완성한 뒤 프로토타입을 만드는 대신, AI로 초안을 만든 즉시 프로토타입에서 대화 흐름을 검증했다. - 실제 대화를 통해 질문 순서, 답변의 자연스러움, 분기 처리 문제를 빠르게 발견하고 시나리오에 반영했다. ## 실제 상담 데이터로 시나리오 초안 만들기 - 고객센터에서 자주 발생하는 상담 유형 20개를 선정해 AI가 시나리오 초안을 작성하도록 했다. - 개인정보는 제거하고 가명·익명 처리한 뒤 활용했다. - 정책 문서만 학습시키기보다 실제 상담 데이터를 중심으로 사용했다. - 상담 데이터에는 다음과 같은 실전 맥락이 담겨 있었다. - 고객이 문제를 표현하는 다양한 방식 - 상담사가 필요한 정보를 확인하는 순서 - 원인을 단계적으로 좁혀가는 과정 - 복잡한 정책을 고객이 이해하기 쉬운 언어로 설명하는 방식 - 그 결과 AI는 정책을 단순히 나열하는 대신, 고객의 문제를 파악하고 해결책을 안내하는 상담사에 가까운 시나리오를 생성할 수 있었다. ## 시나리오 허브로 다양한 조건 검증하기 - 하나의 문의에 포함된 여러 상황 조합을 미리 저장하고 선택할 수 있는 ‘시나리오 허브’를 만들었다. - 예를 들어 멤버십 해지 문의에서 다음 조건을 선택해 바로 테스트할 수 있었다. - 이번 달 결제 완료 여부 - 혜택 사용 여부 - 해지 예약 여부 - 조건을 선택하면 해당 상태가 적용된 챗봇 대화가 즉시 시작됐다. - 시나리오를 수정하거나 새로운 분기·규칙을 추가한 뒤에도 동일한 조건에서 빠르게 재검증할 수 있었다. - 문서상으로는 자연스러워 보이는 흐름도 실제 대화에서는 어색할 수 있었기 때문에, 프로토타입이 단순 목업이 아닌 실험 환경으로 기능했다. - 실제 데이터를 적용한 결과를 기준으로 판단하면서 “그럴 것 같다”가 아니라 “실제로 그렇다”는 방식으로 검증할 수 있었다. ## 개별 시나리오보다 공통 규칙 만들기 - 검증 과정에서 다음과 같은 반복 문제가 발견됐다. - 이미 알고 있는 정보를 다시 질문함 - 같은 설명을 반복함 - 모르는 내용을 추측해 잘못된 정보를 제공함 - 처음에는 문제마다 시나리오를 개별 수정했지만, 비슷한 문제가 계속 반복됐다. - 이에 따라 여러 시나리오에 공통으로 적용되는 규칙을 만들었다. - 해결 방법을 먼저 제시하고 설명은 나중에 한다. - 추측하지 않고 모르면 모른다고 답한다. - 특정 조건에서만 상담사 연결을 진행한다. - AI가 수행할 수 있는 권한과 수행할 수 없는 영역을 명확히 구분한다. - 시나리오 하나를 수정하면 하나의 흐름만 개선되지만, 규칙 하나를 수정하면 전체 시나리오가 함께 개선됐다. - 규칙이 축적될수록 검증과 고도화 속도도 빨라졌다. ## 경험을 먼저 설계하고 필요한 시스템을 역산하기 - 기존에는 데이터 구조, 운영 도구, 시스템을 먼저 설계한 뒤 사용자 경험을 고민하는 경우가 많았다. - 이번 프로젝트에서는 이상적인 사용자 경험을 먼저 만들고, 이를 구현하는 데 필요한 요소를 뒤에서 정의했다. - 그 결과 다음과 같은 요구사항을 자연스럽게 도출할 수 있었다. - 어떤 고객 상태 데이터를 저장해야 하는가 - 어떤 API가 필요한가 - 어떤 운영 도구가 필요한가 - 모든 것을 사전에 완벽하게 설계하기보다, 검증을 통해 실제로 필요한 요소만 빠르게 정의할 수 있었다. - 팀 합류 후 약 3주 만에 현황 분석, 경험 설계, 시나리오 생성, 프로토타입 제작, 검증과 고도화까지 진행했다. ## AI가 바꾼 디자이너의 역할 - AI는 단순히 화면이나 시나리오를 대신 만들어주는 도구가 아니었다. - 시나리오 작성과 프로토타입 구현 비용을 낮춰 더 많은 아이디어와 상황을 빠르게 비교할 수 있게 했다. - 디자이너는 제작 자체보다 다음과 같은 판단에 더 많은 시간을 사용할 수 있었다. - 어떤 경험이 더 나은가 - 어떤 규칙이 효과적인가 - 무엇을 검증해야 하는가 - 즉, AI는 제품 설계의 순서를 바꾸고 경험 중심의 반복 실험을 가능하게 했다. ## 다른 제품 설계에 적용하는 방법 - 완벽한 설계를 기다리기보다 AI로 먼저 작동하는 프로토타입을 만들고 검증한다. - 가이드와 정책 문서뿐 아니라 실제 사용자의 표현과 행동 데이터를 먼저 살펴본다. - 같은 문제가 반복되면 개별 사례를 고치는 대신 여러 케이스에 적용할 수 있는 공통 규칙을 찾는다. - 이러한 방식은 챗봇뿐 아니라 새로운 제품이나 기능을 설계할 때도 활용할 수 있다. 결국 이 글은 AI를 “대신 만들어주는 도구”로 보기보다, 사용자 경험을 빠르게 만들고 검증하며 개선하는 실험 도구로 활용해야 한다는 점을 강조한다.

원문 읽기(새 탭에서 열림)
toss3분 읽기큐레이션 요약

매일 하던 업무를 디자인하기

토스뱅크의 프로덕트 디자이너 김혜미는 매일 슬랙과 노션에 할 일을 수기로 옮기던 반복 업무를 직접 자동화했다. 슬랙 메시지에 특정 이모지를 달면 AI가 맥락을 읽고, 한 줄짜리 할 일과 팀 태그, 출처 링크를 위젯에 등록하도록 만든 것이다. 그 결과 업무를 수집·정리하는 데 쓰던 에너지를 줄이고, 실제 우선순위 판단에 집중할 수 있게 됐다. ## 반복 업무를 참는 대신 디자인하기 - 업무가 늘어나 하루 할 일이 20개를 넘으면서 수기 관리 방식의 한계가 드러났다. - 더 나은 할 일 앱을 찾기보다, 자신이 매일 사용하는 프로덕트로 문제를 재정의했다. - 사용자는 자신이고, 진짜 목표는 “할 일을 정리하는 것”이 아니라 “중요한 일을 놓치지 않고 처리하는 것”이었다. - 가장 큰 마찰은 할 일을 옮겨 적고, 관련 맥락과 출처를 다시 찾는 반복 작업이었다. - 해결 방향은 다음과 같았다. - AI가 슬랙 메시지에서 할 일을 자동 등록 - 원본 스레드와 문서 링크를 함께 저장 - 우선순위를 표시하고 화면에 위젯을 항상 노출 ## 슬랙 맥락을 AI가 할 일로 바꾸기 - 특정 이모지를 단 슬랙 메시지를 한 채널에 모은 뒤, Claude Code가 내용을 읽어 할 일로 변환했다. - 핵심 과제는 긴 메시지와 대화 맥락을 실행 가능한 한 줄의 문장으로 요약하는 것이었다. - 예를 들어 “대출 연장 신청 시 에러가 발생하는데 확인해달라”는 요청을 “대출 연장 에러 케이스 확인”으로 바꾸고 관련 팀을 태그했다. - 초기에는 요약이 지나치게 길거나 핵심을 놓치고, 잘못된 팀에 배정되는 문제가 있었다. - 이를 개선하기 위해 다음 기준을 직접 정의했다. - 좋은 할 일의 문장 구조 - 팀을 구분하는 기준 - 일관된 표현 방식 - 반드시 포함하거나 제거해야 할 정보 - 결국 AI가 만든 결과가 “내가 직접 적었을 법한 문장”이 되도록 예시와 규칙을 반복해서 다듬었다. ## AI에게 요구사항을 명확히 설명하기 - 위젯의 접기·펼치기, 드래그 같은 인터랙션을 구현하는 과정에서도 세부 동작을 구체적으로 설명해야 했다. - 머릿속에서는 당연한 동작도 AI에게는 단계별 조건과 예외를 언어로 전달해야 했다. - 구현 과정은 단순히 코드를 작성하는 일이 아니라, 자신의 업무 방식과 판단 기준을 명확히 정의하는 과정이었다. - 특히 AI가 업무를 이해하도록 만드는 일은 사용자의 요구를 더 정확한 언어로 구조화하는 작업과 같았다. ## 수집과 정리에서 우선순위 판단으로 - 위젯이 항상 화면에 표시되기 때문에 슬랙이나 노션을 반복해서 열어 할 일을 확인할 필요가 없어졌다. - 이전에는 하루에도 수십 번 “할 일이 뭐였지?” 하며 정보를 찾는 데 시간을 썼다. - AI가 업무를 모으고 정리하면서, 사용자는 무엇부터 처리할지 판단하는 데 집중할 수 있게 됐다. - 해야 할 일을 놓칠 것이라는 불안이 줄고, 우선순위 설정에 더 많은 에너지를 쓸 수 있었다. ## 개인적인 불편에서 팀의 문제로 - 개인용으로 만든 도구였지만 팀원들도 사용하기 시작했고, 유료 서비스로 제공해도 좋겠다는 반응까지 나왔다. - 개발자들이 직접 버그를 제보하고 기능을 제안하면서 사용자와 제작자의 역할이 뒤바뀌기도 했다. - 이를 통해 할 일 관리, 맥락 수집, 우선순위 설정은 직무와 관계없이 많은 사람이 겪는 공통 문제임을 확인했다. - 도구가 확산된 이유는 새로운 아이디어라서가 아니라, 사람들이 이미 반복적으로 겪던 불편을 해결했기 때문이다. ## 직접 적용하는 방법 - 이번 주에 가장 자주 반복한 ‘진짜 일이 아닌 일’을 찾는다. - 옮겨 적기 - 자료 찾기 - 정보 정리하기 - 다음 질문으로 문제를 정의한다. - 사용자는 누구인가? - 실제로 이루려는 결과는 무엇인가? - 가장 큰 마찰은 어디에서 발생하는가? - 무엇이 자동화되면 성공인가? - 기존 도구가 해결하지 못하는 이유를 살핀다. - 처음부터 큰 시스템을 만들기보다, 다음 날 바로 써볼 수 있는 가장 작은 기능부터 구현한다. 반복적으로 정보를 옮기고 정리하는 업무가 있다면, 이를 개인의 습관이나 인내심 문제가 아니라 자동화할 수 있는 프로덕트 문제로 바라보는 것이 출발점이다.

원문 읽기(새 탭에서 열림)
toss4분 읽기큐레이션 요약

디자이너가 시안 대신 앱을 만든 이유

AI를 활용하면 디자이너가 정적인 시안을 넘어 실제로 동작하는 프로토타입을 직접 만들 수 있고, 디자인과 개발 사이의 번역 과정도 줄어든다. 토스의 underlay 프로젝트는 화면 위에 겹치는 대신 화면 아래에 있던 정보가 드러나는 방식을 통해, 사용자의 흐름을 방해하지 않고 다음 경험으로 연결하려 했다. 이 과정에서 동작하는 코드 자체가 디자인 명세이자 개발 가능한 구조가 될 수 있음을 보여준다. ## 데드엔드를 다음 경험의 시작으로 바꾸기 - 송금 완료나 결제 완료처럼 사용자의 할 일이 끝나는 화면을 ‘데드엔드’로 정의했다. - 목표는 특정 화면을 개선하는 것이 아니라, 앱 어디서든 현재 경험을 자연스럽게 다음 경험으로 연결하는 공통 장치를 만드는 것이었다. - 이를 위해 여러 화면에서 재사용할 수 있는 컴포넌트 개발부터 시작했다. ## 기존 알림 UI의 한계와 underlay의 발상 - 바텀시트, 토스트, 푸시 등 기존 UI는 화면 위에 나타나 사용자의 시선을 끌지만, 보고 있던 화면이나 진행 중인 행동을 방해할 수 있다. - 전화처럼 등장하거나 화면 한쪽·채팅창처럼 나타나는 방식도 같은 문제를 가졌다. - 택배 송장을 떼자 아래에 있던 책의 문구가 드러난 경험에서 아이디어를 얻었다. - 새로운 정보를 화면 위에 올리는 대신, 화면 아래에 존재하던 정보가 드러나게 하는 컴포넌트를 **underlay**라고 정의했다. ## AI와 코드로 인터랙션을 디자인하기 - underlay는 외형보다 움직임과 반응 방식이 중요한 컴포넌트였다. 인터랙션 자체가 디자인의 핵심이었다. - 프로토파이나 프레이머 대신 SwiftUI와 Xcode로 iOS 앱 형태의 프로토타입을 직접 만들었다. - SwiftUI를 처음 사용했지만 AI에게 구현을 요청하며 디자인을 구체화했다. - 디자이너의 역할은 다음 세 가지로 정리됐다. - 만들고 싶은 경험을 설명하기 - AI가 제안한 여러 방향 중 적절한 것을 선택하기 - 실제 기기에서 결과를 보고 판단하기 - AI와의 디자인 과정은 설계, 선택, 검증을 반복하는 과정이었다. ## 실제 기기에서 반복하며 완성도 높이기 - 먼저 자유롭게 실험하고 지울 수 있는 플레이그라운드 환경을 만들고, 피그마 시안을 AI에게 참고 자료로 제공했다. - 버튼, 텍스트, 레이아웃을 정지 화면이 아니라 실제 기기에서 움직여 보며 수정했다. - 상상한 움직임과 실제 구현된 움직임의 차이가 컸기 때문에 수백 번 반복해서 조정했다. - 화면의 맥락을 읽고 적절한 정보를 찾는 느낌을 표현하기 위해 빛이 화면을 훑는 스캔 인터랙션을 도입했다. - 빛의 번짐, 틴트, 폭, 속도, 배경 어두워짐 등은 Metal 셰이더로 구현했다. - AI가 작성한 셰이더 코드를 출발점으로 삼되, 최종 질감은 직접 수치를 조정하며 완성했다. - 등장하거나 스캔이 지나갈 때의 미세한 출렁임 같은 디테일도 코드로 다듬었다. ## 디자인 가이드 대신 동작하는 레포 전달하기 - 기존 방식이라면 등장 타이밍, 이징 커브, 딜레이 등을 문서로 정리했을 것이다. - 이번에는 간단한 플로우만 설명하고, 직접 만든 코드 레포를 개발자에게 전달했다. - 동작하는 레퍼런스가 있었기 때문에 개발자는 시안의 구조와 인터랙션을 빠르게 이해할 수 있었다. - 개발 과정의 파인튜닝에서도 opacity나 모션 값을 말로 주고받기보다, 디자이너가 직접 실행 결과를 보며 수정했다. - AI에게 원하는 모션을 자연어로 설명하고 결과를 확인하는 과정을 개발자의 환경에서도 반복하면서 인터랙션 완성도를 높였다. - “느낌이 이상하다”는 추상적 표현 대신 실제 코드와 동작을 기준으로 소통할 수 있었다. ## 시각적 결과뿐 아니라 코드 구조까지 디자인하기 - 프로토타입 레포의 구조가 실제 iOS 개발 코드와 거의 동일하게 활용됐다. - 처음부터 개발을 위한 구조를 의도한 것은 아니었지만, UT와 빠른 버전 변경을 위해 만든 구조가 자연스럽게 개발 가능한 형태가 됐다. - 잘 만든 시안은 보기 좋은 화면에 그치지 않고, 재사용·수정·확장이 가능한 방식으로 만들어져야 한다. - 일회용 코드라면 개발자가 다시 구현해야 하지만, 개발 가능한 구조의 시안은 그대로 구현 명세가 될 수 있다. - AI가 “어떻게 만들지”를 지원하는 시대에는 디자이너가 “무엇을 만들지” 상상하고 결정하는 역량이 더 중요해진다. ## 적용 방법 - 도구의 제약에 맞춰 디자인하기보다, 가장 좋은 사용자 경험을 먼저 상상한다. - 정적인 그림으로 끝내지 말고 AI와 코드를 활용해 실제 기기에서 작동하는 프로토타입을 만든다. - 인터랙션을 문서로만 설명하기보다, 직접 만든 동작하는 레포를 개발자에게 전달한다. - 최종 결과뿐 아니라 코드 구조와 수정 가능성까지 디자인의 일부로 고려한다. 실용적으로는 작은 인터랙션부터 SwiftUI나 웹 기술로 직접 구현해 보고, 실제 기기에서 반복 검증하는 방식이 효과적이다. 완성된 코드는 단순한 시안이 아니라 개발자와 AI 모두가 이해할 수 있는 실행 가능한 디자인 스펙이 될 수 있다.

원문 읽기(새 탭에서 열림)
toss4분 읽기큐레이션 요약

2,800만 MAU를 이해하는 유저 Segmentation, TUES

토스의 TUES(Toss User Engagement Segment)는 유저의 서비스 이용 패턴을 기반으로 전체 MAU를 서로 겹치지 않게 분류하는 플랫폼 관점의 세그먼트다. V1은 앱 오픈 시 서비스 이용 확률과 K-Means를 활용했지만, 이용 깊이와 복합적인 서비스 사용 패턴을 충분히 반영하지 못했다. V2는 이용 횟수, Soft Clustering, 서비스별 관여도를 도입해 유저의 현재 상태와 다음 성장 액션을 더 정교하게 파악할 수 있도록 개선됐다. ### 플랫폼 관점의 유저 세그먼테이션이 필요한 이유 - 서비스별로 “A 서비스를 이용한 유저”, “B 서비스를 이용한 유저”를 따로 분류하면 한 유저가 여러 그룹에 중복 포함된다. - 플랫폼 전체 유저를 분석하려면 서로 겹치지 않으면서 전체를 포괄하는 MECE한 분류 체계가 필요하다. - TUES는 유저가 어떤 서비스를 주로 이용하고, 토스 앱을 어떤 목적과 패턴으로 사용하는지 파악하기 위한 도구다. ### TUES V1: 서비스 이용률 기반 분류 - 유저가 앱을 열 때마다 각 서비스를 이용할 확률을 계산했다. - 예: 한 달간 앱을 60회 열고 토스페이를 20회 이용하면 이용률은 33%다. - 서비스별 이용률 분포가 비슷한 유저를 K-Means Clustering으로 묶었다. - 머신러닝 결과를 그대로 사용하지 않고, 주요 서비스와 특징을 분석해 비즈니스와 제품 관점에서 이해하기 쉬운 세그먼트로 재구성했다. - 주요 세그먼트는 다음과 같다. - **고관여**: 여러 서비스를 높은 수준으로 이용하는 유저 - **서비스 지향군**: 토스뱅크, 토스증권, 조회, 혜택, 송금 등 특정 서비스를 주로 이용하는 유저 - **단순 방문**: 앱은 방문하지만 서비스를 거의 이용하지 않는 유저 ### TUES의 주요 활용 - **세그먼트 전환 전략 수립** - 세그먼트별 Retention 차이를 바탕으로 이탈을 줄이고 다음 단계로 이동시키는 전략을 세운다. - 단순 방문 유저를 서비스 지향 유저로, 서비스 지향 유저를 고관여 유저로 전환하는 흐름을 분석한다. - **제품 Growth 전략** - 각 제품의 주요 사용자가 어떤 TUES 세그먼트에 속하는지 파악해 성장 전략을 설계한다. - **유저 행동 분석** - 세그먼트가 언제, 어떤 계기로 바뀌는지 분석할 수 있다. - 이탈 유저, 부활 유저, 서비스 간 이동 패턴도 플랫폼 관점에서 확인할 수 있다. - **탑라인 지표 분석** - 전사 MAU가 변했을 때 어떤 세그먼트가 증감했는지 확인해 변화의 원인이 된 서비스를 추적한다. - 유저 단위로 MAU 증감 원인을 MECE하게 분석할 수 있다. - **타겟 마케팅** - 서비스별 상황에 적합한 세그먼트를 선정해 푸시 등 마케팅에 활용한다. - 토스의 마케팅 도구 TUBA에도 기본 세그먼트로 제공돼 마케터가 쉽게 사용할 수 있다. ### TUES V1의 한계 - **이용 깊이를 반영하지 못함** - 앱 오픈당 서비스를 한 번 이용한 유저와 여러 번 이용한 유저가 동일하게 취급됐다. - **다른 서비스의 관여도를 파악하기 어려움** - 같은 조회서비스 지향 유저라도 혜택서비스를 함께 이용하는 정도가 다르지만 이를 표현하지 못했다. - **한 유저를 하나의 세그먼트로만 분류** - Hard Clustering 방식이라 여러 서비스를 동시에 사용하는 유저의 복합성을 담기 어려웠다. - **신규 핵심 서비스 반영 부족** - 토스쇼핑, 앱인토스, 토스페이 등 새 서비스가 기존 분류에서 ETC로 처리됐다. ### TUES V2의 개선 방식 - **이용률에서 이용 횟수 기반으로 변경** - 서비스별 이용 횟수를 앱 오픈 횟수당 Feature로 사용해 서비스 이용의 깊이를 반영했다. - **Soft Clustering 도입** - 유저를 하나의 세그먼트에 고정하지 않고 여러 세그먼트에 대한 소속 정도를 계산한다. - 여러 서비스를 함께 사용하는 유저의 복합적인 이용 패턴을 표현할 수 있다. - **세 단계 세그먼트 구조 적용** - 서비스별 관여도 - 전체 앱 관여도 - 주 이용 서비스 - 이 구조를 통해 유저가 특정 세그먼트에 속한 이유를 더 상세히 설명하고, 다음 행동(Next Action)을 구체적으로 설계할 수 있게 됐다. ### V2로 가능해진 분석 - 예를 들어 “준고관여·혜택서비스 지향 유저가 고관여로 이동하려면 어떤 서비스 관여도를 먼저 높여야 하는가?”를 분석할 수 있다. - 서비스별 관여도가 Cross Activation 전략의 출발점이 된다. - 각 서비스 조직(Silo)은 자신의 서비스 관여도를 높이는 활동이 전사 세그먼트와 성과에 미친 영향을 정량적으로 추적할 수 있다. - 서비스 이용자와 미이용자의 관여도 수준을 비교해 제품 Growth 전략의 우선순위를 정할 수 있다. ### 향후 발전 방향 - 서비스 유사도 등을 활용해 세그먼트 전환 전략을 빠르게 도출하는 분석 프레임워크 구축 - 유저 프로파일과 서비스 이용 패턴을 결합한 전략적 유저 맵 개발 - MTVi 등 다른 분석 프레임워크와 결합해 세그먼트별 서비스 가치를 정량화 TUES의 핵심은 단순한 유저 분류가 아니라, “현재 어떤 유저인지”와 “어떤 액션을 통해 다음 단계로 이동시킬지”를 연결하는 데 있다. 플랫폼 서비스에서는 서비스별 지표만 따로 보기보다, 전체 관여도와 서비스 간 이용 패턴을 함께 분석하는 세그먼트 체계를 구축하는 것이 효과적이다.

원문 읽기(새 탭에서 열림)
toss5분 읽기큐레이션 요약

얼굴 인식의 역사와 페이스페이의 미래

얼굴인식은 1960년대 수작업 특징점 분석에서 출발해, PCA 기반 Eigenface와 LBP 같은 전통적 컴퓨터 비전 기술을 거쳐 딥러닝 기반 생체인증으로 발전했습니다. 대규모 데이터셋과 FaceNet·ArcFace 등의 학습 기법으로 인식 정확도가 인간 수준을 넘어섰고, 이제는 결제 서비스에도 적용되고 있습니다. 얼굴결제의 핵심 과제는 빠른 인식뿐 아니라 개인정보 보호, 위조 방지, 결제 오류 대응까지 함께 해결하는 것입니다. ## 수작업에서 시작된 얼굴인식 - 1960년대 Woodrow Wilson Bledsoe는 사진만으로 사람을 식별하는 비밀 프로젝트를 수행했습니다. - 연구원들이 눈 사이 거리, 코와 입술 사이 거리, 귀의 위치 등 얼굴 특징점의 좌표를 직접 기록했습니다. - 컴퓨터는 계산만 담당하고, 특징을 찾고 입력하는 작업은 사람이 수행했습니다. - 이 연구는 얼굴을 수치화해 비교한다는 초기 개념을 제시했지만, 당시에는 기밀로 분류되었습니다. ## 기계가 얼굴 특징을 찾기 시작하다 - 1973년 Takeo Kanade는 컴퓨터가 이미지에서 눈·코·입의 위치를 자동으로 검출하는 시스템을 발표했습니다. - 얼굴 요소 간의 기하학적 관계를 여러 파라미터로 추출해 사람의 수작업을 줄였습니다. - 얼굴 이미지에서 컴퓨터가 스스로 의미 있는 정보를 추출할 수 있다는 가능성을 열었습니다. ## Eigenface와 저차원 얼굴 표현 - 1991년 Matthew Turk와 Alex Pentland는 PCA를 활용한 Eigenface 방법을 제안했습니다. - 여러 얼굴 이미지의 평균 얼굴을 만든 뒤, 각 얼굴이 평균에서 얼마나 벗어나는지 분석했습니다. - 얼굴을 여러 Eigenface의 조합과 가중치로 표현해 비교했습니다. - 두 얼굴의 조합 비율이 비슷하면 동일 인물일 가능성이 높다고 판단합니다. - 고차원 이미지 데이터를 비교적 작은 수의 수학적 요소로 압축했다는 점에서 중요한 전환점이었습니다. ## 조명 문제와 전통적 특징 추출 - 같은 사람도 조명, 그림자, 촬영 장소에 따라 매우 다르게 보이는 문제가 있었습니다. - 얼굴 전체를 비교하는 대신 작은 영역의 질감과 패턴을 분석하는 국소 특징 기반 방법이 발전했습니다. - LBP(Local Binary Pattern)는 각 픽셀을 주변 픽셀과 비교해 밝고 어두운 관계를 이진 코드로 표현합니다. - 절대적인 밝기보다 얼굴의 질감에 집중해 조명 변화에 상대적으로 강한 특징을 얻었습니다. - SVM은 특징 공간에서 사람을 구분하는 경계면을 찾았고, AdaBoost는 여러 약한 분류기를 결합해 성능을 높였습니다. - 다만 특징을 어떤 방식으로 추출할지는 여전히 사람이 설계해야 했습니다. ## 딥러닝이 정확도를 끌어올리다 - 2014년 Facebook의 DeepFace는 LFW 데이터셋에서 97.35%의 정확도를 기록해 인간 수준에 근접했습니다. - 심층 신경망이 대규모 얼굴 이미지에서 사람이 직접 설계하지 않은 특징을 학습했습니다. - Google FaceNet은 Triplet Loss를 사용해 LFW에서 99.63%의 정확도를 달성했습니다. - 이후 SphereFace, CosFace, ArcFace 등이 얼굴 특징을 더 잘 분리하는 학습 방식을 제안했습니다. - 연구의 초점은 얼굴인식의 가능성 검증에서 더 높은 정확도와 안정성 확보로 이동했습니다. ## 대규모 데이터셋의 역할 - 딥러닝 모델의 성능은 데이터의 양과 다양성, 품질에 크게 좌우됩니다. - FERET은 1,199명, 14,126장의 이미지로 구성되어 얼굴인식 알고리즘을 객관적으로 비교할 기반을 마련했습니다. - LFW는 인터넷에서 수집한 5,749명, 13,233장의 사진으로 조명·각도·표정이 다양한 실제 환경을 반영했습니다. - VGGFace는 2,600명, 약 270만 장의 이미지로 딥러닝 시대의 데이터 규모 확대를 보여주었습니다. - MS-Celeb-1M은 대규모 데이터 구축의 가능성을 보였지만 개인정보 보호 문제로 공식 배포가 중단되었습니다. - WebFace260M은 2억 6천만 장의 원본 이미지에서 노이즈를 정제해 약 200만 명, 4,200만 장 규모의 데이터셋을 구축했습니다. - 데이터 규모뿐 아니라 잘못된 라벨과 중복·노이즈를 제거하는 정제 과정도 중요합니다. ## 얼굴이 결제 수단이 되다 - 얼굴인식은 스마트폰 잠금 해제, 출입국 심사, 출입 통제 등을 넘어 결제 영역으로 확장되었습니다. - 결제는 단순 인증보다 높은 보안성과 낮은 오인식률이 필요합니다. - 토스 페이스페이는 2025년 9월 한국에서 얼굴 결제 서비스를 시작했습니다. - 결제 수단은 동전·지폐·카드·스마트폰을 거쳐, 아무것도 소지하지 않는 방향으로 발전하고 있습니다. - 얼굴은 항상 지니고 있고, 손을 자유롭게 사용할 수 있으며, 지갑이나 앱을 꺼내는 과정이 없어 빠릅니다. ## 페이스페이의 결제 처리 흐름 - 단말기 카메라가 사용자의 얼굴을 촬영하고 등록된 고객인지 식별합니다. - 등록된 수백만 명 중에서 사용자를 빠르게 검색해야 하며, 미등록 사용자나 유사 얼굴에 대해서는 결제를 거부하거나 추가 인증을 요구할 수 있습니다. - 식별된 사용자에게 등록된 신용카드·체크카드 등 결제 수단을 연결합니다. - 사용자가 결제 수단을 직접 선택하도록 구성할 수도 있습니다. - 이후 기존 카드 결제처럼 승인 요청과 결제 완료 절차가 진행됩니다. ## Edge와 Cloud를 결합한 시스템 설계 - 단말기에서 처리하면 네트워크 지연이 적고 원본 이미지가 외부로 전송되지 않아 프라이버시에 유리합니다. - 반면 단말기의 하드웨어 제약으로 모델 크기와 정확도에 한계가 있고, 모델 업데이트와 고객 정보 동기화가 어렵습니다. - 서버에서 처리하면 강력한 GPU와 최신 모델을 사용할 수 있으며, 중앙에서 모델과 로그를 관리하기 쉽습니다. - 대신 이미지 전송 지연과 서버 통신 보안 문제가 발생합니다. - 페이스페이는 단말기에서 초기 처리를 수행한 뒤 서버에서 얼굴 특징 추출·인식·결제를 진행하는 혼합 구조를 사용합니다. - 이를 통해 단말기 처리의 속도와 서버 처리의 정확성·관리 편의성을 함께 확보합니다. ## 다층적인 개인정보 보호와 보안 - 단말기와 서버 간 통신은 TLS로 암호화하고, 이미지 자체에도 AES-256 암호화를 적용합니다. - Matrix Projection 기반의 취소 가능한 생체인증을 사용해 동일한 얼굴도 키에 따라 다른 벡터로 변환합니다. - 생체 벡터가 유출되더라도 키를 변경해 새로운 벡터를 발급할 수 있어 비밀번호 변경과 유사한 대응이 가능합니다. - 저장된 특징 정보는 원본 얼굴 이미지와 직접 대응하지 않으며, 해당 정보만으로 얼굴을 복원하기 어렵게 설계됩니다. - 생체정보 접근 권한을 제한하고 모든 접근을 기록·관리합니다. - 개인정보보호위원회의 사전 적정성 검토와 부정 결제 전액 보상 제도 등 기술 외 제도적 보호장치도 함께 활용합니다. ## 실용적인 결론 얼굴결제는 편리함만으로 완성되는 기술이 아니라, 정확한 얼굴인식 모델과 대규모·정제 데이터, Edge-Cloud 분산 구조, 암호화와 취소 가능한 생체인증, 제도적 보상 체계가 함께 작동해야 합니다. 사용자는 편리성을 누리되, 등록·이용 전 개인정보 처리 방식과 부정 결제 보상 정책, 추가 인증 수단을 확인하는 것이 좋습니다.

원문 읽기(새 탭에서 열림)
toss3분 읽기큐레이션 요약

빠르게 움직이는 조직에서, TAM은 어떻게 문제를 해결할까?

TAM CONNECT 2025는 토스와 카카오페이의 TAM들이 기술과 비즈니스를 연결하는 역할과 운영 문제 해결 방식을 공유한 자리였습니다. 두 회사의 환경은 달랐지만, 알림 노이즈·담당자 의존성·고객사 커뮤니케이션·AI 활용 등 현장에서 겪는 고민은 비슷했습니다. 글은 TAM을 단순 기술지원이 아닌, 복잡한 문제를 구조화하고 서비스와 조직을 개선하는 기술 기반 문제 해결자로 정의합니다. ## TAM의 역할과 해결하는 문제 - 파트너사의 연동 문제를 해결하고 API 도입을 기술적으로 지원합니다. - 장애 발생 시 고객사와 내부 개발·운영 조직을 연결하고 대응을 조율합니다. - 운영 프로세스를 개선하고 반복되는 문제를 자동화합니다. - 서비스와 플랫폼 구조를 더 나은 방향으로 개선하는 데 참여합니다. - 로그 분석, 우선순위 조율, 장애 대응 등 개발자·PM·운영 담당자의 역할을 상황에 따라 수행합니다. - 인증, Face Connect, 금융 플랫폼, 결제, 파트너 API 등 다양한 서비스 영역을 다룹니다. ## 알림 노이즈를 줄이고 문제를 구조화하기 - 모든 알림이 중요한 것은 아니므로 “정말 확인해야 하는 문제는 무엇인가?”를 먼저 정의했습니다. - 불필요한 알림을 줄이고 장애 패턴을 체계화했습니다. - 반복 이슈를 자동으로 탐지하는 시스템을 구축했습니다. - 정산 불일치의 근본 원인을 분석해 단기 대응이 아닌 재발 방지에 집중했습니다. - 장애를 빠르게 처리하는 것을 넘어, 장애가 반복되지 않는 운영 구조를 만드는 데 초점을 맞췄습니다. ## 특정 담당자에게 의존하지 않는 운영 - 운영 지식이 일부 담당자에게 집중되는 문제를 해결하려 했습니다. - 대응 이력을 투명하게 공유하고 구성원 모두가 같은 정보를 확인할 수 있도록 했습니다. - 담당자가 바뀌어도 누구나 신속하게 문제를 해결할 수 있는 협업 구조를 만들었습니다. - n8n 기반 워크플로 자동화로 디스코드 개발자 커뮤니티의 평균 응답 시간을 10분 이내로 유지했습니다. - LLM을 활용해 로그를 분석하고 장애 원인과 해결 가이드를 자동으로 제안했습니다. ## 고객사 경험을 운영 개선으로 연결하기 - 고객사 담당자였던 경험을 바탕으로 고객이 느끼는 답답함과 필요한 커뮤니케이션을 이해했습니다. - PDCA(Plan-Do-Check-Act) 사이클을 활용해 연동 가이드를 지속적으로 개선했습니다. - 반복되는 문의와 커뮤니케이션을 표준화했습니다. - 운영 프로세스를 구조화해 동일한 문제가 되풀이되지 않도록 했습니다. - TAM의 목표를 단순한 문제 해결이 아니라 문제의 재발 방지로 확장했습니다. ## 회사는 달라도 비슷한 운영 고민 - 고객사와 내부 개발팀 사이에서 이해관계와 우선순위를 조율해야 합니다. - 빠르게 변하는 서비스와 복잡해지는 운영 구조에 대응해야 합니다. - 기술과 비즈니스를 동시에 이해해야 하는 역할의 부담이 있습니다. - TAM은 지원 조직이나 단순 운영 인력이 아니라, 여러 조직을 움직이며 문제를 구조화하는 역할입니다. - 결과적으로 TAM은 기술 기반의 Problem Solver에 가깝다는 공감대가 형성됐습니다. ## AI 시대의 TAM - 로그 분석, 장애 원인 추천, 운영 가이드 생성에 AI를 활용할 수 있습니다. - 반복 문의 응답, 이상 탐지, 문서 검색과 요약도 자동화 대상입니다. - AI가 반복 업무를 대신할수록 TAM은 복잡한 문제 해결과 구조적 개선에 집중하게 됩니다. - 조직 간 조율, 고객 경험 설계, 운영 전략 수립처럼 높은 판단력이 필요한 업무의 중요성이 커질 전망입니다. ## 실용적인 시사점 TAM 조직은 반복 문의와 장애를 개인의 경험으로 처리하기보다, 알림 기준·대응 이력·문서·자동화 시스템으로 표준화하는 것이 중요합니다. 또한 AI를 단순 응답 자동화에만 사용하지 말고, 장애 재발 방지와 운영 구조 개선까지 확장해야 합니다.

원문 읽기(새 탭에서 열림)
toss4분 읽기큐레이션 요약

Skill 품질 관리를 위한 Rubric 설계와 시스템 구현

Skill은 코딩 에이전트가 개발 과정에서 호출해 사용하는 문서형 도구이므로, 내용이 좋아도 호출되지 않으면 아무런 가치가 없다. 글은 Skill 품질을 6개 섹션 30개 항목으로 평가하고, 형식처럼 결정적으로 검증할 수 있는 항목은 규칙 기반으로, 호출 적합성처럼 의미 판단이 필요한 항목은 LLM 기반으로 분리해야 한다고 주장한다. 특히 BLOCKER가 하나라도 있으면 F 등급으로 처리해 Merge 차단 여부를 단순하게 판단하는 것이 핵심이다. ## Skill 평가가 어려운 이유 - Skill은 컴파일이나 테스트처럼 명확한 통과·실패 기준이 없다. - 결함이 있어도 호출되지 않거나, 호출돼도 효과가 없는 상태로 조용히 남을 수 있다. - 대표적인 문제는 다음 두 가지다. - **트리거 실패**: 호출 조건을 본문에 작성하고 `description`에는 적지 않아 에이전트가 Skill을 호출하지 못하는 문제 - **형식 위반**: `name`이 kebab-case가 아니거나, `name`과 폴더명이 달라 Skill 자체가 인식되지 않는 문제 ## 규칙 기반 검사와 모델 기반 검사의 분리 - 형식·구조처럼 결과가 명확한 항목은 정규식, 카운트, AST 파싱 등 결정적 도구로 검사한다. - 트리거의 의미나 설명의 충분성처럼 문맥 판단이 필요한 항목은 LLM이 평가한다. - 30개 평가 항목은 다음처럼 나뉜다. - 규칙 검사 17개 - 모델 검사 13개 - 역할을 섞으면 문제가 발생한다. - 결정적 결함을 LLM에 맡기면 애매한 상태를 통과시키는 False Negative가 생긴다. - 의미적 판단을 정규식으로 처리하면 표현의 다양성을 놓쳐 False Positive가 늘어난다. - 규칙 검사는 비용이 거의 없어 모든 PR에서 실행할 수 있고, LLM 검사는 규칙 검사를 통과한 Skill에만 적용해 비용을 줄인다. ## 6개 섹션 30개 항목의 평가 구조 - 각 항목은 `BLOCKER`, `MAJOR`, `MINOR` 심각도를 가진다. - 결과는 S부터 F까지 5단계 등급으로 표시한다. - `BLOCKER`가 하나라도 있으면 무조건 F다. - 세부 등급은 작성자에게 상태를 알려주는 신호로 사용하고, 실제 Merge 차단은 F 여부만으로 결정한다. - 이 방식은 등급의 미세한 차이를 두고 불필요하게 논쟁하는 일을 줄인다. ## 타당성: Skill이 정말 필요한가 - Skill을 만들 만한 가치가 있는지 평가한다. - 핵심 질문은 다음과 같다. - 반복적으로 발생하는 작업인가? - 코딩 에이전트가 일반적인 지시만으로 처리하기 어려운가? - Skill로 만들어 제공할 때 지속적인 이점이 있는가? - 일회성 작업이나 에이전트에게 그대로 시켜도 되는 작업은 Skill로 만들 필요가 없다. - 다른 섹션이 이미 만들어진 Skill의 품질을 점검한다면, 타당성 섹션은 애초에 만들지 말았어야 할 Skill을 걸러내는 역할을 한다. - 이 섹션에는 3개 항목이 있으며 모두 MAJOR 수준이다. ## 구조: 형식 오류를 결정적으로 차단 - 구조 섹션은 8개 항목으로 구성되며, 그중 5개가 BLOCKER다. - 예시로 다음을 검사한다. - frontmatter 존재 여부와 YAML 파싱 가능 여부 - `name`의 kebab-case 준수 여부 - `name`과 폴더명 일치 여부 - `description` 길이가 1~1024자 범위인지 여부 - 본문에 허용되지 않은 XML 태그가 포함됐는지 여부 - 구조 검사는 전부 규칙 기반으로 처리하며 LLM을 사용하지 않는다. - frontmatter 자체가 파싱되지 않는 경우에는 즉시 반환하지만, 그 외 오류는 가능한 한 끝까지 검사한다. - 여러 오류를 한 번에 반환해 PR 작성자가 한 번의 피드백으로 모두 수정할 수 있도록 설계했다. - 형식 검사는 정교함보다 매번 동일한 결과를 내고 누락 없이 동작하는 것이 중요하므로, 단순한 구현을 유지한다. ## 트리거: Description에 WHAT과 WHEN을 함께 작성 - 에이전트는 Skill을 호출할지 결정할 때 이름과 `description`만 본다. - Skill 본문은 호출이 결정된 뒤에 읽힌다. - 따라서 본문에만 다음과 같은 조건을 작성하면 호출되지 않는다. - “언제 사용하는가” - “어떤 상황에서 호출하는가” - `Use when ...` - `description`에는 Skill이 무엇인지뿐 아니라 언제 사용해야 하는지도 포함해야 한다. - 트리거 섹션은 6개 항목으로 구성되며, 본문에만 트리거 조건이 있는 경우 BLOCKER로 처리한다. - 처음에는 `when`, `use when`, “할 때”, “사용 시” 같은 표현을 정규식으로 검사했지만 한계가 있었다. - 한국어 표현을 놓치면 잘못된 BLOCKER가 발생한다. - 이모지, 완곡한 표현, 다양한 문장 구조를 모두 규칙으로 포괄하기 어렵다. - 최종적으로는 “Description이 본문의 트리거 조건을 의미적으로 충분히 포함하는가?”를 LLM이 판단하도록 전환했다. ## 운영 방식과 설계 원칙 - BLOCKER 구조 오류는 LLM 평가 전에 차단해 불필요한 모델 호출을 줄인다. - 구조 검사 결과를 오류 목록으로 한 번에 제공해 수정 비용을 낮춘다. - 복잡한 전략 패턴 같은 확장 설계보다 현재 요구사항에 맞는 단순한 검사 코드를 우선한다. - 규칙 기반과 모델 기반의 책임 영역을 명확히 나누는 것이 Rubric 전체의 핵심 원칙이다. 실무에서는 먼저 frontmatter, 이름 규칙, 폴더 구조 같은 형식 검사를 자동화하고, 이를 통과한 Skill에 대해서만 트리거 적합성과 내용 품질을 LLM으로 평가하는 방식을 권장한다. 특히 `description`에는 Skill의 기능(WHAT)과 사용 시점(WHEN)을 모두 명시해야 하며, BLOCKER 하나만으로도 배포나 Merge를 막도록 운영하면 호출되지 않는 Skill을 조기에 줄일 수 있다.

원문 읽기(새 탭에서 열림)
toss5분 읽기큐레이션 요약

토스팀이 AI 파도를 마주하는 방법: AI Surf Day

토스는 빠르게 변하는 AI를 따라잡기 위해 개인의 학습에만 의존하지 않고, 업무 시간과 조직 문화를 재설계하는 ‘AI Surf Day’를 운영했다. 매주 금요일을 AI 실험과 공유의 시간으로 정해 직군과 숙련도에 관계없이 누구나 AI를 업무에 적용하도록 지원했다. 이 경험은 특정 프로그램보다 자유롭게 시도하고 실패와 성과를 공유하는 문화, 그리고 이를 이끄는 사람들이 AI 전환의 핵심임을 보여준다. ## AI Surf Day의 배경과 목적 - AI 기술이 빠르게 발전하면서 개발자뿐 아니라 PO, 디자이너, 스태프 등 모든 직군에서 AI 활용에 대한 관심이 커졌다. - 반면 비개발 직군을 중심으로 다음과 같은 어려움도 나타났다. - 수많은 AI 정보 중 실제 업무에 유용한 것을 선별하기 어려움 - 새로운 기술을 학습할 별도 시간을 내기 어려움 - AI를 잘 활용하는 사람과 그렇지 못한 사람 사이의 격차와 불안 - 토스는 월요일부터 목요일까지 본업에 집중하고, 매주 금요일은 AI를 실험하고 업무에 적용하는 ‘AI Surf Day’로 운영했다. - 목표는 단순히 AI 도구 사용법을 익히는 것이 아니라, 토스 전체가 AI 기반으로 일하는 문화를 만드는 것이었다. - “파도를 멈출 수는 없지만 서핑하는 방법은 배울 수 있다”는 비유처럼, 예측하기 어려운 AI 변화에 조직적으로 대응하려는 취지를 담았다. ## AI Surf Club: 자율적인 실험과 학습 - 팀원 누구나 AI 관련 주제로 모임을 만들고 참여할 수 있는 핵심 프로그램이다. - 시작과 함께 약 200개의 클럽이 만들어질 만큼 높은 참여가 나타났다. - 대표적인 사례는 다음과 같다. - **AI 안티패턴 스터디** - AI 활용이 잘되지 않았던 시행착오와 실패 사례를 공유했다. - 프로젝트 방향을 잡고 실수를 줄이는 데 도움이 되는 ‘시행착오 방지 가이드’로 내용을 정리했다. - **LLM Wiki 활용법** - 업무 지식이 여러 곳에 흩어진 문제를 해결하기 위해 조직 공동의 지식 자산 구축을 논의했다. - 데이터 엔지니어, 머신러닝 엔지니어, 비즈니스 담당자 등 다양한 직군이 참여해 관점을 넓혔다. - **터미널 초보자를 위한 0단계 모임** - 에이전트 도구 설치나 터미널 사용처럼 기본적인 기술 장벽을 해결했다. - 초보적인 질문도 부담 없이 할 수 있는 안전한 학습 공간을 제공했다. - **금융소비자보호 업무의 AI 전환** - “상담 과정에서 미리 민원을 발견하고 싶다”는 요구에서 출발해 한 달 만에 대외민원 모니터링 포털을 개발했다. - 민원 회신문 초안 작성과 민원 분류 자동화 등 추가 결과물도 만들어냈다. - 가장 큰 성과는 구성원들이 “우리도 AI로 해볼 수 있다”는 자신감을 얻은 점이었다. - **비즈니스 마케팅 팀의 AI 워크숍** - Builder, Curator, Operator, Scouter로 역할을 나누어 AI 도구, 사례, 자동화 결과물을 만들고 공유했다. - 개인의 실험을 다른 팀원이 복제하거나 업무에 적용할 수 있는 자산으로 남기는 데 초점을 맞췄다. ## AI Surf Weekly: 사례와 아이디어의 확산 - 사내 AI 활용 우수 사례, 레슨런, 최신 AI 인사이트를 공유하는 시간이다. - 구체적인 도구 사용법을 일방적으로 교육하기보다, 실제 사례를 보여주고 새로운 아이디어를 떠올리게 하는 방식을 택했다. - 서로 다른 조직의 유사한 문제를 가진 구성원을 연결해 단시간에 결과물을 만들도록 돕기도 했다. - 영업팀의 요구와 유사한 도구를 만든 인사팀 구성원을 연결해 빠르게 업무 도구를 개발했다. - 디자인 자동화에 어려움을 겪던 마케팅 담당자를 디자인 조직의 경험자와 연결해 하루 만에 문제를 해결했다. - 잘 쓰는 사람과 실제 결과물을 공유하면, 구성원들이 자신의 업무에 맞게 응용하면서 새로운 활용 사례가 파생된다는 점을 확인했다. ## AI Surf Evangelist: 현업 중심의 전파 체계 - 조직에서 AI를 잘 활용한다는 것은 개인이 도구를 능숙하게 쓰는 것이 아니라, 기존 업무 흐름을 AI 기반으로 재설계하는 것이다. - 이를 가장 잘 이끌 사람은 실제 업무와 팀의 문제를 잘 아는 현업 구성원이라고 판단했다. - 토스는 AI 기술 전문가보다 다음과 같은 구성원을 에반젤리스트로 선발했다. - 유용한 정보를 발견하면 팀에 공유하는 사람 - 동료가 AI 활용 중 막혔을 때 함께 해결하는 사람 - AI 도입과 전파에 적극적인 사람 - 공개 추천을 통해 이미 비공식적으로 이런 역할을 수행하던 사람을 발굴했고, 총 142명이 선정됐다. - 주요 미션은 다음과 같다. - 3개월 동안 조직 내 AI 활용 사례를 공유 채널에 제보 - 팀 대상 밋업이나 워크숍을 최소 1회 개최 - 유용한 사례와 인사이트를 조직에 전파 - 문화팀은 워크숍 템플릿과 퍼실리테이션을 지원해 각 팀이 ‘업무를 AI 기반으로 재설계한다면?’을 주제로 실험하도록 도왔다. ## OpenAI 협업과 에이전틱 워크플로우 - 5월에는 OpenAI와 협업해 개발자용 Codex 세션, 비개발자용 ChatGPT Agent 자동화 세션, 미니 해커톤을 진행했다. - **iOS Simulator 자동 검증 에이전트** - Codex가 기능 구현, 빌드, 로그인, 입력, 테스트, 수정 과정을 직접 수행했다. - 계획부터 검증 영상 생성까지의 전체 루프를 자동화했다. - **토스플레이스 메뉴 분류 어드민** - AI 에이전트가 매일 상품 데이터를 조회하고 사전 정의된 기준에 따라 1차 분류한다. - 담당자는 알림 링크를 통해 결과를 확인하고 확정 또는 반려한다. - 단순 반복 업무를 재사용 가능한 Agentic Workflow로 전환한 사례다. ## 프로그램보다 중요한 문화와 사람 - AI Surf Day는 6월까지 운영될 예정이지만, 이후 동일한 형식으로 지속될지는 정해지지 않았다. - 글에서 중요하게 본 성과는 특정 프로그램 자체가 아니라 다음과 같은 변화다. - AI를 실험할 수 있도록 공식적인 시간대를 마련함 - 성공뿐 아니라 실패와 시행착오도 공유함 - 서로 다른 팀의 사례와 사람을 연결함 - 워크숍과 결과물이 실제 업무 방식의 변화로 이어짐 - AI 전환을 추진하는 조직이라면 별도 학습 시간을 보장하고, 현업의 자발적 실험을 지원하며, 결과물을 조직 자산으로 공유하는 구조부터 만드는 것이 효과적이다.

원문 읽기(새 탭에서 열림)
toss3분 읽기큐레이션 요약

Cross Functional 기술 문제 풀기 위한 역량 성장 Tip

조직이 커질수록 각 팀이 맡은 일은 잘 수행해도 팀과 팀 사이의 공백이 커지며, Cross Functional 기술 문제가 발생합니다. 이런 문제는 회의·보고·리스크 관리 같은 조율만으로 해결되지 않으며, 문제를 재정의하고 구조화해 실제 실행으로 전환해야 합니다. 토스의 TPM은 공식 권한보다 문제 정의력, 구조화 능력, 영향력과 실행력을 바탕으로 복합적인 문제를 끝까지 해결하는 역할을 합니다. ## 조직 성장과 함께 커지는 경계의 문제 - 팀별 책임과 전문성이 높아질수록 팀의 경계 밖 문제가 늘어납니다. - 인프라, 제품, 데이터, 보안, 운영 이슈가 서로 얽혀 한 조직만으로 해결하기 어렵습니다. - 단기 대응과 장기 구조 개선이 충돌합니다. - 중요하지만 공식 Owner가 없는 회색지대가 생깁니다. - 각 팀이 최선을 다해도 전체 최적화가 이뤄지지 않을 수 있습니다. ## 조율만으로 해결되지 않는 이유 - 회의를 더 자주 열고 진행 상황을 공유해도 문제의 본질은 남을 수 있습니다. - 리스크 목록이나 일정표에는 결정 구조의 공백, 모호한 책임, 충돌하는 우선순위가 잘 드러나지 않습니다. - 핵심은 관리의 밀도를 높이는 것이 아니라, 문제를 해결 가능한 구조로 바꾸는 것입니다. - 먼저 “진짜 병목은 무엇인가”, “누가 빠져 있는가”, “어떤 결정이 비어 있는가”를 물어야 합니다. ## TPM에게 필요한 핵심 역량 ### 문제를 다시 정의하는 힘 - 일정 지연이나 협업 속도 저하 같은 표면적 현상에 머물지 않습니다. - 지연의 원인, 비어 있는 의사결정, 불명확한 Owner, 반복되는 조직 구조의 문제를 찾아냅니다. - 증상을 관리하는 대신 해결해야 할 문제 자체를 다시 설정합니다. ### 모호함을 구조로 바꾸는 힘 - 무엇을 결정해야 하는지 명확히 합니다. - 가능한 선택지와 책임자를 정리합니다. - 문제를 실행 가능한 단위로 쪼개고 우선순위와 순서를 만듭니다. - 복잡한 문제를 여러 사람이 함께 다룰 수 있는 단순한 구조로 바꿉니다. ### 전략적 판단력 - 일시적인 이슈인지 반복될 구조적 문제인지 구분합니다. - 팀 내부 해결이 가능한지, 조직 차원의 개입이 필요한지 판단합니다. - 지금 개입해야 하는 문제와 관찰해도 되는 문제를 나눕니다. - 해결했을 때 조직의 실행 수준 자체를 높일 수 있는 문제에 집중합니다. ### 실행으로 전환하는 힘 - 실제로 움직여야 할 사람을 명확히 합니다. - 선행 결정과 Blocker를 정리합니다. - 모호한 논의를 결정 포인트로 바꾸고 담당자가 결론을 내리게 합니다. - 합의된 액션 플랜을 실제 행동으로 연결합니다. ### 공식 권한 없이 영향력을 만드는 힘 - 직함이나 지시가 아니라 신뢰와 판단력으로 참여를 이끌어냅니다. - 각 팀의 맥락과 제약을 이해하고 서로 다른 언어를 번역합니다. - 필요한 경우 불편한 대화를 열어 우선순위와 책임 문제를 드러냅니다. ### 사람과 구조를 함께 보는 시각 - 기술 문제가 역할 정의, 팀 구조, 운영 방식에서 비롯될 수 있음을 고려합니다. - 프로세스 개선만으로 충분한지, 역할 재설계나 리더십 개입이 필요한지 판단합니다. - 사람과 시스템을 분리하지 않고 함께 바라봅니다. ## 자율성이 낮은 조직에서의 단계적 접근 - **작은 문제부터 해결하기:** 분명한 병목 하나를 구조적으로 해결해 신뢰를 쌓습니다. - **조율에 구조화를 더하기:** 회의를 진행하면서 결정 사항, 의존성, 병목을 함께 드러냅니다. - **작은 범위에서 Owner 명확히 하기:** 담당자, 의사결정권자, 완료 기준을 구체화합니다. - **사례로 역할 증명하기:** 역할을 설명하기보다 Owner 없는 문제를 해결하고 반복 병목을 줄인 실적을 만듭니다. ## 주의할 점 - 조율은 중요하지만 목적이 아니라 문제 해결을 위한 수단이어야 합니다. - 공식 권한이 없어도 신뢰와 구조화 능력으로 영향력을 만들 수 있습니다. - 조직에 이상적인 역할 모델을 한 번에 강요하기보다 현재 환경에서 작동하는 작은 성공 사례부터 만들어야 합니다. 결국 Cross Functional 기술 문제를 풀기 위해서는 일정과 회의부터 관리하기보다 문제를 다시 정의해야 합니다. 진짜 병목, 누락된 사람과 책임, 실행을 가로막는 구조를 찾아 작은 범위에서부터 바꾸는 것이 실용적인 출발점입니다.

원문 읽기(새 탭에서 열림)
toss원문

AI 시대, 성과 내는 조직일수록 토스식 TPM이 필요한 이유 (새 탭에서 열림)

토스가 정의하는 TPM(Technical Program Manager)은 일정과 리스크를 관리하는 전통적 조율자를 넘어, 여러 팀 사이에 방치된 구조적 문제를 발견하고 해결하는 **전략 실행자**다. 특히 AI 도입으로 기술·조직·운영의 의존성이 복잡해질수록, 공식 Owner가 없는 회색지대를 구조화하고 실행 가능한 상태로 만드는 역할이 중요해진다. TPM의 성과는 문서나 상태 보고가 아니라 병목 제거와 현실의 변화로 증명된다. ## 기존 TPM 정의의 한계 - 일반적인 TPM은 이미 정의된 기술 프로그램의 일정, 리스크, 의존성, 커뮤니케이션을 관리해 안정적인 전달을 돕는다. - 그러나 조직이 커질수록 어려운 문제는 정식 프로그램이나 명확한 과제의 형태로 등장하지 않는다. - 대표적인 문제는 다음과 같다. - 여러 팀이 관련되어 있지만 최종 책임자가 없는 문제 - 전략은 존재하지만 실행 구조가 없는 문제 - 상태 공유는 계속되지만 실제 상황은 바뀌지 않는 문제 - 제품·기술 전략·조직 설계·운영 방식이 복합적으로 얽힌 문제 - 이런 상황에서는 일정 관리나 이해관계자 조율만으로 문제를 해결하기 어렵다. ## PO·EM·전통적 TPM과의 차이 - **PO(Product Owner)**는 사용자와 비즈니스 관점에서 무엇을 만들고 어떤 우선순위를 둘지 정의한다. - **EM/SDM**은 사람, 기술 품질, 팀 운영과 조직 건강을 관리해 특정 팀이 꾸준히 실행할 기반을 만든다. - **전통적 TPM 또는 Technical Project Manager**는 정해진 목표를 일정 안에 전달하도록 계획과 리스크를 관리한다. - **토스식 TPM**은 이 역할들을 대체하지 않고, 역할 사이와 조직 경계 밖에 남은 문제를 담당한다. - 제품 방향은 있지만 여러 조직을 움직일 실행 구조가 없을 때 - 각 팀은 제 역할을 하지만 전체 관점의 Owner가 없을 때 - 리더십이 중요성을 인식해도 기존 구조에서는 우선순위를 만들기 어려울 때 - 따라서 이미 정의된 업무를 관리하기보다, 정의되지 않은 중요한 문제를 해결 가능한 형태로 바꾸는 데 초점을 둔다. ## 성숙한 조직에서 커지는 회색지대 - 조직이 성숙하면 각 팀의 책임과 목표가 선명해지고 실행 속도도 빨라진다. - 반면 명확한 조직 경계 때문에 어느 팀에도 완전히 속하지 않는 문제가 방치될 수 있다. - 이러한 문제는 여러 조직에 조금씩 걸쳐 있거나, 당장은 긴급하지 않지만 미래를 위해 해결해야 하거나, 개별 팀의 로컬 최적화로는 풀리지 않는 경우가 많다. - AI 시대에는 모델 도입, 데이터 거버넌스, 품질 기준, 보안, 개발 생산성, 업무 방식이 동시에 얽히면서 이런 현상이 심화된다. - 높은 자율성과 실행력을 가진 조직일수록 팀 간 경계를 전담해 다룰 역할이 필요하다. ## 토스식 TPM이 다루는 문제 - 중요한데 공식 Owner가 없다. - 여러 팀과 직무가 동시에 연관되어 있다. - 전략·기술·운영·사람 문제가 섞여 있다. - 진행 상황은 자주 공유되지만 실질적인 전환은 일어나지 않는다. - 기존 역할 하나의 권한과 책임만으로는 끝까지 해결하기 어렵다. - TPM은 표면적인 현상만 추적하지 않고 다음을 수행한다. - 진짜 문제와 단순 증상을 구분한다. - 빠진 이해관계자와 필요한 의사결정을 드러낸다. - 권한과 책임 구조를 설계한다. - 결과가 만들어질 때까지 실행에 개입한다. ## 문제 발견부터 현실 변화까지의 역할 - **문제를 선제적으로 발견한다** - 누군가 정리한 업무를 기다리지 않고 반복되는 병목, 책임의 공백, 이름 붙지 않은 중요 문제를 찾는다. - **전략을 실행 구조로 전환한다** - 어떤 팀이 어떤 순서로 움직일지, 무엇을 포기할지, 누가 DRI(최종 책임자)가 될지 구체화한다. - **팀 사이에서 실행을 설계한다** - 서로 다른 조직의 목적·속도·제약을 연결하고 공동 문제를 풀 수 있는 협업 구조를 만든다. - **블로커를 보고하는 데서 그치지 않는다** - 필요하면 의사결정 구조, 우선순위, 참여자 구성과 협업 방식을 바꿔 실제 장애물을 제거한다. - **사람과 조직 구조를 함께 본다** - 필요한 리더십, 팀 구성, 권한 배치와 반복 가능한 운영 메커니즘을 함께 설계한다. - **현실의 변화로 성과를 판단한다** - 막힌 실행이 다시 움직이고 반복 병목이 줄어들며, 다음에는 같은 문제를 더 쉽게 해결할 수 있어야 한다. - 문서와 회의, 조율은 수단이며 TPM의 정체성은 문제 해결에 있다. ## 강한 TPM에게 필요한 역량 - **문제 구조화** - 모호한 현상에서 본질과 증상을 구분하고, 관계자와 의사결정 병목을 빠르게 파악한다. - 회의 후 내용을 정리하는 수준을 넘어 회의 전부터 문제의 프레임을 제시한다. - **전략의 실행 전환** - 필요한 작업 흐름, 개입 순서, 시점별 책임자를 설계해 방향성을 실제 행동으로 연결한다. - **영향력과 동원 능력** - 공식 권한에 의존하지 않고 신뢰와 판단력으로 여러 팀을 움직인다. - 조직마다 다른 언어를 번역하고, 불편한 대화를 열며, 합의가 느린 상황에서도 실행 기반을 만든다. - **시스템 사고** - 문제가 반복되면 개인의 노력보다 조직 구조와 운영 메커니즘을 점검한다. - 영웅적인 개인의 희생 없이도 기본적으로 잘 작동하는 시스템을 만든다. - **완결성** - 문제 발견, 구조 설계, 관계자 동원, 실행, 결과 도출, 재발 방지까지 끝까지 책임진다. - 업무량보다 어렵고 넓은 회색지대의 문제를 완결할 수 있는지가 중요하다. ## AI 시대의 TPM - AI 도입이 확대될수록 기술 변화는 빨라지고 팀 간 의존성과 책임 경계는 복잡해진다. - 조직에 필요한 것은 회의와 상태 보고를 늘리는 사람이 아니라, 비어 있는 구조를 찾아 실행이 다시 움직이도록 만드는 사람이다. - 모두가 중요하다고 하지만 아무도 끝까지 책임지지 않는 문제가 반복된다면 새로운 형태의 TPM이 필요하다는 신호다. - 정식 직책이 없더라도 이런 문제를 발견하고 구조화해 해결까지 이끄는 비공식 TPM 역할부터 시도해볼 수 있다.

toss원문

양자 컴퓨터가 등장하기 10년 전 우리가 양자 내성 암호를 도입한 이유 (새 탭에서 열림)

토스페이먼츠는 20년 된 레거시 시스템을 개편하며 수만 가맹점의 결제 안정성을 유지하는 동시에, 미래의 보안 위협에 대비한 기술적 도약을 시도했습니다. 특히 기존 암호화 체계를 무력화할 수 있는 양자 컴퓨팅의 위협에 선제적으로 대응하기 위해, 4년에 걸친 단계적 로드맵을 통해 양자 내성 암호(PQC)를 성공적으로 도입했습니다. 이는 단순히 기술적 업그레이드를 넘어 가맹점과의 복잡한 이해관계를 조정하며 이뤄낸 보안 인프라 현대화의 결실입니다. **레거시 보안 개편의 현실적 난관** * **가맹점 호환성 문제**: 브라우저와 달리 서버 간 통신(API)은 노후화된 인프라에서 실행되는 경우가 많아, 최신 보안 프로토콜 적용 시 수만 가맹점의 결제가 중단될 위험이 큼. * **기술적 소통의 장벽**: 보안 업그레이드에 필요한 복잡한 기술 용어는 전담 개발팀이 없는 영세 가맹점주들에게 큰 부담이 되며, 이는 전체 보안 수준을 높이는 데 병목 현상을 일으킴. * **보수적 운영 원칙의 충돌**: "망가지지 않았다면 건드리지 않는다"는 안정성 최우선의 원칙이 보안 고도화라는 변화의 의지와 충돌하는 지점이 발생함. **양자 컴퓨팅과 기존 암호 체계의 위협** * **전통적 암호 알고리즘의 한계**: 현재 널리 쓰이는 RSA, ECDSA는 소인수분해나 타원곡선 연산의 어려움에 기반하지만, 양자 컴퓨터는 이를 수 시간 내에 풀어낼 수 있음. * **Q-Day와 선점 공격(HNDL)**: 양자 컴퓨터가 암호를 해독하게 되는 'Q-Day'에 대비해야 함. 특히 지금 암호화된 데이터를 미리 수집해 두었다가 나중에 양자 컴퓨터로 복호화하는 'Harvest Now, Decrypt Later' 공격은 현재의 데이터 안전을 실질적으로 위협함. * **결제 데이터의 가치 유지**: 결제 정보는 시간이 지나도 가치가 유효하므로, 미래의 해킹 위협으로부터 보호하기 위해 지금 당장 강력한 암호 체계 도입이 필요함. **4단계 보안 프로토콜 고도화 과정** * **HTTP/3 도입 (2022)**: PG 업계 최초로 최신 웹 프로토콜을 도입하여 결제 속도를 개선하고, 최신 보안 규격인 TLS 1.3 사용을 강제할 수 있는 기반을 마련함. * **취약한 암호 스위트 제거 및 TLS 1.3 확산 (2022~2025)**: 보안성이 낮은 구형 암호화 방식들을 단계적으로 퇴출하고, 가맹점들의 환경을 최신 전송 계층 보안 프로토콜로 전환하도록 유도함. * **양자 내성 암호(PQC) 구현 (2026)**: 양자 컴퓨터의 공격에도 견딜 수 있는 차세대 암호 알고리즘을 최종적으로 적용하여 미래 지향적인 보안 체계를 완성함. 보안은 "현재 문제가 없다"고 해서 안주할 수 있는 영역이 아닙니다. 특히 결제 시스템처럼 민감한 정보를 다루는 서비스는 가맹점의 기술적 부채를 고려하면서도, 미래의 잠재적 위협인 양자 컴퓨팅 공격 등에 대비해 끊임없이 인프라를 현대화하는 선제적인 자세가 필요합니다.

toss원문

토스플레이스 데이터봇 ‘판다(PANDA)’를 소개합니다 : 모든 팀원이 데이터 전문가처럼 일하는 방법 (새 탭에서 열림)

토스플레이스는 데이터 분석가에게 집중된 단순 추출 요청을 해결하고 전사적인 데이터 민주주의를 실현하기 위해 AI 데이터 분석 어시스턴트 ‘판다(PANDA)’를 개발했습니다. 판다는 단순한 챗봇을 넘어 표준 데이터 마트 정비와 에이전트 기반의 자율 루프 시스템을 통해 데이터 조회부터 실무 인사이트 제공까지 수행하며, 출시 후 전사 구성원의 70%가 활용하는 필수적인 도구로 자리 잡았습니다. 기술적 복잡함보다 비즈니스 맥락과 데이터 거버넌스에 집중함으로써, 누구나 데이터 분석가의 도움 없이도 정확한 의사결정을 내릴 수 있는 환경을 구축했다는 데 큰 의의가 있습니다. ### 데이터 신뢰성을 위한 표준 데이터 마트(SSOT) 구축 * AI가 일관된 답을 낼 수 있도록 Data Analysis와 Platform 팀이 협업하여 핵심 데이터를 단일화된 테이블로 정비했습니다. * **표준 네이밍 컨벤션:** 테이블명은 `{역할}_{도메인}_{주제}`(예: fact_device_error_log)로, 컬럼명은 `{접두어}_{대상}_{속성}_{접미어}`(예: is_merchant_active)로 규칙화하여 AI가 이름만으로도 데이터의 목적을 이해하게 했습니다. * 모든 테이블과 컬럼에 상세 설명을 추가하여 AI가 데이터를 정확하게 탐색할 수 있는 기반 정보를 제공했습니다. ### 데이터 선택의 정확도를 높이는 Scoring & Ranking 시스템 * 질문에 대해 매번 다른 테이블을 선택하는 문제를 방지하기 위해 유사도와 신뢰도를 결합한 점수 체계를 도입했습니다. * **최종 점수 산출:** `(질문-테이블 유사도) × (데이터 계층 가중치)` 공식을 적용합니다. * **계층별 가중치:** 전사 주요 지표(SSOT)는 4배, 검증된 표준 마트는 3배, 도메인 마트는 2배, 원시 로그 데이터는 1배의 가중치를 부여하여 가장 신뢰할 수 있는 소스를 우선 선택하게 합니다. * dbt tags를 활용해 관리되는 테이블만 Manifest 파일로 가져와 탐색 범위를 최적화했습니다. ### 비즈니스 맥락 연결과 에이전틱 루프(Agentic Loop) * ‘설치 매장’이나 ‘업종 분류’와 같은 비즈니스 용어 정의를 데이터 구조와 연결하여 AI가 단순 수치 이상의 맥락을 파악하도록 설계했습니다. * AI가 스스로 상황에 맞는 도구를 선택하고, 결과가 부정확할 경우 스키마를 다시 확인하여 쿼리를 수정 및 재실행하는 자율적 재시도 과정을 거칩니다. * '테이블 탐색 → 쿼리 실행 → 결과 검증 → 수정 → 최종 결과 도출'의 과정을 반복하며 정답률을 높이는 구조를 갖췄습니다. ### 실무 활용성을 고려한 답변 구조 및 성과 * 단순 숫자 나열이 아니라 **결과, 조회 기준, 실무 인사이트**라는 3단계 구조로 답변을 제공하여 사용자의 해석 시간을 단축했습니다. * 출시 직후 전체 팀원의 절반 이상이 사용했으며, 현재는 70%의 사용률을 기록하며 데이터 요청에 대한 심리적 문턱을 낮추고 실질적인 업무 방식의 변화를 이끌어냈습니다. * 개발자, 기획자 등 비데이터 직군에서도 활발히 사용하며 데이터 분석가의 리소스를 고부가가치 분석 업무에 집중할 수 있도록 지원합니다. 성질 급한 AI 모델의 성능에만 의존하기보다, **데이터의 표준화와 비즈니스 로직의 명확한 정의(Governance)**가 선행될 때 비로소 실효성 있는 AI 서비스가 완성된다는 점을 시사합니다. 사내 데이터 민주화를 고민한다면, 기술적 기교 이전에 AI가 읽기 좋은 데이터 환경을 만드는 것부터 시작할 것을 추천합니다.

toss원문

StarRocks 운영기: Resource Group으로 멀티테넌트 워크로드 격리하기 (새 탭에서 열림)

토스는 서비스 조회와 대규모 분석 쿼리를 하나의 플랫폼에서 처리하기 위해 StarRocks를 실시간 OLAP 엔진으로 도입하고, 다양한 워크로드가 공존하는 환경에서 리소스 그룹(Resource Group)을 통해 안정적인 운영 체계를 구축했습니다. 특히 CPU 우선순위 설정과 전용 코어 할당 방식을 전략적으로 선택하여, 대규모 배치 작업이 진행되는 중에도 서비스 쿼리의 응답 속도(SLA)를 일관되게 유지하는 최적의 격리 구조를 설계했습니다. **비즈니스 중요도에 따른 워크로드 분류** * 워크로드의 성격에 따라 서비스 쿼리, 서버 배치, 대규모 적재·백필, 모니터링·사용자 도구 순으로 우선순위를 정의했습니다. * 실시간 응답이 필수적인 서비스 쿼리는 가장 먼저 보호하고, 클러스터 전체에 부하를 줄 수 있는 대규모 적재나 단순 모니터링 조회는 하위 순위나 상한선을 두어 관리합니다. **가중치 기반의 유연한 리소스 분배 (cpu_weight)** * CPU 경합이 발생할 때 설정된 비율에 따라 리소스를 분배하는 방식으로, Linux CFS(Completely Fair Scheduler)와 유사한 자체 스케줄링 메커니즘을 사용합니다. * 리소스가 여유로울 때는 다른 그룹의 남는 자원을 빌려 쓸 수 있어(Borrowing), 일반적인 멀티테넌트 환경에서 리소스 효율성을 극대화하는 기본 설정으로 활용됩니다. * 내부적으로 파이프라인 드라이버가 100ms 타임 슬라이스 단위로 양보하며 동작하므로, 중요도가 높은 그룹이 더 많은 CPU 시간을 확보하게 됩니다. **물리적 코어 예약을 통한 배타적 격리 (exclusive_cpu_cores)** * 높은 SLA가 요구되는 특정 서비스의 경우, 물리적 코어를 전용으로 예약하여 다른 워크로드의 간섭을 완전히 차단합니다. * 이 설정은 단순히 논리적 할당에 그치지 않고, `pthread_setaffinity_np`를 통해 스레드를 코어에 바인딩하며 쿼리 실행을 위한 3벌의 ThreadPool(Driver, Scan, ConnectorScan)을 별도로 생성합니다. * 공유 리소스 풀과의 경합이 원천적으로 제거되므로, 헤비 배치 작업과 서비스 조회가 겹치는 상황에서도 응답 시간이 튀는 현상을 방지할 수 있습니다. **토스쇼핑 사례를 통한 단계적 최적화** * 초기에는 `cpu_weight` 조정을 통해 서비스 계정에 높은 우선순위를 부여했으나, 대규모 배치 작업 시 서비스 응답 속도가 불안정해지는 한계가 있었습니다. * 이를 해결하기 위해 서비스 전용 리소스 그룹에 `exclusive_cpu_cores`를 적용하여 물리적인 리소스 벽을 세웠습니다. * 결과적으로 분당 1,500건 이상의 서비스 요청이 발생하는 구간에서도 배치 작업의 영향 없이 안정적인 레이턴시를 확보하는 데 성공했습니다. **정교한 쿼리 매칭을 위한 Classifier 설계** * `user`, `role`, `query_type`, `db` 등의 속성을 기반으로 쿼리를 적절한 리소스 그룹에 할당하는 Classifier 규칙을 수립했습니다. * 운영 안정성을 위해 가급적 `user` 또는 `db` 단위로 그룹을 묶는 패턴을 권장하며, 이를 통해 특정 서비스나 배치 주체가 정해진 리소스 범위 내에서만 동작하도록 강제합니다. * CPU 제어 외에도 `mem_limit`과 `concurrency_limit`을 병행 설정하여 풀 스캔 쿼리의 메모리 독점이나 과도한 동시 접속으로 인한 클러스터 마비를 방지합니다. **실용적인 운영 제언** 가장 효율적인 운영 전략은 기본적으로 `cpu_weight`를 사용하여 리소스 효율을 높이되, 실시간 서비스와 같이 지연 시간에 민감한 워크로드에 한해서만 `exclusive_cpu_cores`를 단계적으로 도입하는 것입니다. 또한 리소스 그룹 설정 시 실제 물리 코어 수와 워크로드 간의 의존 관계를 면밀히 검토해야 예상치 못한 성능 저하를 막을 수 있습니다.