01 · 필요한 이유

화면 하나 뒤에 숨어 있는 자료 이동을 드러낸다

학교 규정 안내 챗봇에 “체험학습 신청은 언제까지인가요?”라고 물었다고 해 봅시다. 화면에서는 질문과 답만 보이지만 시스템은 질문, 사용자 권한, 규정 문서, 검색된 문단, 모델에 넣은 문맥, 생성된 답, 인용 위치와 운영 기록을 다룹니다. 이 가운데 하나라도 빠지면 답의 근거를 찾기 어렵고, 보관해서는 곤란한 개인정보가 기록 저장소에 남을 수 있습니다. 데이터 흐름도는 화면의 순서보다 데이터의 출발지·처리·저장·도착지를 표시하여 보안과 품질 검토의 대상을 구체적으로 만듭니다.[1]

생각그림 1 · 질문 한 줄에 딸린 여섯 데이터
사용자 입력질문·학년·권한
검색 입력검색어·문서 범위
검색 결과관련 문단·문서 번호
모델 문맥지시문·질문·문단
사용자 출력답변·출처 링크
운영 기록소요 시간·오류 코드
‘질문’이라는 한 상자 안에 모든 자료를 넣지 않고, 목적과 보관 위치가 다른 데이터를 나눕니다.
02 · 기호 읽기

외부 주체·처리·저장소·데이터 흐름을 구별한다

데이터 흐름도에는 네 요소가 핵심입니다. 외부 주체는 시스템 밖에서 데이터를 주거나 받는 사람·다른 시스템입니다. 처리는 입력 데이터를 바꾸어 출력을 만드는 일이며 동사로 이름을 붙입니다. 데이터 저장소는 문서·기록처럼 나중에 다시 읽을 자료가 머무는 곳입니다. 화살표는 데이터의 이동 방향이고, “요청”처럼 모호한 이름 대신 “사용자 질문”, “검색된 문서 구간”처럼 실제로 이동하는 내용을 적습니다. 표기법에 따라 도형 모양은 달라도 네 역할은 유지됩니다.

생각그림 2 · 데이터 흐름도의 네 기호
외부 주체
사용자
질문 →처리
질문 정리
검색어 →저장소
규정 문서
이름 규칙처리는 ‘질문 정리하기’처럼 동사, 데이터는 ‘정리된 검색어’처럼 명사로 씁니다.
화살표에는 제어 명령보다 이동하는 데이터의 이름을 붙여야 입력과 출력을 대조할 수 있습니다.
03 · 원문 옮기기

문장에서 명사·동사·보관 표현을 각각 뽑는다

“사용자가 질문하면 서비스가 개인정보를 가리고 규정 문서에서 관련 부분을 찾는다. 모델은 질문과 검색 결과로 답변을 만들고, 서비스는 답변과 출처를 사용자에게 보낸다. 운영 기록에는 처리 시간과 오류 코드만 남긴다”라는 원문을 살펴봅시다. 사람과 시스템은 외부 주체 후보, ‘가린다·찾는다·만든다’는 처리 후보, 규정 문서와 운영 기록은 저장소 후보입니다. 각 동사 앞뒤의 명사를 연결하면 흐름이 됩니다. 원문에 기록 보존 기간이 없다면 도표에 임의로 30일을 쓰지 않고 확인 질문으로 남깁니다.

생각그림 3 · 원문을 요소표로 바꾸기
원문 표현도표 요소확인할 점
사용자가 질문한다외부 주체 → 질문 데이터로그인 정보 포함 여부
개인정보를 가린다처리 → 정제된 질문가림 규칙과 실패 처리
규정 문서에서 찾는다저장소 → 검색 처리문서 버전
처리 시간을 남긴다운영 기록 저장소질문 원문 저장 여부
원문에 있는 사실과 추가로 확인해야 할 결정을 표에서 분리하면 LLM이 빈칸을 추정하는 일을 줄일 수 있습니다.
04 · 첫 사례

검색 증강 답변은 검색어와 모델 문맥을 따로 본다

