Credit Genie가 OpenWiki를 활용하여 코드베이스 문서를 최신 상태로 유지하는 방법
요약
Credit Genie은 LangChain의 OpenWiki를 활용하여 빠르게 변화하는 코드베이스 문서를 자동으로 생성하고 업데이트합니다. 이를 통해 개발 수명 주기(development lifecycle)에 문서화가 통합되었으며, 엔지니어와 코딩 에이전트 모두에게 검색 가능한 단일 포털을 제공합니다.
핵심 포인트
- OpenWiki는 코드 변경 사항 기반으로 레포지토리 문서를 자동 생성/업데이트합니다.
- 문서화를 개발 프로세스 일부로 전환하여 유지보수 부담을 제거했습니다.
- 엔지니어와 코딩 에이전트 모두가 사용할 수 있는 검색 가능한 단일 포털을 구축했습니다.
- 사내 지식(tribal knowledge)의 종속성을 줄여 온보딩과 협업을 용이하게 합니다.
핵심 요약
Credit Genie는 코드베이스 지식을 최신으로 유지할 더 나은 방법을 필요로 했습니다. AI 및 ML 엔지니어링 팀이 규모를 확장함에 따라 Notion, README, AGENTS.md 파일의 문서는 오래되고 찾기 어려워졌습니다.
OpenWiki는 문서화를 개발 수명 주기(development lifecycle)의 일부로 전환했습니다. Credit Genie는 OpenWiki를 사용하여 코드 변경 사항을 기반으로 레포지토리 수준의 문서를 자동으로 생성하고 업데이트합니다.
팀은 여러 레포지토리에 걸쳐 검색 가능한 포털을 구축했습니다. OpenWiki 문서를 GitHub Pages 포털에 통합함으로써, Credit Genie는 엔지니어와 이해관계자들에게 시스템을 검색하고 이해할 수 있는 단일 장소를 제공했습니다.
이 시스템은 사람과 코딩 에이전트 모두에게 도움을 줍니다. 엔지니어들은 이 포털을 사용하여 익숙하지 않은 시스템을 이해하는 데 사용하며, 코딩 에이전트는 변경 사항을 적용하기 전에 openwiki/ 폴더를 확인하도록 프롬프트 받습니다.
자동화가 유지보수 부담을 제거했습니다. 야간 OpenWiki 실행, 자동 PR(Pull Request), 자동 병합 워크플로우, 일일 포털 재구축은 수동 관리에 의존하지 않고 문서를 최신 상태로 유지합니다.
OpenWiki는 사내 지식(tribal knowledge)의 종속성을 줄였습니다. 중요한 맥락이 더 이상 개별 기여자에게 묶여 있지 않아 온보딩과 교차 기능 협업을 더 쉽게 만듭니다.
Credit Genie의 다음 단계는 크로스 레포지토리 인식입니다. 팀은 OpenWiki를 내부 지식 그래프(knowledge graph)와 연결하여 문서가 레포지토리가 서로 어떻게 의존하는지, 그리고 변경 사항이 관련 시스템에 어떤 영향을 미칠 수 있는지 보여줄 수 있도록 계획하고 있습니다.
Credit Genie는 개인이 자신의 재정적 미래를 통제하도록 돕기 위해 설계된 모바일 우선 금융 웰니스 플랫폼입니다. 이 회사의 AI 및 ML 엔지니어링 팀은 OpenWiki, 즉 LangChain의 오픈 소스 레포지토리 문서화 에이전트를 사용하여 문서를 단일하고 검색 가능하며 사람이 읽을 수 있는 인터페이스로 통합하는 셀프 서비스 포털을 구축합니다.
Credit Genie가 OpenWiki를 통해 문서를 살아있는 시스템으로 전환합니다
Credit Genie의 AI 및 ML 엔지니어링 팀이 끊임없이 성장하는 코드베이스 전반에 걸쳐 확장됨에 따라, 문서를 최신 상태로 유지하는 것이 점점 더 어려워졌습니다. 개별 프로젝트에 대한 지식은 기여자들과 함께 사일로(silo)화되기 시작했고, '조직 내부의 암묵지(tribal knowledge)'가 쌓이기 시작했습니다.
수동 문서화 프로세스를 공식화하려는 시도는 부족했습니다. 왜냐하면 좋은 문서를 작성하고 유지하는 것은 다른 급한 업무에서 시간을 빼앗아가기 때문입니다. 바쁜 팀에게 문서화는 지속적인 관리가 필요한 높은 변화율(high-churn) 활동이 됩니다.
이를 해결하기 위해 Credit Genie는 LangChain의 OpenWiki를 채택하여 고품질 리포지토리 문서를 생성하고 유지하는 과정을 완전히 자동화했으며, 이를 통해 사람과 코딩 에이전트 모두가 필요한 정보를 쉽게 찾을 수 있게 되었습니다.
도전 과제: 오래된 문서와 암묵지
OpenWiki 이전에는 팀이 프로젝트별 Notion 페이지, README 파일, AGENTS.md 파일을 유지했습니다. 하지만 Credit Genie의 빠르게 변화하는 환경에서, 그 콘텐츠는 빠르게 구식이 되었습니다.
문서는 낡고 찾기 어려워졌을 뿐만 아니라, 사람에게만 국한되지 않았습니다. 코드베이스 전반에 걸쳐 작동하는 코딩 에이전트들도 같은 문제에 직면했습니다. 신뢰할 수 있는 진실의 출처(source of truth)가 없으면, 리포지토리가 무엇을 하는지 또는 하위 시스템이 어떻게 작동하는지 이해하기 어려웠고, 종종 오래되거나 불완전한 컨텍스트를 기반으로 행동하게 되었습니다.
팀은 중요한 지식이 개인들에게 점점 더 집중되고 있다는 것을 인식했습니다. 리포지토리가 무엇을 하는지, 특정 기능이 어디에 있는지, 또는 특정 하위 시스템이 어떻게 작동하는지에 대한 질문에 대한 답변은 찾기 어려웠고 때로는 아예 얻기 힘들기도 했습니다—질문하는 사람이 팀원인지 코딩 에이전트인지는 중요하지 않았습니다.
해결책: 인간 친화적 포털을 갖춘 리포지토리 수준 문서
Credit Genie의 AI 및 ML 책임자인 Mattia Ciollaro를 위해 원래 사이드 프로젝트로 시작된 것은 그의 팀들에게 '제도적 지식 보험 정책(institutional knowledge insurance policy)'으로 발전했습니다.
Mattia는 OpenWiki를 개조하여 모든 온보딩된 저장소(repository)의 OpenWiki 문서를 하나의 검색 가능한 웹 인터페이스로 통합하는, GitHub Pages에 호스팅되는 셀프 서비스 포털을 구축했습니다. 그 결과물은 팀들에게 매일 신뢰할 수 있는 컨텍스트 소스를 제공할 뿐만 아니라, 적절한 정보를 더 빠르게 노출하고 추측(guesswork)을 줄이며 구현을 진실의 원천인 코드 자체에 기반하도록 함으로써 코딩 에이전트가 더 잘 수행하도록 돕는 시스템입니다.
이 시스템은 두 가지 청중에게 서비스를 제공합니다:
- 팀원들: 중앙 집중식 GitHub Pages 포털을 사용하여 모든 저장소의 문서를 한 곳에서 검색하고 읽습니다.
- 코딩 에이전트: 행동을 취하기 전에 저장소 내의 openwiki/ 폴더를 확인하도록 지시받습니다.
문서는 각 프로젝트 저장소의 openwiki/ 폴더 안에 존재합니다. OpenWiki는 매일 밤 실행되어 커밋 변경 사항을 확인하고, 의미 있는 차이를 발견하면 문서 업데이트를 생성하여 해당 저장소에 풀 리퀘스트(pull request)를 엽니다. 새로운 저장소를 온보딩하는 것은 포털 설정에서 단 하나의 변경만 필요하며, 이는 대상 저장소에 OpenWiki GitHub Actions 워크플로우의 맞춤화된 버전을 추가하는 자동화된 풀 리퀘스트를 트리거합니다.
병합(merge) 병목 현상을 제거하기 위해 Credit Genie는 OpenWiki 업데이트 PR을 자동으로 승인하고 병합하는 액션을 추가하여, 문서 유지보수 프로세스에서 인간적인 마찰(human friction)을 제거했습니다. 스윕 작업(sweep job)이 모든 온보딩된 저장소에 대해 매일 실행되어 보류 중인 OpenWiki 업데이트를 병합하고 포털을 재구축함으로써 최신 콘텐츠가 항상 사용 가능하도록 합니다.

