길이 갈라지는 것과 일이 동시에 벌어지는 것은 다르다
“원문이 있으면 검색하고, 민감한 내용이면 법무 검토를 한다. 검색과 이용 권리 확인을 마치면 초안을 만든다”라는 절차에는 두 종류의 갈림이 있습니다. 원문이 있는지에 따라 한 길만 택하는 조건 분기와, 검색과 권리 확인을 함께 시작하는 병렬 분기입니다. 둘을 같은 마름모로 그리면 한 작업만 하는지 두 작업을 모두 하는지 알 수 없습니다. 활동도에서는 조건 분기에 마름모, 병렬 시작과 합류에 굵은 막대를 써서 제어 의미를 나눕니다.[1]
행동·조건·분기·합류·종료를 구별한다
둥근 사각형은 수행할 행동, 화살표는 제어 흐름입니다. 검은 원은 시작, 테두리가 있는 검은 원은 활동 전체의 종료를 뜻합니다. 마름모에서 여러 선이 나가면 각 선에 [조건]을 적고, 조건은 가능한 상황을 빠짐없이 나누면서 서로 겹치지 않게 만드는 것이 좋습니다. 굵은 막대가 한 흐름을 여러 갈래로 보내면 포크, 여러 갈래를 하나로 모으면 조인입니다. 조인은 들어오는 모든 흐름이 완료될 때까지 기다리므로, 선택되지 않는 경로를 조인에 연결하면 영원히 기다리는 오류가 생길 수 있습니다.
동시에 해도 되는지와 반드시 기다려야 하는지를 묻는다
원문을 행동 목록으로 바꾼 뒤 각 행동의 입력과 출력을 적습니다. ‘자료 검색’은 검색어와 범위가 필요하고 문서 구간을 내놓습니다. ‘이용 권리 확인’은 자료 출처와 사용 방식을 받아 허용 범위를 내놓습니다. 두 작업이 서로의 결과를 입력으로 요구하지 않는다면 병렬로 시작할 수 있습니다. 그러나 ‘근거가 붙은 초안 생성’은 검색 결과와 이용 가능 자료가 모두 필요하므로 조인 뒤에 놓습니다. 병렬성은 화면을 멋지게 만드는 선택이 아니라 데이터 의존 관계에서 나옵니다.
| 행동 | 필요한 입력 | 내놓는 결과 |
|---|---|---|
| 자료 검색 | 질문, 검색 범위 | 관련 문서 구간 |
| 이용 권리 확인 | 자료 출처, 사용 목적 | 허용·제한 기록 |
| 초안 생성 | 허용된 문서 구간 모두 | 근거가 붙은 초안 |
검색과 권리 확인을 병렬로 시작하고 안전하게 합친다
AI 원고 제작 활동도를 만들 때 검색, 자료 이용 권리 확인, 개인정보 검사를 함께 시작할 수 있습니다. 다만 모든 자료에 같은 검사가 필요한지 조건을 먼저 확인합니다. 외부 자료를 쓰지 않는 원고라면 이용 권리 확인 경로를 시작하지 않을 수 있습니다. 이 선택 경로를 모든 입력을 기다리는 조인에 그대로 넣으면 시작되지 않은 경로를 영원히 기다립니다. 선택적 경로는 기본값 결과를 만들어 합류시키거나, 조건을 고려한 병합 구조를 따로 설계해야 합니다. 여기서는 외부 자료를 반드시 사용하는 교육용 사례라 세 경로가 모두 시작됩니다.
답변 품질 검사와 사용자 안내는 합류 방식이 다르다
고객 문의 답변에서는 사실 확인과 금지 표현 검사를 병렬로 수행한 뒤 두 검사 모두 통과해야 전송할 수 있습니다. 반면 빠른 응답이 중요한 검색 화면은 여러 검색 공급자 중 먼저 성공한 결과를 보여 주고 나머지를 취소할 수 있습니다. 이것은 ‘모두 기다리는 조인’과 다른 규칙입니다. 독서 토론 자료를 만드는 경우에는 핵심 주장 추출과 낯선 용어 풀이를 병렬로 진행한 다음, 두 결과를 하나의 토론지에 합칩니다. 사례마다 병렬 시작은 같아 보여도 완료 조건이 ‘모두’, ‘하나 이상’, ‘기한 안의 결과’ 가운데 무엇인지 적어야 합니다.
데이터 의존성과 완료 조건을 요청문에 넣는다
LLM에 “병렬로 그려 달라”고 하면 서로 의존하는 작업도 나란히 놓을 수 있습니다. 각 행동의 입력·출력, 반드시 먼저 끝나야 하는 일, 조건 분기의 빠짐없는 값, 병렬 합류의 완료 규칙을 함께 줍니다. 원문에 없는 병렬화를 제안할 때는 확정 도표에 넣지 말고 제안 목록으로 분리하라고 요구합니다. 결과를 받은 뒤에는 포크 뒤 모든 경로가 조인에 도달하는지, 선택되지 않은 경로를 기다리지 않는지 반례로 확인합니다.
다음 AI 원고 제작 절차를 UML 활동도 초안으로 바꿔 주세요. 목적: 조건 분기와 병렬 실행, 합류 조건을 검토한다. 행동: 질문 확정 / 자료 검색 / 이용 권리 확인 / 개인정보 검사 / 초안 생성 / 사람 검토 / 발행. 의존성: 초안 생성은 검색 결과와 모든 검사 결과가 필요하다. 발행은 사람 검토 승인 뒤에만 가능하다. 분기: 사람 검토에서 [승인]이면 발행, [수정 필요]이면 초안 수정으로 돌아간다. 규칙: 선택은 마름모, 병렬 시작·모두 완료는 포크·조인 막대로 구분한다. 금지: 원문에 없는 자동 승인과 병렬 실행을 확정하지 않는다. 출력: ① 행동별 입력·출력표 ② 활동도 ③ 교착 가능성 ④ 확인 질문.
시작하지 않은 경로를 기다리는 교착을 없앤다
잘못된 도표는 [민감 정보 있음]일 때만 개인정보 검사를 시작하면서도, 아래 조인에서는 항상 개인정보 검사 결과를 기다립니다. 민감 정보가 없으면 그 경로는 시작되지 않았으므로 조인은 끝나지 않습니다. 수정 방법은 두 가지입니다. 조건 분기에서 [없음] 경로도 ‘검사 불필요’라는 결과를 만들어 같은 병합점으로 보내거나, 선택 분기와 병렬 조인의 구조를 분리해 실제로 시작된 경로만 기다리게 합니다. 어느 방법을 쓰든 종료 조건을 말로 설명하고 반례를 실행해야 합니다.
↓
조인은 검사 완료를 계속 기다림
[없음] → 검사 불필요
두 결과를 병합한 뒤 다음 활동
활동도는 토큰이 흐르는 제어 의미를 더 엄격히 읽는다
일반 흐름도도 절차와 결정을 표현할 수 있습니다. 활동도는 행동, 객체 흐름, 포크와 조인, 활동 파티션처럼 UML에서 정의한 제어 의미를 사용해 병렬성과 합류를 더 엄격하게 표현합니다. 단순한 안내 절차에는 흐름도가 읽기 쉽고 충분할 수 있습니다. 여러 시스템과 사람이 동시에 움직이고 선택 경로와 병렬 경로가 섞이면 활동도가 유리합니다. 제5회의 상태차트가 원고의 상태 변화를 묻는다면 활동도는 여러 행동이 어떤 제어 규칙으로 시작되고 끝나는지를 묻습니다.
| 도표 | 중심 질문 | 잘 드러나는 것 |
|---|---|---|
| 흐름도 | 절차가 어떤 순서인가? | 간단한 단계와 조건 |
| 상태차트 | 대상이 지금 어떤 상태인가? | 사건과 전환 조건 |
| 활동도 | 어떤 행동이 언제 시작 가능한가? | 분기·병렬·합류·제어 |
순차와 병렬의 완료 시간을 비교하고 의존성을 검사하자
검색 4단위, 권리 확인 6단위, 개인정보 검사 3단위가 걸리는 교육용 모형입니다. 순차 실행은 시간을 모두 더하고, 서로 독립적인 세 작업을 동시에 시작하면 가장 늦게 끝나는 작업만큼 기다립니다. 그러나 ‘권리 확인은 검색 결과가 있어야 시작할 수 있다’를 선택하면 두 작업은 병렬로 둘 수 없습니다. 시간 단축보다 의존성 보존이 먼저입니다. 아래 수치는 실제 서비스 측정값이 아닙니다.