문서 검색을 붙인 LLM 서비스에서는 사용자 질문이 그대로 문서 저장소로 가는 경우도 있지만, 검색용 표현으로 정리되거나 여러 검색어로 나뉠 수도 있습니다. 검색기는 문서 전체를 모델에 보내는 대신 관련성이 높은 구간과 문서 식별자를 반환합니다. 문맥 구성 처리는 시스템 지시, 질문, 검색 구간과 출처 정보를 모델 입력으로 묶습니다. 모델이 만든 문장과 출처 표시는 같은 데이터가 아닙니다. 출처 표시는 검색 결과의 문서 식별자와 답변의 개별 주장을 다시 대응하여 만들어야 합니다.

생각그림 4 · 검색 증강 답변의 데이터 경로
사용자 질문
↓ 질문 정리
검색어
권한 범위
↓
문서 검색 → 관련 구간·문서 ID
↓
문맥 구성 → 모델 입력
↓
답변 문장
출처 대응표
검색 결과는 모델 입력의 일부이며, 출처 표시는 검색 결과와 답변 주장을 다시 연결한 별도 산출물입니다.
05 · 다른 사례

번역·요약·상담에서 저장해야 할 데이터가 달라진다

번역 서비스는 원문, 언어 설정과 번역문을 다루며 용어집을 별도 저장소에서 읽을 수 있습니다. 회의록 요약 서비스는 음성 파일을 전사 처리로 보내고, 전사문에서 요약과 할 일 목록을 만듭니다. 상담 보조 서비스는 민감 정보가 많으므로 원문 저장 대신 식별자를 제거한 통계만 남길 수 있습니다. 세 서비스 모두 LLM을 써도 데이터 종류와 보관 정책은 다릅니다. 따라서 ‘LLM’이라는 처리 하나만 그리면 어떤 정보가 외부 도구로 전달되고 무엇이 기록되는지 검토할 수 없습니다.

생각그림 5 · 세 서비스의 서로 다른 저장 경계
서비스주요 입력참조 저장소남길 기록
번역원문·대상 언어승인 용어집문서 ID·처리 결과
회의 요약음성·참석자전사문요약·할 일
상담 보조식별정보가 포함된 대화승인 지침비식별 통계
저장소는 편의를 위한 상자가 아니라 접근 권한·보존 기간·삭제 책임을 함께 검토하는 경계입니다.
06 · LLM에 요청하기

데이터 목록과 시스템 경계를 먼저 준다

LLM에 데이터 흐름도를 요청할 때는 화면 기능만 설명하지 말고 입력·출력·저장소·외부 시스템을 목록으로 줍니다. 어느 데이터가 개인정보인지, 원문을 저장하는지, 외부 검색 서비스로 무엇을 보내는지, 오류가 났을 때 남기는 기록도 적습니다. 원문에서 확인할 수 없는 저장 기간과 접근 권한은 추정하지 말고 질문으로 분리하도록 지시합니다. 결과를 받은 뒤에는 모든 처리에 최소 한 개의 입력과 출력이 있는지, 저장소끼리 직접 화살표가 이어지지 않는지 확인합니다.

생각그림 6 · 복사 가능한 데이터 흐름도 요청문
다음 학교 규정 안내 서비스를 데이터 흐름도 초안으로 정리해 주세요.
목적: 질문·검색 자료·모델 입력·답변·운영 기록의 이동과 저장을 검토한다.
외부 주체: 학생, 교사, 문서 관리 시스템.
처리: 질문 정리 / 권한 확인 / 규정 검색 / 모델 문맥 구성 / 답변 생성 / 출처 대응.
저장소: 승인된 규정 문서, 운영 기록.
데이터: 사용자 질문, 학년 정보, 검색어, 문서 구간, 문서 ID, 모델 입력, 답변, 출처, 처리 시간, 오류 코드.
규칙: 처리에는 동사, 화살표에는 실제 데이터 이름을 쓴다. 개인정보가 외부로 나가거나 기록되는 흐름을 따로 표시한다.
금지: 원문에 없는 보존 기간·암호화 방식·자동 승인을 확정하지 않는다.
출력: ① 요소표 ② 1단계 데이터 흐름도 ③ 누락·과잉 흐름 ④ 확인 질문.
준비된 예시 이 글의 도표와 데이터 이름은 교육을 위해 설계한 사례이며 특정 서비스의 실제 내부 구성을 나타내지 않습니다.
처리 단계보다 데이터 이름을 먼저 고정하면 모호한 ‘요청·응답’ 화살표를 구체적으로 바꿀 수 있습니다.
07 · 오류와 수정

