토스/AI

17 개의 포스트

toss6분 읽기큐레이션 요약

토스의 속도와 품질, 상용 도구로 충분한가 — 토션(Tossion)

토션(Tossion)은 흩어진 자동화·수동 테스트 결과와 테스트 케이스를 하나의 플랫폼에서 연결하고, QA 조직이 필요한 기능을 직접 빠르게 확장하기 위해 만든 테스트 관리 플랫폼입니다. 테스트 런에는 당시의 테스트 케이스와 판정 근거를 스냅샷으로 보존해 과거 결과의 신뢰성을 확보하고, AI·PR 분석·실기기 자동화까지 하나의 흐름으로 통합했습니다. 토스는 상용 TCM의 기능을 사용하는 데 그치지 않고, 빠른 개발 속도와 품질 기준에 맞춰 플랫폼 자체를 계속 진화시키는 것을 목표로 합니다. ## 흩어진 테스트 정보를 하나의 기록으로 통합 - 기존에는 자동화 테스트 결과, 매뉴얼 테스트 결과, 테스트 케이스와 판단 근거가 서로 다른 곳에 흩어져 과거 결과를 확인하는 데 시간이 걸렸습니다. - 토션의 기본 구조는 **프로젝트 → 스위트 → 섹션 → 테스트 케이스**이며, 섹션은 트리 구조로 관리됩니다. - 테스트 케이스는 제품 변화에 따라 수정·삭제되지만, 테스트 런은 당시 검증 내용을 보존하기 위해 별도로 축적됩니다. - 테스트 런을 생성할 때 테스트 케이스를 단순 참조하지 않고 다음 정보를 복사해 독립적인 행으로 저장합니다. - Assignee - Test Step - Description - 테스트 런의 각 행에는 상태 변경 이력이 쌓이며, 누가 언제 어떤 Version에서 어떤 판단을 했는지 확인할 수 있습니다. - 섹션을 직접 선택한 테스트 케이스에는 Type·Platform 등의 필터를 적용하지 않습니다. 명시적인 선택이 자동 조건보다 우선하기 때문입니다. ## 테스트 런의 스냅샷과 변경 이력 - 테스트 런은 **Active → Completed → Closed** 상태로 진행됩니다. - Closed 시점에 테스트 케이스, 코멘트, 자동화 결과를 스냅샷으로 저장합니다. - 이후 원본 테스트 케이스가 수정되거나 삭제되어도 종료된 테스트 런의 화면과 리포트는 변하지 않습니다. - 이를 통해 “지난달에는 무엇으로 검증했는가”라는 질문에 당시 상태 그대로 답할 수 있습니다. ## 빠른 피드백을 반영하는 협업 기능 - Assignee별로 전체 테스트 수와 남은 테스트 수를 보여 주는 진척도 차트를 제공합니다. - Status, Type, Assignee, Version, Platform, RNR, History 등 실제로 필요한 필드만 추가·유지합니다. - 여러 사용자가 같은 테스트 런을 동시에 사용할 수 있도록 다음 기능을 제공합니다. - 현재 접속 중인 사용자 아바타 표시 - 사용자별 색상 구분 - 편집 중인 테스트 케이스와 Description 잠금 - 창을 닫거나 연결이 끊기면 잠금 자동 해제 - 다른 사용자의 Status 변경을 새로고침 없이 반영 - 핵심은 기능의 규모보다 사용자 요청을 개발·배포·활용하는 시간이 짧다는 점입니다. ## 상용 TCM 대신 직접 만든 플랫폼 - 토스의 빠른 개발 속도에서는 품질 검증도 같은 속도로 변화해야 하며, 품질이 속도의 희생양이 되어서는 안 됩니다. - 상용 도구는 제공 업체가 정한 기능과 로드맵 안에서만 사용할 수 있습니다. - 토스가 필요로 한 것은 정해진 기능을 제공하는 도구가 아니라, 새로운 요구를 즉시 추가할 수 있는 플랫폼이었습니다. - 이를 기반으로 다음 기능을 직접 추가했습니다. - 릴리즈 PR 분석 - AI 기반 테스트 케이스 생성 - 실기기 회귀 테스트 실행 - 자동화 결과를 수동 테스트 케이스별로 기록 ## 릴리즈 PR 분석과 QA 범위 결정 - RC 빌드나 릴리즈 마일스톤에 포함된 PR을 모두 수집해 QA 라벨이 있는 PR과 없는 PR로 나누어 분석합니다. - QA 라벨이 있는 PR은 검증 관점을 정리하고, 라벨이 없는 PR은 정말 QA 검증이 필요 없는지 다시 확인합니다. - 분석 목적은 기능 요약이 아니라 “이번 릴리즈에서 반드시 확인해야 할 항목”을 찾는 것입니다. - QA 서버의 Agent가 토션에 등록된 작업을 주기적으로 확인하고, 작업을 받으면 서버에 로그인된 AI를 실행합니다. - 수백 개의 PR을 한 번에 처리하지 않고 여러 묶음으로 나누어 병렬 분석합니다. - AI 결과는 다음과 같은 규칙으로 검증합니다. - 화면명이나 구체적인 조건이 없는 모호한 문장 - PR 제목을 그대로 옮긴 요약 - 함수명이 그대로 남은 설명 - 재현 단계·기대 결과·실패 증상·판단 근거가 빠진 테스트 케이스 - 부적합한 결과는 AI가 다시 분석합니다. - 병합된 PR 수와 분석 결과 수를 대조해 누락된 PR이 있으면 해당 항목만 재처리합니다. - 과거 장애가 발생한 파일 목록과 이번 PR의 변경 파일을 비교해 위험도를 조정합니다. - 결과는 묶음 단위로 토션에 저장해 중단 시에도 완료된 분석을 보존하고, 재실행할 때 이미 처리한 PR은 건너뜁니다. - 최종적으로 추려진 항목은 Sprint 테스트 런의 범위와 검증 근거가 됩니다. ## AI 기반 테스트 케이스 생성 - 기능 개발 속도를 사람이 따라가기 어렵기 때문에 AI가 테스트 케이스를 생성해 토션에 등록합니다. - AI는 “자산 > 계좌 연결 > 은행 선택”처럼 경로를 출력하고, 토션이 이를 실제 섹션 트리로 변환합니다. - 기존 섹션이 있으면 재사용하고, 없으면 중간 단계를 포함해 새로 생성합니다. - 결과의 신뢰성을 확보하기 위해 세 겹의 검증을 적용합니다. 1. AI가 누락된 분기·에러 상황·경계값을 스스로 재검토 2. 표기 규칙, 테스트 케이스 번호, 화면 누락, 요구사항 반영 여부를 스크립트로 검증 3. 별도의 AI가 테스트 계획을 작성해 범위와 위험 요소, 적용할 테스트 기법을 정의 - 테스트 계획과 실제 테스트 케이스를 비교해 다음을 확인합니다. - 계획에는 있지만 테스트 케이스에 없는 항목은 누락 - 테스트 케이스에는 있지만 계획에 없는 항목은 범위 이탈 - 화면 중심으로만 테스트하면 상태 전이처럼 화면에 드러나지 않는 테스트 축을 놓칠 수 있습니다. - 따라서 테스트 계획에서 상태 전이, 경계값 등 필요한 테스트 기법을 먼저 지정하고, 테스트 케이스가 이를 모두 포함하는지 확인합니다. - AI의 토션 접근은 화면이 아닌 CLI로 제한하고, 환경 차이로 인한 설치·런타임·경로 문제를 줄이기 위해 단일 실행 파일로 배포합니다. ## 토션에서 실기기 회귀 테스트 실행 - 신규 기능은 사람이 직접 검증하고, 안정화된 테스트 케이스는 회귀 자동화 대상으로 편입합니다. - 토션의 실행 화면에서 다음 항목을 선택해 바로 테스트를 시작합니다. - 대상 기기 - 빌드 - 실행 범위 - 결과를 연결할 테스트 런 - QA 서버의 러너는 Android·iOS 실기기를 관리하며, 스스로 토션에 등록되지만 관리자 승인 전에는 작업을 받지 않습니다. - 러너는 주기적으로 연결된 기기 상태를 보고하므로 실행 가능한 기기를 화면에서 확인할 수 있습니다. - 토션이 발급한 빌드를 설치해 실행함으로써 어떤 빌드에서 나온 결과인지 명확히 유지합니다. - 전체 회귀 또는 특정 섹션만 선택해 실행할 수 있습니다. - 테스트 중에는 시나리오별 통과·실패 여부, 실행 시간, 오류 메시지가 실시간으로 기록됩니다. - 결과는 시나리오가 아니라 **스텝 단위**로 저장됩니다. - 상태 - 소요 시간 - 오류 메시지 - 해당 시점의 스크린샷 - 시나리오 단위 영상 - 실행 결과를 특정 테스트 런에 연결하면 자동화 결과가 수동 테스트 기록의 각 테스트 케이스에 직접 반영됩니다. ## 자동화 결과를 테스트 케이스와 연결 - 별도 자동화 리포트에 “200건 중 3건 실패”라고만 표시하면 어떤 수동 테스트 케이스가 실패했는지 사람이 다시 대조해야 합니다. - 이를 해결하려면 양방향 연동이 필요합니다. - 테스트 케이스를 자동화 코드로 변환 - 자동화 결과를 다시 테스트 케이스별 기록으로 저장 - 토션은 자동화 결과를 테스트 케이스 한 건 단위까지 내려보내 수동 검증 기록과 자동화 실행 결과를 같은 맥락에서 확인할 수 있도록 설계되었습니다. - 제공된 글은 이 자동화 코드 생성 기능의 상세 구현 설명 직전에서 끝납니다. 토션의 핵심은 테스트 관리, AI 분석, 테스트 생성, 실기기 자동화를 각각 분리하지 않고 하나의 테스트 런과 테스트 케이스 흐름으로 연결한 데 있습니다. 유사한 플랫폼을 구축할 때도 먼저 결과의 스냅샷·이력 보존을 설계하고, 이후 AI와 자동화를 기존 기록 구조에 연결하는 방식이 실용적입니다.

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

