🎯 글을 쓰게 된 이유
평소 인스타그램을 쓰다 보면 홈 피드 다음으로 가장 많이 누르는 버튼이 바로 돋보기 모양의 '탐색' 탭이다.
분명 내가 팔로우하지도 않은 사람들인데,
어떻게 인스타그램은 내가 관심 있어할 만한 콘텐츠들을 이렇게 정확하게 보여주는 걸까?
더 신기한 건 친구들과 각자 핸드폰으로 인스타그램 탐색 탭을 열어보면 완전히 다른 콘텐츠들이 나온다는 점이다.
마치 각자의 취향을 정말 잘 아는 것처럼 말이다.
나는 주로 개발 관련 콘텐츠와 운동 컨텐츠를 많이 보는 편인데, 탐색 탭에는 정말 신기하게도 새로운 개발 트렌드나 헬스 관련 콘텐츠들이 자주 노출된다. 반면 요리에 관심이 많은 친구는 레시피나 쿠킹 채널들이 가득하고, 반려동물을 좋아하는 친구는 반려동물 관련 콘텐츠들로 가득하다.
이런걸 보며, 나와 내 주변 지인들은 항상 "얘네 우리 도청하고 있나봐.."와 같은 농담을 한다.
그러다 문득 "도대체 인스타그램은 어떻게 우리 각자의 취향을 이렇게 정확히 파악하는 걸까?"
라는 궁금증이 생겨서 이번에는 인스타그램의 탐색 피드 추천 알고리즘에 대해 본격적으로 파헤쳐보기로 했다.
💡 인스타그램 탐색 탭의 기본 원리
먼저 인스타그램 공식 블로그에서 공개한 내용을 살펴보자.
"인스타그램에는 사람들이 하는 것과 하지 않는 것을 감독하는 단일한 알고리즘이 없습니다. 우리는 각각 고유한 목적을 가진 다양한 알고리즘, 분류기, 프로세스를 사용합니다."
인스타그램은 각 기능별로 서로 다른 알고리즘을 사용한다고 밝혔다.
- 피드(Feed): 팔로우하는 계정의 콘텐츠가 주를 이루며 관계 기반으로 순위 결정
- 스토리(Stories): 가장 친한 친구들의 콘텐츠를 우선적으로 표시
- 탐색 탭(Explore): 새로운 콘텐츠 발견을 위한 추천 시스템
- 릴스(Reels): 엔터테인먼트 중심의 참여도 기반 추천
탐색 탭의 목적은 명확하다. "새로운 것을 발견하는데 도움이 되도록 설계"되어 있다는 것이다.
피드가 이미 팔로우하는 사람들의 콘텐츠로 채워지는 것과 달리, 탐색 탭은 대부분이 팔로우하지 않는 계정의 콘텐츠로 구성된다. 즉, 우리가 아직 모르는 새로운 세계를 보여주는 창구 역할을 하는 셈이다.
또한 이는 CS 관점에서 보면 도메인 특화 알고리즘(Domain-Specific Algorithm) 설계라고 할 수 있다.
각 기능의 사용 목적에 맞게 최적화된 별도의 시스템을 구축한 것이다.
🔍 탐색 알고리즘의 2단계 작동 원리
탐색 탭은 다음과 같은 목적으로 설계되었다
"탐색은 새로운 것을 발견하는데 도움이 되도록 설계되어 있습니다. 그리드는 추천 항목으로 구성되며, 인스타그램이 여러분을 위해 찾은 사진과 동영상입니다."
이는 피드가 팔로우하는 계정의 콘텐츠로 대부분 채워지는 것과 근본적으로 다른 접근 방식이다.
1단계: 추천 후보 콘텐츠 선별 (Candidate Selection)
먼저 수많은 콘텐츠 중에서 나에게 추천할 후보들을 선별한다. 이때 가장 중요한 신호는 내가 과거에 했던 행동들이다.
- 좋아요를 누른 게시물
- 저장한 게시물
- 댓글을 단 게시물
- 공유한 게시물
예를 들어, 내가 최근에 "카페 브런치" 관련 사진에 좋아요를 여러 번 눌렀다고 하자.
그러면 인스타그램은 다음과 같은 방식으로 추천 후보를 찾는다.
"카페 브런치 사진을 좋아한 다른 사람들은 또 어떤 콘텐츠를 좋아할까?"
이것이 바로 협업 필터링(Collaborative Filtering) 의 원리다.
나와 비슷한 취향을 가진 사람들이 좋아하는 다른 콘텐츠들을 찾아서 나에게도 추천해주는 방식이다.
2단계: 관심도 순으로 순위 매기기 (Ranking)
1단계에서 선별된 후보 콘텐츠들을 내가 얼마나 관심을 가질지 예측해서 순위를 매긴다. 이때 가장 중요한 예측 지표는
- 좋아요를 누를 확률
- 저장할 확률
- 공유할 확률
탐색에서는 좋아요, 저장, 공유가 가장 중요한 예측 행동이라고 한다.
(다만 구체적인 가중치나 우선순위는 공개되지 않았다.)
📊 탐색 알고리즘에 영향을 주는 주요 신호들
인스타그램은 "시그널"이라고 부르는 수천 개의 요소를 고려한다고 발표했다.
탐색 탭에서 중요도 순으로 정리하면
1순위: 게시물 인기도
- 얼마나 빠르게 좋아요, 댓글, 공유, 저장이 이뤄지는가
- 다른 사람들의 반응 속도와 규모
- 인스타그램 공식: "탐색 탭에서는 피드보다 이 신호가 훨씬 더 중요하게 반영됨"
2순위: 내 활동 이력
- 과거에 좋아요, 저장, 댓글을 남긴 게시물 패턴 분석
- 이전 탐색 탭에서의 행동 패턴
- 알고리즘이 내 취향과 유사한 콘텐츠를 더 많이 노출
3순위: 게시자와의 상호작용 이력
- 비록 팔로우하지 않더라도, 이전에 해당 게시자의 콘텐츠에 반응한 적이 있다면
- 좋아요, 댓글, 공유, DM 등의 상호작용 이력
- 알고리즘이 해당 게시자의 새 콘텐츠를 선호할 것으로 예측
4순위: 게시자 정보
- 지난 몇 주간 해당 사용자의 게시물과 사람들이 얼마나 상호작용했는지
- 인스타그램이 해당 계정을 얼마나 신뢰하는가
🎭 실제 사례로 알아보는 추천 과정
구체적인 예시로 설명해보자.
내가 "마동석"의 사진에 좋아요를 눌렀다고 가정하자. 그러면 인스타그램은 다음과 같은 과정을 거친다:
- 유사 사용자 탐색: "마동석을 좋아하는 다른 사람들은 누구인가?"
- 연관 콘텐츠 발굴: "그 사람들이 또 좋아하는 다른 콘텐츠는 무엇인가?"
- 확장 추천: 마동석 → 이터널스(최근 출연작) → 마블(제작사) → 액션 영화 전반
이런 식으로 내 관심사를 점점 확장해가며 추천 범위를 넓혀간다.
🚫 탐색 탭만의 특별한 규칙
탐색 탭에는 피드와 다른 특별한 규칙이 있다. 바로 추천 가이드라인이다.
인스타그램 공식 설명에 따르면: "팔로우하는 친구가 올린 불쾌한 콘텐츠는 개인간의 문제로 볼 수 있지만, 모르는 사람의 불쾌한 콘텐츠를 탐색에서 보게 되면 훨씬 더 불쾌할 수 있기 때문"이라고 한다.
따라서 인스타그램은 탐색 탭에서 다음과 같은 콘텐츠를 의도적으로 제외한다:
- 폭력을 묘사하는 콘텐츠 (사람들이 싸우는 모습 등)
- 담배나 전자담배 사용을 홍보하는 콘텐츠
- 기타 민감하거나 불쾌감을 줄 수 있는 콘텐츠
🎯 결론
인스타그램 탐색 탭의 추천 알고리즘을 파헤쳐본 결과, 생각보다 훨씬 정교하고 복합적인 시스템이라는 걸 알 수 있었다.
단순히 "비슷한 사람들이 좋아하는 콘텐츠를 보여준다"는 수준을 넘어서, 협업 필터링, AI 기반 패턴 분석, 실시간 인기도 측정, 콘텐츠 안전성 검증 등 여러 기술이 복합적으로 작동하고 있었다.
CS 적으로 좀 더 깊게, 어떤 알고리즘을 사용하는지, 어떤식의 ML을 하는지, 가중치를 두는 기준은 무엇인지 알아보고 싶었지만
찾기가 힘들었다.
이번 글의 결론은 내일 다시 조금만 더 찾아보고 마무리 지어야겠다.
'백엔드 멘토링' 카테고리의 다른 글
구글은 어떻게 그렇게 빠른 검색을 지원할까? (0) | 2025.08.23 |
---|---|
카카오 T 에서 최단거리를 탐색하는 방법 (0) | 2025.08.21 |
[Spring] 조회 성능 테스트 및 조회 성능 개선 일지 (1) | 2025.04.18 |
[회고록] Stock-simulation 프로젝트 API 완성도 기록지 (1) | 2024.12.20 |
주식 프로젝트 influx DB 도입 ADR 과정 (0) | 2024.10.30 |