오픈소스 AI 프로젝트, 무엇을 보고 고르나
깃허브에서 AI 프로젝트를 찾다 보면 별 수천 개짜리 저장소가 줄줄이 나온다. 소개문에는 하나같이 실무 투입 가능이라고 적혀 있다. 그런데 막상 코드를 열어보면 API를 한 번 감싼 게 전부인 경우가 있다.
골라 쓰는 쪽에서 판단할 근거가 마땅치 않다. 별 개수는 소개문이 잘 쓰였다는 뜻에 가깝고, 사용기는 대부분 처음 설치해본 날 쓴 글이다. 몇 번 고르고 몇 번 갈아엎으면서 내가 쓰게 된 기준을 적는다.
별 개수가 알려주지 않는 것
별은 그 저장소가 화제가 됐던 시점을 보여준다. 지금 잘 돌아가는지는 알려주지 않는다. 화제가 된 뒤 관리가 끊긴 프로젝트가 별을 그대로 달고 남아 있다.
대신 볼 것은 최근 활동이다. 마지막 커밋이 언제인지, 최근 한 달에 몇 개의 변경이 올라왔는지 본다. AI 분야는 모델과 API가 계속 바뀌어서, 세 달만 손을 놓아도 동작이 깨진다.
이슈 탭이 더 정확한 신호를 준다. 열린 이슈 개수보다 답글이 달리는 속도를 본다. 최근 이슈 열 개를 열어 관리자가 답했는지 확인하면 프로젝트의 상태가 거의 드러난다. 답이 없는 이슈가 쌓여 있으면 내가 문제를 만났을 때도 혼자 풀어야 한다는 뜻이다.
기여자 수도 함께 본다. 한 사람이 전부 만든 프로젝트는 그 사람이 손을 떼면 멈춘다. 개인 프로젝트를 쓰지 말라는 게 아니라, 멈췄을 때 내가 이어받을 수 있는 크기인지 미리 보라는 뜻이다.
실무 투입 가능이라는 말
소개문의 이 표현은 대부분 의미가 없다. 대신 저장소 안에서 세 가지를 찾아본다.
테스트 코드가 있는지 본다. tests 폴더가 비어 있거나 예제 하나뿐이면, 바뀔 때마다 무엇이 깨졌는지 아무도 모른다는 뜻이다. 버전 태그가 붙어 있는지도 본다. 태그 없이 주 브랜치만 있는 프로젝트는 어제 받은 것과 오늘 받은 것이 다를 수 있다.
문서에 실패 사례가 적혀 있는지도 신호가 된다. 잘 되는 것만 적힌 문서는 만든 사람이 실제로 굴려보지 않았다는 뜻인 경우가 많다. 안 되는 조건과 알려진 제약이 적혀 있으면 오히려 믿을 만하다.
이 항목들을 자동으로 점수 매겨주는 도구도 있다. OpenSSF Scorecard는 저장소 주소를 넣으면 관리 상태, 코드 리뷰 여부, 의존성 관리 같은 항목을 점수로 내준다. 사람이 일일이 보기 전에 한 번 돌려보면 후보를 빠르게 줄일 수 있다.
라이선스는 마지막에 확인하지만 실은 가장 먼저 걸리는 항목이다. 회사 제품에 넣을 생각이라면 소스를 공개해야 하는 조건이 붙은 것인지 봐야 한다. 나중에 발견하면 이미 코드가 엮인 뒤다.
내가 겪은 판단 실수
기준을 세우게 된 계기가 있다. 서버에서 돌리던 AI 에이전트가 자기 설정 파일을 지운 적이 있다. 백업이 없는 파일도 있었다.
원인을 따라가 보니 도구가 부실해서가 아니었다. 내가 중요한 판단을 전부 모델에게 맡겨둔 구조가 문제였다. 어떤 프레임워크를 골랐느냐보다 어디까지 맡길지를 정하지 않은 쪽이 컸다. 그 과정은 따로 정리해뒀다.
그래서 기준에 하나를 더 넣었다. 그 프로젝트가 모델이 틀렸을 때를 어떻게 다루는지 본다. 실패를 그냥 넘기고 다음으로 가는 구조라면, 조용히 잘못된 결과가 쌓인다. 승인 단계를 둘 수 있는지, 실패했을 때 로그가 남는지가 실제 운영에서는 기능 개수보다 중요했다.
고르는 순서
후보가 서넛으로 좁혀지면 아래 순서로 본다. 위에서 걸리면 아래는 보지 않는다.
| 순서 | 확인할 것 | 걸리면 |
|---|---|---|
| 1 | 라이선스가 내 용도에 맞나 | 탈락 |
| 2 | 최근 한 달 안에 커밋이 있나 | 탈락 |
| 3 | 최근 이슈에 답글이 달리나 | 보류 |
| 4 | 테스트와 버전 태그가 있나 | 보류 |
| 5 | 실패를 어떻게 다루나 | 구조 확인 |
| 6 | 반나절 안에 예제가 도나 | 다음 후보 |
마지막 항목이 실은 가장 잘 걸러준다. 문서대로 따라 했는데 반나절이 지나도 예제 하나가 안 돌면, 그 프로젝트는 앞으로도 계속 그럴 가능성이 높다. 설치가 매끄러운 것과 관리가 잘 되는 것은 대체로 같이 간다.
모델 자체를 고르는 일은 이것과 별개다. 가격과 컨텍스트 길이는 모델 비교표에서 숫자로 확인할 수 있고, 프레임워크는 그 모델을 어떻게 다룰지를 정한다. 둘을 같은 기준으로 고르려 하면 섞인다.
기준을 정해두면 새 프로젝트가 나와도 30분이면 판단이 선다. 판단이 빨라지는 것보다, 안 될 프로젝트에 며칠을 쓰지 않게 되는 쪽이 더 크다.
[…] 오픈소스 AI 프로젝트, 무엇을 보고 고르나 […]