오픈소스에서 무엇을 찾고 있는가

새 프로젝트나 새 주제를 맡으면 항상 같은 지점에서 멈춘다. 무엇을 해야 하는지가 아니라, 어떻게 구성해야 하는지를 모르겠는 지점이다. 라이브러리 하나가 없어서 막히는 게 아니다.


이 문제를 다른 사람들은 대체로 어떤 모양으로 쪼개서 푸는지, 그 감각 자체가 없어서 막힌다.

그럴 때 하던 일은 늘 같았다. 검색을 하고, 'Github'에 들어가 관련 있어 보이는 저장소 몇 개를 열어 'README'부터 읽는다. 이 프로젝트가 뭘 하려는지, 왜 만들었는지를 먼저 파악하고서 src/ 구조로 들어간다.

찾는 내용은 프로젝트마다 달랐지만 막막함의 모양은 늘 같았다. 인과추론을 다루는 프로젝트를 시작할 때는 정보 사이의 인과를 다루는 기법과 인과를 잇는 방법과 관점, 온톨로지를 설계하는 방법과 구조, FIBO 같은 기존 경제 온톨로지를 찾아 읽었다. 선례를 비교하는 프로젝트를 시작할 때는 남들이 선례 비교를 어떤 방식으로 구현하고 어떤 순서로 개발했는지부터 찾아보았다.

도구를 만드는 일 자체도 다르지 않았다. 이 GitScout를 짤 때도 .claude 구성을 어떻게 잡는지, 앤트로픽 쪽 오픈소스나 하네스는 폴더와 파일을 어떻게 나누고 무엇을 자동화하는지를 참고하려고 저장소를 열었다. 이 사람은 이 문제를 이렇게 나눠 짰구나, 이 부분은 나라면 안 이렇게 짰을 텐데 왜 이렇게 했지 — 이런 식으로 조각을 모으면서 내 프로젝트의 모양을 서서히 잡아갔다.

요즘은 이 전체를 AI에게 맡길 수 있다고들 한다. 조사도 대신 해주고, 개발도 대신 해준다. 처음엔 이게 그 막막함을 없애줄 줄 알았다. 그런데 한켠이 계속 찝찝했다.

무엇이 찝찝했는가


AI에게 "이런 걸 만들고 싶은데 어떻게 접근하면 될까"라고 물으면, 잘 정리된 답이 돌아온다. 이 라이브러리를 쓰면 된다, 이렇게 구조를 짜면 된다. 문제는 그 답이 너무 빨리 하나로 좁혀진다는 것이다.

내가 저장소 다섯 개를 직접 열어봤을 때 얻었던 건 사실 "정답"이 아니었다. 서로 다른 다섯 가지 접근을 보면서 "아, 이 축을 이렇게도 나눌 수 있구나", "이 사람들은 확장성 대신 단순함을 택했구나" 하고 비교하는 과정 자체였다. 그 비교에서 내 프로젝트에 맞는 감각이 생겼다. AI가 요약해서 건네주는 하나의 권고안에는 그 비교의 흔적이 없다. 다섯 개를 읽었지만 보여주는 건 결론 하나뿐이라, 내가 왜 이 구조를 택했는지에 대한 근거가 내 것이 되지 않는다.

그리고 AI가 코드를 대신 짜줄 때도 비슷한 게 빠진다. 결과물은 나오지만, 그게 어떤 트레이드오프를 거쳐 이 모양이 됐는지는 안 보인다. 오픈소스 저장소를 읽을 때는 이슈 트래커의 논쟁, 리팩터링 커밋, 지금은 지워진 예전 접근까지 같이 보인다. 그게 "왜 이렇게 짰는가"에 대한 진짜 설명이었다. AI가 생성한 코드에는 그 설명이 원래 없다 — 애초에 그런 논쟁을 거치지 않고 나왔기 때문이다.

오픈소스가 주는 건 코드가 아니었다


이 찝찝함을 따라가 보니, 내가 오픈소스에서 원래 얻던 것의 정체가 조금 더 분명해졌다. 그건 "가져다 쓸 수 있는 함수"가 아니라 세 가지였다.

  • 구조: 이 문제를 남들은 어떤 경계로 나눠서 풀었는가.
  • 이유: 왜 그 경계를 택했는가 — 성공한 결정과 버려진 결정(커밋과 이슈)
  • 다른 생각: 나와 같은 목표를 가진 사람이 완전히 다른 길로 간 사례.

이 셋은 "라이브러리를 설치해서 기능을 채운다"는 문제와는 다른 층위에 있다. 라이브러리 도입은 "이미 정한 설계에 무엇을 끼워 넣을까"의 문제다. 하지만 내가 진짜 막혔던 건 그 이전, "설계를 어떻게 잡을까"의 문제였다.

그래서 다시 묻는다


원래 던졌던 질문은 "기능 구현부터 오픈소스 탐색, 적용까지 AI가 다 해줄 수 있는가"였다. 이제 보니 이건 이미 설계가 정해진 다음 단계의 질문이었다.

더 앞에 있는, 더 본질적인 질문은 이거였다.

AI에게 조사를 맡기면, 내가 직접 여러 저장소를 헤매며 얻던 "다른 사람의 사고방식을 보는 경험"도 같이 넘겨줄 수 있는가. 아니면 그 경험은 넘겨주는 순간 사라지고, 나는 결론만 받아 쓰는 사람이 되는가.

AI가 조사를 "대신"하는 것과 AI가 조사를 "같이 보여주는" 것은 다르다. 전자는 결론 하나를 던지고 끝나지만, 후자는 내가 저장소를 뒤지며 얻던 것 — 앞서 말한 구조·이유·다른 답 — 을 그대로 옮겨 와야 한다. 지금까지 나온 AI 도구들은 대체로 전자였다.

다음 편은 이 질문을 검증 가능한 형태로 내려본다. "인사이트를 얻는다"는 건 정확히 어떤 단계들로 이루어지는지, 그중 어디는 AI가 사람보다 낫고 어디는 AI가 구조적으로 못 하는지.