누군가는 토스를 테스트하는 동안, 우리는 테스트하는 법을 만듭니다.

토스 QA Platform 팀은 매주 수백 건의 변경이 포함된 앱을 안정적으로 배포하기 위해, 테스트와 품질 관리의 표준화를 추진하고 있습니다. 단순히 테스트 도구를 제공하는 데 그치지 않고, AI와 자체 플랫폼을 활용해 테스트 실행부터 결함 분석, 출시 후 대응까지 효율화하려 합니다. 궁극적으로는 사람이 중요한 판단에 집중하고, 반복적인 검증은 자동화하는 것이 목표입니다. ## 매주 반복되는 릴리즈 검증 - 토스는 매주 새로운 버전을 배포하며, 한 번의 릴리즈마다 평균 300~400건의 코드가 변경됩니다. - 릴리즈 후보가 올라오면 다음 순서로 검증합니다. - **토스닥터(Toss Doctor)**: 로그인부터 탈퇴까지 핵심 기능을 빠르게 확인하는 스모크 테스트 - **PRCheck**: 변경된 코드와 영향 범위, 버그 위험도, 테스트 우선순위 분석 - **토스체커(Toss Checker)**: 기존 기능이 손상되지 않았는지 확인하는 전사적 리그레션 테스트 - 배포 후에는 크래시 지표를 모니터링하고, 문제가 발생하면 핫픽스를 즉시 배포할지 다음 릴리즈에서 해결할지 판단합니다. - 핫픽스는 사용자에게 추가 업데이트를 요구하므로, 단순히 빠른 대응보다 재발 가능성과 해결의 안전성을 함께 고려합니다. ## 토스 전체의 품질을 지원하는 QA - QA Platform 팀의 역할은 특정 제품의 테스트에 국한되지 않습니다. - QA를 처음 시작하는 팀에 테스트 방향을 제시하고, 사내 도구의 품질을 보증하며, 조직 단위의 QA 프로세스 설계를 지원합니다. - 목표는 누구나 쉽게 테스트 케이스를 만들고, 빠르고 정확하게 테스트할 수 있는 환경을 구축하는 것입니다. - 이를 통해 개별 팀이 아닌 토스 전체의 품질 수준을 끌어올리려 합니다. ## 토스 품질의 세 가지 표준 - **매번 신뢰할 수 있는 배포** - 한 번 성공하는 것이 아니라 매주 일정한 품질과 신뢰성을 유지하는 것이 중요합니다. - **결함을 정확히 발견하는 테스트** - 테스트의 양보다 실제 사고로 이어질 가능성이 높은 결함을 놓치지 않는 것이 핵심입니다. - **효율적인 품질 보증** - 반복 작업을 사람의 수작업만으로 처리하지 않고 자동화해, 지속 가능한 방식으로 품질을 유지해야 합니다. - 올해는 여기에 AI를 활용해 자동으로 수행되는 테스트의 범위를 넓히고 있습니다. 다만 모든 판단을 AI에 맡기기보다, 사람은 사람의 판단이 필요한 영역에 집중하도록 역할을 나눕니다. ## 자체 QA 플랫폼 ‘토션’ - 상용 도구는 토스의 빠른 배포 주기와 업무 방식에 맞게 유연하게 바꾸기 어려웠기 때문에 자체 플랫폼 **토션(Tossion)**을 개발했습니다. - 토션은 처음에 TestRail을 대체하는 플랫폼으로 시작했습니다. - 테스트 케이스 작성 - 테스트 실행 - 결과 기록 - 테스트 관련 봇 통합 - 여러 봇은 **토스버틀러(Toss Butler)**라는 하나의 봇으로 통합해 토스의 업무 흐름에 맞췄습니다. - 이후 다음 기능들이 추가됐습니다. - **PRCheck**: PR 변경 사항을 분석하고 테스트가 필요한 영역을 제시 - **tcgen**: PRD, 디자인 문서 등 여러 맥락을 바탕으로 테스트 케이스 초안 자동 생성 - **자동화 테스트 플랫폼**: 매뉴얼 테스트와 자동화 테스트 결과를 한 화면에서 비교 - **Crash Trend 대시보드**: 크래시의 발생 추세와 토스에 적합한 지표를 분석 - **핫픽스 대시보드**: 장애 원인 분류와 재발 방지 대책 관리 ## 도구 제공만으로는 부족했던 이유 - 팀은 테스트 케이스를 쉽게 만들면 사람들이 테스트를 더 적극적으로 수행할 것이라고 예상했습니다. - 하지만 tcgen을 공개한 뒤 기대만큼 사용되지 않았습니다. - 실제 사용자가 원한 것은 테스트 도구가 아니라 다음과 같은 지원이었습니다. - 누군가 테스트를 빠르고 정확하게 대신 수행할 것 - 테스트 결과의 품질까지 책임질 것 - 도구를 제공하는 것은 사용자 입장에서 업무를 줄이는 것이 아니라 새로운 업무를 넘기는 일이 될 수 있었습니다. - 이에 따라 QA Platform 팀은 도구를 제공하는 데서 나아가, 직접 테스트를 처리하고 품질까지 책임지는 방향으로 전략을 바꿨습니다. ## AI와 빠른 방향 전환 - AI는 빠르게 발전하기 때문에 어제 효과적이었던 방식이 오늘에는 낡을 수 있습니다. - QA 도구가 품질 향상을 돕기보다 변화 속도를 늦추지 않도록, 지속적인 검토와 폐기가 필요합니다. - 실제로 API 테스트를 위한 **API Labs**는 방향이 맞지 않다고 판단해 개발 8시간 만에 폐기했습니다. - 토션, 토스닥터, 토스체커, 자체 스킬들도 완성된 제품이 아니라 필요하면 언제든 교체할 수 있는 시스템으로 설계됐습니다. - AI가 도구를 만드는 속도는 높여도 다음 문제를 대신 결정하지는 못합니다. - 무엇을 품질로 정의할 것인가 - 어떤 기준을 끝까지 지킬 것인가 - 어떤 테스트를 사람에게 맡길 것인가 - 따라서 품질 기준을 세우고 도구의 방향을 조정하는 일은 여전히 QA 팀의 핵심 역할입니다. ## 앞으로 이어질 이야기 - 이후 시리즈에서는 다음 주제를 구체적으로 다룰 예정입니다. - 토션이 어떻게 시작됐는지 - 토스닥터가 배포 전 무엇을 검증하는지 - 토스체커가 증가하는 회귀 테스트를 어떻게 자동화하는지 - 지능형 AI 봇이 여러 도구를 어떻게 연결하는지 - 토스 QA Platform 팀은 매주 반복되는 변화 앞에서 “정말 배포해도 괜찮은가”를 확인하며, 테스트를 수행하는 방법 자체를 만들어가고 있습니다. 실용적으로는 테스트 도구를 도입할 때 기능 수보다 사용자의 실제 부담을 줄이는지 먼저 검증해야 합니다. 또한 AI 기반 QA 시스템은 완성품으로 보기보다, 품질 기준과 업무 방식의 변화에 맞춰 빠르게 교체·개선할 수 있도록 설계하는 것이 중요합니다.

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