이를 통해 Mattia와 그의 팀들은 문서를 별도의 유지보수 부담이 아닌 개발 수명 주기(development lifecycle)의 일부로 전환하는 간단하고 확장 가능한 방법을 얻게 되었습니다.
"OpenWiki 덕분에 문서를 별개의 숙제처럼 취급하기보다 코드 수명 주기의 일부로 만들 수 있게 되었어요."라고 Mattia가 말했습니다.
팀들이 사용하는 방법
Credit Genie에서는 OpenWiki를 두 가지의 명확하게 구분되는 방식으로 사용합니다:
• 레포지토리(repo) 수준에서는 코딩 에이전트가 변경을 가하기 전에 빠르게 방향을 잡는 데 도움을 줍니다. 코딩 에이전트는 리포지토리를 체크아웃할 때 openwiki/ 폴더를 찾도록 명시적으로 프롬프트되어, 익숙하지 않은 시스템을 이해하는 더 빠른 방법을 제공받습니다.
• 포털(portal) 수준에서는 사람 친화적인 지식 허브 역할을 합니다. Mattia와 다른 이해관계자들은 복잡한 소프트웨어 시스템에 대한 이해도를 새로 고치는 데 이를 사용합니다. 이는 그들이 의미 있는 크로스펑셔널(cross-functional, 기능 간) 대화를 나누고, 기술적 이해관계자와 비기술적 이해관계자 모두가 이러한 시스템이 무엇을 하는지, 그리고 서로 어떻게 관련되어 있는지에 대해 공유된 이해를 갖도록 보장합니다.
Mattia가 설명했듯이, "우리 시스템의 지속적인 진화 과정을 추적하기 위해 엔지니어와 비기술적 이해관계자들이 이제 OpenWiki 포털을 확인합니다. 종종 이는 노력을 요하는 방대한 양의 코드를 읽거나, 시간과 조율이 필요한 '전문가'를 찾아 인터뷰할 필요성을 없애줍니다. 항상 최신 상태인 고품질의 자동 생성된 문서는 이러한 두 가지 장애물을 모두 제거하고, 필요할 때 언제든지 모든 사람이 우리 시스템이 어떻게 작동하는지 배울 수 있게 합니다."
초기 영향 (Early impact)
Mattia의 팀들은 이미 강력한 채택과 실용적인 가치를 보고 있습니다. 지금까지 가장 큰 이점은 다음과 같습니다:
• 리포지토리 전반에 걸친 더 빠른 컨텍스트 접근성
• '사내 지식(tribal knowledge)' 제거
• 엔지니어 및 다른 이해관계자들을 위한 개선된 온보딩
• 익숙하지 않은 시스템을 둘러싼 더욱 자신감 있는 크로스펑셔널 대화
• 수동 유지 보수 없이 최신 상태를 유지하는 원스톱 샵 검색 가능 문서 포털을 통한 발견 용이성
다음 단계: 크로스-레포 인식 (cross-repo awareness)
Credit Genie의 다음 목표는 자체적인 크로스-리포지토리 지식 그래프(knowledge graph)를 통합하고 모든 Credit Genie 엔지니어링 팀과 코드 리포지토리에 점진적으로 도입하여 OpenWiki를 더욱 지능적으로 만드는 것입니다.
*“우리 웹팀의 Ian Yoder와 Anela Trakic, 그리고 애플리케이션팀의 Patrick VanDusen이 우리가 시스템을 확장할 수 있다는 것을 이해하는 데 도움을 주었습니다. 그들은 자신들의 팀 리포지토리를 몇 개 추가하고 생성된 문서의 정확성을 검증했습니다. AI는 모두를 흥분시키고 부서 간 협업에 훌륭한 기회를 만듭니다.”*라고 Mattia가 덧붙였습니다.
이는 Credit Genie의 엔지니어링 책임자인 Adil Hashem과 내부 AI 도구(LLM 게이트웨이, 맞춤형 CLI, GraphRAG 코드 그래프 포함)를 구축하는 엔지니어링 팀들과 함께한 공동 노력입니다.
오늘날 Credit Genie의 엔지니어링 팀들은 이미 리포지토리와 프로젝트들이 서로 어떻게 의존하는지를 매핑하고 있습니다. 다음 단계는 그 그래프를 OpenWiki로 가져와서 문서가 단순히 리포지토리가 무엇을 하는지만 보여주는 것이 아니라, 다른 시스템과 어떻게 연결되는지, 그리고 변경 사항이 그들 전반에 걸쳐 어떤 파급 효과(ripple)를 일으킬 수 있는지까지 보여줄 수 있도록 하는 것입니다. 이는 Credit Genie의 모든 엔지니어와 코딩 에이전트가 코드 변경을 하기 전에 잠재적 영향 범위(blast radius)를 더 명확하게 볼 수 있게 해줄 것입니다.
OpenWiki 사용해 보기
코드와 함께 최신 상태를 유지하는 문서를 원하시나요? OpenWiki를 사용해 보고 자체 리포지토리에 설정해 보세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 LangChain Blog의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기