40주 차 7주 차 – AI 기능을 실제처럼 느끼게 만들기
Source: Dev.to
이번 주 목표
단순한 코딩 연습에서 시작해, 야생 고양이 목격 정보를 게시하는 페이지를 만들어 첫 아이디어를 현실화했습니다. 고립된 목격 기록에서 고양이 정체성과 관계로 확장하기 위해 첫 번째 동일 고양이 매칭 버전을 도입했습니다. 목표는 정확한 식별이 아니라 텍스트 설명과 위치를 기반으로 한 간단하고 설명 가능한 논리를 사용해 가능한 매치를 제안하는 방법을 배우는 것이었습니다.
CatAtlas에 “same‑cat matching v0” 기능을 확장했습니다. 이제 각 고양이 목격은:
- 매칭 프로세스를 트리거하고,
- 가능한 매치들의 순위 리스트를 받으며,
- 두 목격이 동일한 고양이를 가리킬 수 있는 이유에 대한 간단한 설명을 표시합니다.
이로써 앱은 단순한 항목 리스트에서 관련된 목격들의 네트워크로 발전합니다.
GitHub repo:
https://github.com/codespaces?repository_id=1122410808
Live site:
https://orange-disco-pj4g9w4w46prh96pw-5173.app.github.dev/
이진 식별이 아닌 유사도 기반 매칭 설계
- 점수와 순위를 계산하기 위해 객체 배열을 다루기
- AI와 유사한 결정에 대한 설명 가능한 “이유” 도입
- React에서 항목별 추가 UI 상태 관리
- 레코드 자체만이 아니라 레코드 간 관계를 생각하기
어려웠던 점 / 놀라웠던 점
- 매칭 로직이 어디에 위치해야 하는지 결정 (백엔드 vs 프론트엔드)
- 결과가 유용하게 느껴지도록 유사도 임계값 조정, 잡음 최소화
- React 리스트 렌더링 안에 파생 UI 블록을 올바르게 배치
- 엔티티가 서로 연결되면 복잡도가 얼마나 빠르게 증가하는지 깨달음
다음 주에 할 일
다음 주에는 사진이나 보다 명시적인 “고양이 정체성” 개념과 같은 새로운 데이터 차원을 도입해 CatAtlas 기반을 더욱 강화하고 싶습니다. 무거운 AI나 컴퓨터 비전으로 너무 빨리 뛰어들지 않고, 구조를 신중히 추가하는 데 초점을 맞출 예정입니다.