5. Technical Writer, 사라질 결심

AI 시대에 문서는 조직의 맥락을 AI에 전달하는 핵심 수단이므로, AI가 문서를 잘 만들고 관리하도록 문서화 원칙과 사례를 학습시켜야 한다. 토스는 소수의 Technical Writer(TW)만으로 수천 명의 문서를 관리할 수 없다는 문제를 해결하기 위해, TW의 역할을 AI Skill로 자동화하려 했다. 하지만 Skill을 만들어 공개하는 것만으로는 사용률이 높아지지 않았고, 사용자가 직접 설치·호출하고 자료를 준비해야 하는 불편함이 주요 장애물로 드러났다. ## AI에게 TW의 암묵지 전달하기 - 기존 TW의 리뷰 코멘트를 분석해 문서를 바라보는 관점과 테크니컬 라이팅 원칙을 추출했다. - 기존 가이드를 AI가 기계적으로 적용하지 않도록 각 원칙에 다음을 함께 제공했다. - 잘못된 예시 - 올바른 예시 - 왜 그렇게 작성해야 하는지에 대한 설명 - 자주 작성하는 문서 유형별 템플릿을 만들었다. - ADR 템플릿에는 다음과 같은 필수 섹션을 명시했다. - 개요 - 맥락 - 고려한 선택지와 장단점 - 최종 결정 - 결정 근거 - 반드시 들어가야 하는 섹션에는 `(required)`를 붙여 AI가 핵심 정보를 누락하지 않게 했다. - 문서 유형과 템플릿을 함께 제공해 AI가 구조와 작성 목적을 이해하도록 했다. ## 문서 작성 Skill 구축 TW가 문서 작성을 지원하는 과정을 네 단계로 분해해 AI Skill에 반영했다. - **목적과 배경 확인** - 서비스·프로젝트명 - 문서 목적 - 대상 독자 - 필요한 상세 수준 - 참고 자료 - 예상 문서 구조를 질문한다. - **문서 구조 결정** - 템플릿이 없으면 개요, 핵심 내용, 부가 정보 순서로 기본 구조를 만든다. - 적합한 템플릿이 있으면 온보딩 가이드, 회의록, PRD 등 문서 유형별 템플릿을 참고한다. - **본문 작성** - 테크니컬 라이팅 원칙과 MDX 규칙에 따라 내용을 채운다. - 템플릿은 문서의 목적과 유형에 맞을 때 보조적으로 사용한다. - **점검** - 어색한 표현이나 누락된 정보를 확인한다. - 필수 정보가 부족하면 추측하지 않고 질문이나 주석으로 남긴다. - 선택 항목은 근거 자료가 없을 경우 빈 섹션으로 만들지 않는다. 사용자는 AI가 묻는 질문에 답하기만 하면 되므로, TW와 대화하듯 문서 초안을 완성할 수 있도록 설계했다. ## 문서 리뷰 Skill의 시행착오 처음에는 기존 리뷰 코멘트를 체크리스트로 바꿔 AI가 모든 항목을 점검하게 했다. 그러나 AI가 중요한 문제는 놓치고, 실제로 필요하지 않은 코멘트를 억지로 생성하는 문제가 발생했다. - 잘 작성된 문서의 기준은 어느 정도 정형화할 수 있다. - 반면 잘못된 문서의 문제는 문서마다 다르게 나타난다. - 목적은 명확하지만 논리 흐름이 어색한 경우 - 논리는 자연스럽지만 독자에게 전달할 가치가 빠진 경우 - 따라서 고정된 체크리스트만으로는 다양한 문서 문제를 효과적으로 찾기 어려웠다. 이를 해결하기 위해 AI가 원칙을 참고해 자율적으로 판단하는 리뷰 워크플로를 만들었다. - 테크니컬 라이팅 원칙 파일을 먼저 읽는다. - 문서를 원칙에 비추어 스스로 검토한다. - 문제라고 판단한 이유와 수정 초안을 코멘트로 작성한다. - 마지막에 체크리스트로 누락을 한 번 더 확인한다. 기존 리뷰 코멘트는 단순 점검 목록이 아니라, 원칙이 실제 문서에 어떻게 적용되는지 보여주는 예시로 활용했다. 예를 들어 `date: string`처럼 이름과 타입만 적는 대신, 의미·허용 형식·사용 예시까지 함께 작성하도록 가르쳤다. ## Skill만 공개해서는 충분하지 않았다 두 가지 Skill을 만들어 사내에 공개했지만, 기대만큼 사용되지 않았다. - 사용자가 직접 Skill을 다운로드하고 설치해야 했다. - 비개발자에게 CLI 기반 설치 과정이 낯설고 어려웠다. - Skill을 설치한 뒤에도 문서를 작성할 때마다 사용자가 AI Skill을 떠올리고 직접 호출해야 했다. - 문서 작성에 필요한 코드, 기획서, 기존 문서, Slack 링크 등의 자료도 사용자가 직접 찾아 AI에게 전달해야 했다. - 결국 자동화된 기능이 있어도 실제 업무 흐름과 분리되어 있으면 사용자가 추가로 수행해야 하는 일이 많았다. 따라서 문서 자동화의 핵심은 좋은 프롬프트나 Skill을 만드는 데서 끝나지 않는다. 사용자가 별도로 설치하거나 기억하거나 자료를 수집하지 않아도, 실제 업무 과정에서 자연스럽게 AI가 문서 작성과 리뷰를 지원하도록 연결해야 한다.

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

