클론코더

용어 사전

복잡성

노드의 수, 노드끼리의 연결, 경로의 갈래가 늘어나 한눈에 파악하기 어려워진 정도

노드가 네 개일 때는 머릿속으로 처음부터 끝까지 따라갈 수 있습니다. 기능을 붙일수록 노드가 늘고, 노드끼리의 연결이 얽히고, 조건에 따라 길이 갈라집니다. 그러다 보면 한 곳을 고쳤을 때 어디가 영향을 받는지 한눈에 보이지 않게 됩니다. 이 정도를 복잡성이라고 합니다.

위는 새 글 확인, 본문 가져오기, 요약 요청, 슬랙 전송 네 노드를 한 줄로 이은 처음 모습. 아래는 기능을 붙인 뒤의 모습으로, 이미지 빼기, 번역 요청, 태그 달기, 메일 발송, 시트 저장이 더해져 노드가 아홉 개가 되었다. 본문 가져오기 하나에서 요약, 번역, 태그 세 갈래가 나가고 화살표가 서로 얽혀 있다.
같은 자동화에 기능을 붙여 간 모습. 노드보다 연결이 더 빨리 늘어납니다

복잡성을 키우는 세 가지

  1. 노드의 수: 기능 하나를 붙일 때마다 노드가 하나 이상 생깁니다.
  2. 함께 쓰는 노드: 그림에서 본문 가져오기는 요약, 번역, 태그 세 노드가 함께 씁니다. 이 노드를 고치면 세 기능이 모두 영향을 받습니다.
  3. 갈래: 조건마다 길이 하나씩 생깁니다. 갈래가 늘면 확인해야 할 경우의 수가 곱으로 늘어납니다.

아래 두 자동화는 복잡성이 다릅니다. 노드 하나를 눌러 고장 내 보면, 그 노드 때문에 멈추는 노드가 빨갛게 표시됩니다. 노드와 연결이 많은 쪽에서 더 많은 곳이 함께 멈춥니다.

직접 해 보기복잡성이 다른 두 자동화 열어 보기

두 프로그램을 같은 축척으로 그렸어요.

A. 아침 날씨 알림노드 3개 · 연결 2개

매일 아침 날씨를 가져와 단톡방에 보내요.

그림을 옆으로 밀면 나머지 노드가 보여요 →

노드를 눌러 고장 내 보세요.
B. 고객 문의 자동 응답노드 12개 · 연결 14개

문의 메일을 AI가 분류하고, 배송·환불 문의는 자동으로 답장하고, 나머지는 담당자에게 알려요.

그림을 옆으로 밀면 나머지 노드가 보여요 →

노드를 눌러 고장 내 보세요.

복잡성이 넘쳤다는 신호

하나를 고치면 다른 곳이 깨지거나, AI에게 무엇을 더 요청해야 할지 감이 오지 않는다면 프로그램의 복잡성이 내가 파악할 수 있는 범위를 넘은 것입니다. 이때 "이거 고쳐 줘"를 반복하면 복잡성은 더 커집니다. 원인을 모르는 채로 덧댄 수정이 또 하나의 갈래가 되기 때문입니다.

다루는 방법

  • 그려 보기: 노드와 화살표로 지금 구조를 그립니다. 여러 곳에서 함께 쓰는 노드와 갈래가 보입니다.
  • 경계 정하기: 노드마다 입력과 출력을 정해 두면, 안쪽을 바꿔도 바깥에 영향이 덜 갑니다.
  • 한 번에 하나씩: 한 번에 한 노드만 바꾸고, 바꿀 때마다 전체가 그대로 도는지 확인합니다.
헷갈리기 쉬운 말

복잡성과 코드 길이

코드가 길다고 복잡한 것은 아닙니다. 천 줄짜리 코드도 한 줄로 이어진 노드라면 따라가기 쉽고, 백 줄짜리 코드도 서로 얽혀 있으면 복잡합니다. 복잡성은 길이보다 연결과 갈래에서 나옵니다.

이 용어가 나오는 Lesson

함께 보면 좋은 용어