모든 일을 ‘LLM 처리’ 한 상자에 넣지 않는다

잘못된 초안은 사용자에서 ‘LLM 처리’로 화살표 하나를 보내고 곧바로 답변을 돌려줍니다. 이 그림에는 문서 저장소, 검색 결과, 권한 확인, 출처 대응과 로그가 보이지 않습니다. 반대로 세부 API와 함수 이름을 수십 개 적으면 데이터의 큰 흐름을 읽기 어렵습니다. 수정할 때는 질문 정리, 검색, 문맥 구성, 답변 생성, 출처 대응처럼 데이터의 형태가 바뀌는 지점을 처리로 나누고, 각 화살표에 변환 전후의 데이터 이름을 적습니다. 구현 함수는 10회의 시스템 구성도나 더 상세한 기술 문서로 넘깁니다.

생각그림 7 · 마법 상자에서 검토 가능한 흐름으로
수정 전
사용자→LLM 처리→답
검색 자료와 저장 위치를 확인할 수 없습니다.
수정 후
질문→검색→문서 구간→답·출처
형태가 바뀌는 지점과 저장소를 표시합니다.
세부 구현을 모두 펼치는 대신 데이터 의미가 바뀌는 처리 경계를 선택합니다.
08 · 다른 도표와 비교

데이터 흐름도는 시간 순서보다 자료의 출처와 변환을 묻는다

제7회의 시퀀스 다이어그램은 누가 누구에게 어떤 메시지를 먼저 보내는지 보여 줍니다. 제8회의 활동도는 조건과 병렬 실행을 다룹니다. 데이터 흐름도는 같은 시스템에서 어떤 데이터가 생성·변환·저장·전달되는지에 집중합니다. 따라서 데이터 흐름도의 화살표를 위에서 아래로 읽는다고 실행 시간이 확정되는 것은 아닙니다. 10회의 시스템 구성도는 서비스·애플리케이션·저장소 같은 구조적 부품과 책임을 보여 줍니다. 중심 질문에 따라 같은 대상도 서로 다른 도표가 필요합니다.

생각그림 8 · 네 도표의 중심 질문
도표중심 질문화살표가 주로 뜻하는 것
데이터 흐름도어떤 자료가 어디로 이동하는가?데이터 이동
시퀀스메시지가 어떤 시간 순서로 오가는가?요청·응답
활동도어떤 행동이 언제 가능한가?제어 흐름
시스템 구성도어떤 부품과 경계가 있는가?사용·연결 관계
도표 이름보다 먼저 확인하려는 질문을 정하면 화살표의 의미가 섞이지 않습니다.
09 · 직접 해 보기

기록 정책을 바꾸며 위험한 데이터 흐름을 찾아보자

아래 실습은 교육용 학교 규정 안내 서비스입니다. 운영 기록에 처리 시간과 오류 코드만 남기면 질문 원문은 기록 저장소로 가지 않습니다. 질문 원문까지 저장하면 민감 정보가 들어갈 가능성을 검토하고, 접근 권한·보존 기간·삭제 절차가 추가로 필요합니다. 외부 검색을 선택하면 정제된 검색어가 조직 밖으로 이동하므로 개인정보 가림 처리가 선행되어야 합니다. 설정에 따라 어떤 흐름이 추가되는지 확인해 보세요.

생각그림 9 · 데이터 경계 실습
조건을 고른 뒤 점검하세요.
해설: 외부 검색에는 정제된 검색어만 보내고, 질문 원문을 기록할 때는 목적·권한·보존 기간·삭제 절차를 함께 정해야 합니다. 두 선택 모두 기능보다 데이터 경계를 먼저 검토하는 문제입니다.
설정을 바꾸면 시스템 밖으로 나가거나 장기간 남는 데이터가 달라집니다.