6. 도구를 넘어, 기준과 책임으로

커머스 조직의 지식 관리는 문서를 많이 쓰거나 자동화 도구를 도입하는 것만으로 완성되지 않는다. 무엇을 지식으로 남길지, 누가 책임질지, 어떤 문서를 신뢰할지에 대한 기준과 거버넌스가 함께 있어야 한다. 궁극적으로는 개인의 기억과 흩어진 기록을 조직의 업무 흐름 속에서 생성·검증·갱신되는 시스템으로 바꿔야 한다. ## 혼자 문서를 작성하는 방식의 한계 - 커머스 위키에 용어사전, 온보딩 문서, 정책 문서를 정리하자 팀마다 다르게 쓰던 용어를 통일하고 다른 팀의 기능을 이해하는 출발점을 만들 수 있었다. - 하지만 제품과 정책의 변화 속도가 문서 작성 속도보다 빨랐다. - 담당자가 바뀐 정책, 일시적인 실험, 메신저에서 논의된 결정까지 한 사람이 모두 추적하기는 불가능했다. - 지식이 현장에서 먼저 생기고 TW가 뒤늦게 정리하는 구조로는 최신성을 유지하기 어려웠다. ## 참여를 유도하는 문화만으로 부족했던 이유 - 주간 뉴스레터, 정책 질문봇, 문서화 워크숍, 길드 등을 통해 구성원의 참여를 높였다. - 문서 요청과 위키 인용은 늘었지만, 첫 기여가 지속적인 기여로 이어지지는 않았다. - 문서 작성은 업무 우선순위에서 밀렸고, 작성된 문서도 시간이 지나며 갱신되지 않았다. - 문서의 적절한 깊이와 대상 독자가 정해져 있지 않아 작성자가 매번 혼자 판단해야 했다. - 실무자는 상세한 구현 정보가 필요하지만, 다른 팀에는 불필요한 노이즈가 될 수 있다. - 개발자에게 유용한 변수명과 기술 세부사항은 비개발자의 이해를 방해할 수 있다. - 문제는 구성원이 문서화에 무관심해서가 아니라, 무엇을 어디에 어느 수준으로 남기고 누가 검토할지 정해져 있지 않았다는 데 있었다. - 문서화가 업무 흐름에 포함되고 팀의 책임으로 인정되어야 지속될 수 있다. ## AI 자동화가 보여준 구조적 문제 - 매일 밤 AI가 두 가지 신호를 바탕으로 문서 초안을 작성한다. - 배포·정책 변경 공지에서 문서 갱신이 필요한 내용을 추출한다. - 정책 질문봇이 답하지 못한 질문을 찾아 관련 자료를 바탕으로 새 문서 초안을 만든다. - 사람은 빈 화면에서 처음부터 작성하는 대신, AI 초안의 근거를 확인하고 승인하는 역할을 맡는다. - 자동화로 작성 부담은 줄었지만 새로운 문제가 드러났다. - 비슷한 문서가 중복 생성됐다. - 최신 문서가 무엇인지 판단하기 어려웠다. - 종료된 실험이나 오래된 정책을 AI가 현행 정책처럼 답하는 경우가 생겼다. - 자동화는 지식 수집과 초안 작성은 돕지만, 문서의 신뢰성·최신성·책임자를 결정하지는 못한다. ## 지식 거버넌스와 책임의 필요성 - 질문의 초점이 “문서를 어떻게 만들까?”에서 “어떻게 믿을 수 있는 지식을 만들까?”로 바뀌었다. - 정책 담당자 변경, 오래된 결정의 폐기, 중복 문서 간 우선순위 같은 문제는 도구가 아니라 운영 기준이 해결해야 한다. - 토스는 문서와 지식을 누가, 언제, 어떤 기준으로 만들고 관리하고 폐기할지 이해관계자가 함께 정하는 ‘커머스 문서·지식 거버넌스’를 제안했다. - 거버넌스는 한 번 정하고 끝나는 규칙이 아니라, 실제 적용 결과를 확인하고 지속적으로 보완하는 체계다. ## 토스 팀의 지식 관리 기준 - **아는 것은 조직에 남긴다** - 반복해서 묻는 질문 - 중요한 의사결정 - 새로 온 구성원이 알아야 하는 내용 - **남긴 지식은 찾을 수 있게 정리한다** - 사람이 검색하거나 AI가 참조할 수 있도록 분류·구조화한다. - 조직 특성에 따라 다음 기준을 선택할 수 있다. - 기술 레이어: 데이터나 시스템의 처리 단계 - 서비스 도메인: 담당 서비스 영역 - 기능 단위: 시스템 또는 기능별 구분 - **필요한 순간에 사용할 수 있게 연결한다** - 위키에 저장하는 데 그치지 않고 질문봇, GitHub 등 실제 업무 도구와 연결한다. - **정확한 정보를 최신 상태로 유지한다** - 문서 책임자와 검토 주기를 정한다. - 실험 정책과 확정 정책을 구분하고, 종료된 정책은 폐기하거나 기록용으로 분류한다. - 조직의 지식은 단순히 글로 남은 모든 정보가 아니라, 구성원이 상황을 이해하고 더 나은 결정을 내리는 데 도움이 되며 검증된 정보다. ## Knowledge Committee의 역할 - Knowledge Committee는 전사 문서 운영 기준을 정의하고 유지하며, 조직 간 기준 충돌을 조정하는 협의체다. - 자발적 모임인 길드와 달리 공식적인 의사결정 권한과 실행력을 가진다. - 운영은 두 층으로 나뉜다. - **TW 챕터**: 문서의 정의, 상태, 출처, 책임자 등 전사 공통 기준을 관리한다. - **각 도메인·챕터**: 현장 특성에 맞춰 문서의 책임자, 갱신·폐기 시점, 운영 방식을 정한다. - 중앙에서 모든 것을 통제하면 현장 변화에 느리고, 전사 기준이 없으면 조직마다 지식 관리 방식이 달라진다. - 예를 들어 커머스 조직에서 실험 배포와 확정 배포를 구분하지 않으면 종료된 실험 정책이 현행 정책처럼 남을 수 있다. - 이런 예외와 시행착오를 커미티가 기준에 반영하고 전사에 공유하면, 개별 조직의 경험이 전체 조직의 운영 노하우가 된다. ## 개인의 기억을 조직의 자산으로 전환하기 - 목표는 지식이 특정 개인이나 메신저 기록에 머무르지 않고 조직 안에서 계속 축적되고 재사용되는 구조를 만드는 것이다. - 지식을 남기고 검증하고 다시 사용하는 과정이 업무의 기본 흐름에 포함되어야 한다. - TW의 역할도 문서 작성에 머무르지 않고 지식 시스템, 제품, 거버넌스를 설계하는 방향으로 확장된다. - 궁극적으로는 문서화가 별도의 숙제가 아니라 자연스러운 업무 방식이 되어, TW의 개입 없이도 조직 지식이 순환하는 상태를 지향한다. 실무적으로는 도구를 도입하기 전에 먼저 “무엇을 남길 것인가”, “누가 검토하고 책임질 것인가”, “언제 최신성을 확인하고 폐기할 것인가”를 정하는 것이 우선이다. 이후 자동화와 AI를 초안 작성·검색·질의응답에 연결해야 지식 관리 시스템이 지속적으로 작동할 수 있다.

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

우리 팀의 문서화는 왜 실패할까? (2)

두 조직의 문서화 경험은 자율적 기여만으로는 지식이 지속적으로 축적되기 어렵다는 점을 보여준다. 문서화의 핵심은 흩어진 지식을 한곳에 모으고, 질문과 공유에 대한 심리적 부담을 낮추며, 조직의 상태에 맞는 구조와 운영 방식을 만드는 데 있다. AI는 문서 작성과 지식 전파를 쉽게 할 뿐 아니라, 질문·문서 증가량·답변 품질 등을 지표로 파악하게 해 문서화 상태를 진단하는 도구가 되고 있다. ## 자율적 문서화의 한계 - 커머스에서는 구성원이 자율적으로 참여하는 ‘커머스 위키’를 만들기 위해 워크숍과 길드를 운영했다. - 첫 문서를 작성하게 만드는 데는 성공했지만, 두 번째·세 번째 기여로 이어지게 하기는 어려웠다. - 문서화가 개인의 의지와 자발성에만 의존하면 지속 가능한 운영 구조를 만들기 어렵다. - 반면 이미 문서가 잘 갖춰진 애즈 도메인에서는 새 플랫폼을 만들기보다 기존 컨벤션을 존중하고, 지식의 위치와 연결 관계를 파악하기 쉽게 만드는 데 집중했다. - 문서가 거의 없는 조직과 이미 충분한 문서가 있는 조직은 출발점과 우선순위가 달라야 한다. ## 지식 공유를 막는 심리적 부담 - 질문을 적게 하는 이유는 단순히 관심이 부족해서가 아니라, “내가 모른다”는 사실을 공개하는 것이 부담스럽기 때문이다. - 문서를 작성할 때도 “내 지식이 틀리면 어떡하지”라는 불안 때문에 좋은 자료를 공유하지 못하는 경우가 많다. - 이를 해결하기 위해 ‘개발 상담 주간’을 열어 질문 자체를 자연스러운 행동으로 만들었다. - 특정 전문가에게 자유롭게 질문하도록 유도 - 다른 사람의 질문에 공감하도록 장려 - 전문가가 답하지 못한 질문에는 팀원들이 대신 답변하도록 독려 - 매일 짧은 서버 개발 지식을 전달하는 봇도 운영한다. - 구성원이 직접 문서를 찾지 않아도 지식에 노출된다. - 완성된 문서를 처음부터 작성하는 대신, 공유된 내용에 한마디를 보태거나 수정하는 방식으로 참여 장벽을 낮춘다. ## AI가 낮춘 문서화의 진입장벽 - AI를 이용하면 문서 초안을 빠르게 만들 수 있어 문서 작성에 필요한 부담이 줄어든다. - 챗봇은 매일 지식을 전달하거나 질문에 답하면서 지식 공유를 일상적인 활동으로 만든다. - AI는 문서화 현황을 정량적으로 확인하는 데도 활용된다. - 챗봇에 올라온 질문 수 - 사람이 대신 답변한 사례와 답변 내용 - 일주일 동안 새로 작성된 문서 수 - 지난주 대비 문서 증가량 - 새로 추가된 문서 목록 - 이를 통해 어떤 지식이 부족한지, 구성원이 무엇을 궁금해하는지, 지식이 실제로 순환하고 있는지를 파악할 수 있다. ## 사람용 문서와 AI용 세부 문서의 분리 - AI가 문서를 읽게 되면서 사람에게는 불필요한 세부 맥락까지 기록해야 하는 상황이 생겼다. - 커머스에서는 문서를 두 영역으로 나누었다. - 중앙 문서: Technical Writer가 관리하며 사람이 읽기 쉽고 조직 전체에 공유할 만한 내용 중심 - 팀 저장소 문서: 업무 과정에서 자동으로 쌓이며 팀 내부 AI가 활용할 수 있는 세부 정보와 맥락 포함 - 문서의 독자가 사람뿐 아니라 AI까지 확장되면서, 문서의 목적과 공개 범위를 구분하는 구조가 필요해졌다. ## 도메인과 챕터의 차이 - 공통 원칙은 지식을 한곳에 모으고, 문서가 흩어지지 않도록 통로를 단순화하는 것이다. - 도메인 문서 - 제품과 코드에 직접 연결된다. - 제품 출시와 변화가 빠르므로 문서 업데이트 주기도 짧다. - 용어, 기능, 정책, 지표처럼 업무와 직접 관련된 구조가 중요하다. - 독자가 다양하므로 비개발자도 이해할 수 있는 수준으로 작성하는 것이 효과적이다. - 챕터 문서 - 특정 직군을 위한 컨벤션, 업무 방식, 생산성 지식이 중심이다. - 코드와 직접 관련되지 않은 추상적인 내용이 많다. - 변화가 느린 만큼 지속적인 업데이트와 참여를 유도하는 방식이 과제다. - 독자가 비교적 명확해 목적에 맞춘 문서 작성이 쉽다. ## 문서 유형과 독자 구분 - 하나의 문서에 모든 정보를 담기보다 독자와 목적에 따라 문서를 분리해야 한다. - 활용 예시는 다음과 같다. - 가이드: 업무를 수행하는 방법 설명 - 기능 단위 정책: 제품이나 기능의 동작 원칙 정리 - 용어 사전: 조직 내 공통 언어 정의 - 지표 문서: 기능이나 정책을 측정하는 기준 설명 - 문서 유형별 역할을 명확히 하면 독자가 필요한 정보를 더 빠르게 찾을 수 있다. ## 문서화 수준 진단 방법 - 업무 중 막혔을 때 무엇을 먼저 찾는지 관찰하면 조직의 문서화 수준을 파악할 수 있다. - 사람이나 사내 메신저를 찾는 경우 - 문서가 거의 없는 상태다. - 업무에 가장 자주 필요한 정보부터 하나씩 정리해야 한다. - 문서를 검색하는 경우 - 원하는 정보를 찾지 못한다면 부족한 문서를 보완해야 한다. - 검색이 잘 된다면 문서는 충분히 쌓인 상태이며, AI를 연결해 접근성을 높일 수 있다. - 문서 기반 AI나 봇에게 질문하는 경우 - 답변이 부정확하면 원인을 분석해야 한다. - 관련 문서가 없으면 새로 작성해야 한다. - 정보가 여러 곳에 흩어져 있으면 한곳으로 통합해야 한다. - 문서는 있지만 엉뚱한 답을 하면 내용이 오래됐거나 맥락이 부족할 가능성이 크다. ## 문서화의 구체적인 시작점 - “문서화를 해야 한다”는 막연한 목표보다 실제 문제와 니즈를 먼저 정의해야 한다. - 예를 들어: - 팀마다 용어가 달라 소통이 어렵다면 용어 사전부터 만든다. - 다른 팀이나 외부에 공유할 레퍼런스가 없다면 공통 가이드를 만든다. - 반복적으로 질문이 발생한다면 해당 업무의 절차와 판단 기준을 문서화한다. - 문제를 하나로 좁히고 그 문제를 해결하는 문서부터 시작해야 지속 가능성이 높다. 결국 효과적인 문서화는 구성원의 의지에만 기대지 않고, 지식을 한곳에 모으고 자연스럽게 공유되도록 만드는 운영 구조에서 출발한다. 먼저 조직의 현재 상태와 가장 큰 문서화 니즈를 진단한 뒤, 하나의 구체적인 문제를 해결하는 문서와 자동화부터 시작하는 것이 좋다.

원문 읽기(새 탭에서 열림)
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를 도입할 때는 거창한 신규 프로젝트보다 현재 업무에서 반복되거나 설명하기 어렵고 시간이 부족한 문제 하나를 골라 작게 실험하는 것이 효과적입니다.

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

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

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

원문 읽기(새 탭에서 열림)
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 전환을 추진하는 조직이라면 별도 학습 시간을 보장하고, 현업의 자발적 실험을 지원하며, 결과물을 조직 자산으로 공유하는 구조부터 만드는 것이 효과적이다.

원문 읽기(새 탭에서 열림)
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원문

토스플레이스 데이터봇 ‘판다(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원문

개발자는 AI에게 대체될 것인가 (새 탭에서 열림)

현재의 AI 열풍은 막대한 자본이 투입된 버블의 성격을 띠고 있지만, 장기적으로는 개발자의 업무를 근본적으로 재정의하는 도구로 자리 잡을 것입니다. 개발자는 단순히 코드를 생산하는 역할에서 벗어나, 어떤 업무를 AI에게 '추상화(위임)'하고 어떤 핵심 판단력을 유지할지 결정하는 설계자이자 디렉터의 역량을 요구받게 됩니다. 결국 AI 시대의 생존은 기술적 위임의 경계를 설정하고 시스템의 복잡성을 관리하는 '추상화 능력'에 달려 있습니다. ## AI 하이프와 경제적 불균형의 실체 * **아마라의 법칙과 버블:** 기술의 효과는 단기적으로 과대평가되는 경향이 있으며, 현재 AI 시장은 투자 대비 매출 비율이 16:1(설비투자 5,600억 달러 대비 매출 350억 달러)에 달할 정도로 극심한 불균형 상태입니다. * **실질 수익의 부재:** 생성형 AI 도입 프로젝트의 약 95%가 실패하거나 뚜렷한 효율 개선을 보이지 못하고 있으며, 빅테크의 매출조차 상당 부분 내부 거래에 의존하고 있는 실정입니다. * **인력 감축의 역설:** 현재의 개발자 감원은 AI가 업무를 대체했기 때문이라기보다, 막대한 AI 투자 비용을 충당하기 위한 기업의 비용 절감 전략에서 기인한 측면이 큽니다. ## 제번스 패러독스와 직무의 재정의 * **수요의 폭발:** 에어컨 보급률이 높아질수록 관련 산업이 커지듯, AI로 코딩의 문턱이 낮아지면 소프트웨어에 대한 전체 수요와 활용처는 오히려 기하급수적으로 늘어날 것입니다. * **도구로서의 AI:** 과거 게임 엔진이 소규모 팀에게 프로급 역량을 부여했듯, AI는 개발자를 보조하는 강력한 '파워 툴'이 되어 상위 실력자의 생산성을 극대화합니다. * **역할의 변화:** 개발자의 정체성은 코드 작성자에서 '코드 크리에이티브 디렉터'로 변모하며, 시스템 설계, 에이전트 지휘, 결과물 검증이 업무의 중심이 됩니다. ## 위임의 사분면과 추상화의 본질 * **위임의 기준:** '위임하기 쉬운가(기술적 난이도)'는 모델의 발전에 따라 계속 변하는 일시적인 경계일 뿐이며, 중요한 것은 '위임해야 하는가(책임과 판단)'라는 가치 판단의 축입니다. * **추상화로서의 위임:** AI에게 업무를 맡기는 것은 프로그래밍의 '추상화'와 같습니다. 이는 세부 사항을 숨기고 더 이상 신경 쓰지 않겠다는 선언이며, 복잡성을 미래로 이동시키는 레버리지 역할을 합니다. * **유형별 위임 전략:** 단순 CRUD나 보일러플레이트 코드, 테스트 케이스 등 잘 정의된 문제는 AI에게 맡기되, 아키텍처 결정이나 보안 정책, 법규 대응처럼 인간의 판단이 필수적인 영역은 분리해야 합니다. ## 잘못된 추상화와 미래의 리스크 * **추상화의 붕괴:** 트래픽 급증, 법률 개정(GDPR 등), 제로데이 보안 취약점 같은 예외 상황이 발생하면 AI에게 위임했던 '추상화된 업무'가 한꺼번에 무너질 수 있습니다. * **시니어의 역할:** 시스템의 근본이 흔들릴 때 이를 해결할 수 있는 능력은 결국 풍부한 경험을 가진 시니어 개발자의 몫이며, AI 결과물을 맹목적으로 수용할 경우 추상화가 없는 것보다 더 큰 재앙을 초래할 수 있습니다. * **지속 가능한 리팩토링:** 개발자는 AI에게 어떤 컨텍스트를 제공하고 어떤 부분을 직접 통제할지 업무 프로세스를 끊임없이 리팩토링하며 '좋은 추상화'를 구축해야 합니다. 성공적인 AI 활용을 위해서는 AI를 단순한 대체재가 아닌, 복잡성을 관리하는 추상화 도구로 바라봐야 합니다. 기술 발전 속도에 일희일비하기보다, 기술이 해결할 수 없는 '비즈니스 임팩트'와 '시스템의 안정성'에 대한 인간의 판단력을 고도화하는 것이 AI 시대 개발자의 핵심 경쟁력이 될 것입니다.

toss원문

세금 환급 자동화 : AI-driven UI 테스트 자동화 일지 (새 탭에서 열림)

토스인컴의 복잡한 세금 환급 서비스 QA를 위해 1명의 매니저가 AI를 팀원으로 활용하여 4~5명 규모의 자동화 성과를 낸 과정을 다룹니다. AI 에이전트에게 코드 작성과 설계를 맡기고 사람은 문제 정의와 검증에 집중함으로써, 5개월 만에 35개의 고난도 E2E 테스트 시나리오를 성공적으로 구축하고 운영화했습니다. 이 실험은 기술적 난도가 높은 환경에서도 AI와의 협업을 통해 자동화 효율을 극대화할 수 있음을 입증했습니다. **AI 자동화 도입 배경과 도구 구성** * 복잡한 환급 플로우(15~20단계)와 빈번한 UI/정책 변경, 외부 연동 시스템의 불안정성 때문에 전통적인 수동 자동화 방식으로는 대응이 불가능했습니다. * 메인 개발자인 Claude Sonnet 4.5를 비롯해 Cursor(IDE 페어 프로그래밍), Codex(코드 분석) 등 각기 다른 강점을 가진 AI 도구들을 조합하여 사용했습니다. * AI를 SDET 에이전트(설계), 문서화 전문가(기록), Git 마스터(형상 관리)라는 세 가지 페르소나로 분리하여 역할 분담을 명확히 했습니다. **기술적 문제 해결과 아키텍처 고도화** * **Page Object Model(POM) 도입:** 중복 셀렉터 문제를 해결하고 유지보수성을 높이기 위해 AI와 협업하여 모든 페이지 요소를 객체화하는 POM 구조를 설계했습니다. * **React 타이밍 이슈 해결:** 요소가 화면에는 보이지만 이벤트 핸들러가 바인딩되지 않아 발생하는 클릭 실패를 해결하기 위해, UI 안정화와 상호작용 준비 상태를 분리해 감지하는 'Interaction Readiness' 전략을 구현했습니다. * **Fallback 클릭 로직:** 표준 클릭 실패 시 키보드 엔터 입력, 자바스크립트 직접 클릭 순으로 시도하는 안전한 클릭 함수를 만들어 테스트의 견고함을 높였습니다. * **동적 약관 처리:** 서비스별로 상이하고 복잡한 약관 동의 플로우를 AI가 자동으로 감지하고 처리하도록 설계하여, 약관이 변경되어도 테스트가 중단되지 않는 구조를 만들었습니다. **운영 효율화를 위한 협업 시스템 구축** * **문서화 및 일지 자동 생성:** 매일 커밋 기록을 기반으로 AI가 회고 일지와 가이드 문서를 작성하게 하여, 수십 분이 걸리던 기록 업무를 1~2분 내외의 검토 수준으로 단축했습니다. * **메신저 기반 리포팅 루프:** 테스트 결과, 실패 지점 스크린샷, 오류 로그(EventID 등)를 사내 메신저에 자동으로 연동하여 개발팀과의 빠른 논의가 가능하도록 환경을 조성했습니다. * **테스트 격리 및 리팩토링:** 수천 줄의 단일 파일을 분리하고 테스트 데이터(userNo) 충돌 방지 로직을 도입하여 자동화 품질을 관리 가능한 수준으로 끌어올렸습니다. 단순히 AI에게 코드를 짜게 하는 수준을 넘어, 아키텍처 설계와 운영 프로세스 전반을 AI와 함께 고민하는 'AI-First' 접근 방식은 리소스가 제한된 환경에서 QA 품질을 혁신적으로 높일 수 있는 실질적인 해법이 됩니다. 6개월간의 여정은 AI를 도구가 아닌 실제 팀원으로 대우할 때 자동화의 본질인 '안정적인 반복 실행'을 달성할 수 있음을 보여줍니다.

toss원문

LLM을 이용한 서비스 취약점 분석 자동화 #1 (새 탭에서 열림)

토스 보안 연구팀은 구글의 'Project Naptime'에서 영감을 얻어 LLM 기반의 취약점 분석 자동화 시스템을 구축했습니다. 대용량 코드 처리, 결과의 불확실성, 운영 비용 등 실무 적용 과정에서 마주한 네 가지 핵심 기술적 난제를 단계별로 해결하며 최종적으로 95% 이상의 분석 정확도를 달성했습니다. 기술적 가능성을 넘어 실제 수백 개의 서비스에 지속적으로 적용 가능한 수준의 보안 자동화 환경을 마련했다는 점에 의의가 있습니다. **대용량 소스코드 분석을 위한 MCP 도입** * 단순히 소스코드 전체를 LLM에 입력하는 방식은 토큰 한계와 환각(Hallucination) 문제로 인해 대규모 프로젝트 분석에는 부적합했습니다. * 대안으로 RAG(검색 증강 생성)를 시도했으나 코드 간의 복잡한 연관 관계를 파악하는 데 한계가 있었습니다. * 최종적으로 MCP(Model Context Protocol)를 구축하여 LLM 에이전트가 필요할 때마다 함수 정의나 변수 사용처를 도구 호출(Tool Calling) 방식으로 자유롭게 탐색하도록 설계했습니다. **SAST 결합을 통한 분석 일관성 확보** * 동일한 코드에 대해서도 분석 결과가 매번 달라지는 LLM의 비결정성 문제를 해결하기 위해 정적 분석 도구(SAST)를 결합했습니다. * 빌드 과정이 복잡하고 무거운 CodeQL 대신, 가볍고 빠른 오픈소스 도구인 Semgrep을 활용하여 모든 입력 경로(Source)에서 위험 지점(Sink)까지의 경로를 먼저 수집했습니다. * SAST가 추출한 잠재적 취약 경로를 LLM이 집중 분석하게 함으로써 탐지 누락을 방지하고 분석의 신뢰도를 높였습니다. **멀티 에이전트 체계를 통한 비용 최적화** * 모든 코드 경로를 심층 분석할 경우 발생하는 막대한 토큰 비용을 줄이기 위해 역할을 분담한 세 가지 에이전트를 도입했습니다. * **Discovery 에이전트:** 수집된 경로 중 실제 취약점 가능성이 높은 경로를 1차로 선별하는 거름망 역할을 수행합니다. * **Analysis 에이전트:** 선별된 경로를 심층 분석하여 실제 취약 여부를 판별합니다. * **Review 에이전트:** 최종 결과를 검토하여 오탐(False Positive)을 제거함으로써 분석의 정교함을 더했습니다. **지속 가능한 운영을 위한 오픈 모델 전환** * 상용 클라우드 모델(Claude 등)의 높은 비용 문제를 해결하기 위해 직접 호스팅 가능한 오픈 모델(Open Model)로 전환했습니다. * Qwen3:30B, gpt-oss:20B, llama3.1:8B 등 다양한 모델의 ROI를 비교 분석한 결과, 취약점 분석 정확도와 도구 호출 성능이 가장 우수한 'Qwen3:30B'를 최종 선택했습니다. * 오픈 모델의 성능을 보완하기 위해 프롬프트 엔지니어링과 퓨샷 러닝(Few-shot Learning)을 적용하여 클라우드 모델 못지않은 성능을 구현했습니다. 단순히 최신 기술을 도입하는 것에 그치지 않고, 기업 환경에서 실제 운영 가능한 수준의 '비용 대비 성능'을 확보하는 것이 중요합니다. LLM 취약점 분석 시스템을 구축할 때는 모든 판단을 모델에 맡기기보다 Semgrep과 같은 전통적인 보안 도구로 분석 범위를 좁혀주고, 멀티 에이전트 구조로 단계별 필터링을 거치는 설계가 실무적으로 가장 효과적입니다.

toss원문

토스의 AI 기술력, 세계 최고 권위 NeurIPS 2025에서 인정받다: FedLPA 연구 (새 탭에서 열림)

토스는 데이터 주권 문제를 해결하면서도 미지의 데이터를 효과적으로 학습할 수 있는 새로운 연합학습 알고리즘 'FedLPA'를 개발하여 세계 최고 권위의 AI 학회인 NeurIPS 2025에 게재했습니다. 이 기술은 국가별로 상이하고 라벨이 부족한 현실 세계의 데이터 분포를 클라이언트 스스로 파악하여 모델을 최적화함으로써, 개인정보를 보호하는 동시에 글로벌 서비스의 정확도를 획기적으로 높입니다. 이를 통해 토스는 규제 리스크 없는 글로벌 진출과 초개인화된 금융 서비스 제공을 위한 독보적인 기술적 토대를 마련했습니다. ### 연합학습의 도입 배경과 기존 기술의 한계 - **데이터 주권과 보안**: '페이스페이'와 같은 서비스가 해외에 진출할 때, 현지 법령에 따라 생체 데이터를 국외로 반출할 수 없는 문제를 해결하기 위해 데이터를 서버로 모으지 않고 기기 내에서 학습하는 연합학습(Federated Learning)이 필수적입니다. - **데이터 불균형(Non-IID)**: 기존 연합학습은 모든 사용자의 데이터 분포가 유사하다고 가정하지만, 실제로는 국가나 지역별로 얼굴형, 조명, 결제 패턴 등이 판이하게 달라 성능이 저하되는 한계가 있습니다. - **미지 범주 대응 불가**: 서비스 운영 중 발생하는 새로운 인종적 특성이나 신종 부정 결제 패턴(Novel Class)을 기존 기술은 '알고 있는 범주'로만 분류하려다 보니 새로운 변화에 유연하게 대응하지 못했습니다. ### FedLPA의 3단계 혁신 파이프라인 - **신뢰도 기반 로컬 구조 발견(CLSD)**: 단순히 이미지 특징을 비교하는 수준을 넘어, 모델이 확신하는 데이터(High-confidence)의 예측 결과를 활용해 데이터 간의 유사도 그래프를 정교하게 구축하고 정제합니다. - **인포맵 클러스터링(InfoMap)**: 사람이 범주의 개수를 미리 정해주지 않아도, 그래프 내에서 데이터들이 자연스럽게 뭉치는 커뮤니티를 찾아내는 알고리즘을 통해 클라이언트가 스스로 데이터 내의 범주 개수를 파악합니다. - **로컬 사전 확률 정렬(LPA)**: 모델의 예측 결과 분포가 앞서 파악한 실제 데이터의 분포(Empirical Prior)와 일치하도록 강제하는 정규화 과정을 거칩니다. 이를 통해 특정 클래스에 데이터가 쏠려 있어도 모델이 편향되지 않고 균형 잡힌 학습을 수행할 수 있습니다. ### 기술 도입에 따른 비즈니스 기대 효과 - **글로벌 진출 가속화**: 각국의 금융 및 개인정보 규제를 준수하면서도 현지 데이터를 활용한 고성능 모델을 구축할 수 있어, 기술적 진입 장벽 없이 동남아나 유럽 등 글로벌 시장에 빠르게 안착할 수 있습니다. - **초개인화 금융 서비스**: 개별 사용자의 로컬 환경과 특이 패턴을 실시간으로 학습하여, 이상거래탐지(FDS)의 정확도를 높이고 국가별 특수성을 반영한 정교한 신용평가(CSS) 모델을 운영할 수 있습니다. - **운영 효율 극대화**: 새로운 유형의 데이터가 등장할 때마다 사람이 직접 라벨링하고 재학습시키는 과정을 줄여주며, AI가 스스로 새로운 패턴을 감지하고 학습하므로 모델 업데이트 주기와 운영 비용을 획기적으로 단축합니다. FedLPA는 데이터 보안과 모델 성능이라는 상충하는 목표를 동시에 달성함으로써 AI 기술의 실질적인 비즈니스 적용 가능성을 입증했습니다. 데이터 규제가 엄격한 글로벌 환경이나 사용자마다 데이터 특성이 극명하게 다른 금융 도메인에서 AI 서비스를 운영하고자 한다면, FedLPA와 같은 자가 학습 기반의 연합학습 구조를 적극적으로 검토할 것을 권장합니다.