· 톺아보기

AI 로 클리앙 인프라 관리하기 2탄.

운영자 ·

조회 1,609 · 공감 19 · 댓글 15

지난번 보안에 이어, 이번에는 클리앙 자바 시스템을 도메인별로 나눠 AI와 같이 관리하는 이야기입니다.


1탄  링크 : https://www.clien.net/service/board/park/19279786CLIEN


클리앙 시스템은 웹 화면 서버, API 서버, 관리자 서버, 그리고 올해 나온 앱으로 되어 있습니다. 서버 코드는 2016년부터 이어져 와서 자바 파일만 1,300개쯤, 화면 템플릿이 500개쯤 됩니다.

이걸 AI에게 맡기면 컨텍스트가 부족해서 엉뚱한 결과를 냅니다.  매번 처음부터 읽고, 읽다가 기억할 수 있는 양을 넘기고, 세션이 끝나면 다 잊습니다.  


그래서 전체 지도부터 그리기로 합니다..


문서만 담는 저장소를 따로 두고, 원칙은 한 줄로 정했습니다. "전체 코드를 매번 다시 분석하지 않고, 지도를 보고 이어서 개발한다." 지도는 세 층입니다.

  • 도메인 15개: 게시판, 댓글, 로그인, 마이페이지, 검색, 쪽지, 알림, 신고, 소모임, 장터 등
  • 시나리오 카드 57장: 기능 하나가 지금 어떻게 동작하는지. 어디로 들어와 어떤 조건에서 갈리고, 무엇을 바꾸고, 다른 기능에 무슨 영향을 주는지까지. PC·모바일 화면과 앱 경로도 같이 봅니다
  • 계약 문서 13개: 여러 화면과 앱이 같이 지켜야 하는 약속


AI는 일할 때 카드 한 장과 그 카드가 가리키는 파일만 엽니다. 카드의 문장에는 코드로 확인한 것, 실제로 돌려 본 것, 추정한 것을 구분하는 표시를 붙입니다. AI가 "확인했다"고 말하는 것과 실제로 확인한 것을 구분하려고요.


지키는 규칙도 몇 가지 있습니다.

  • 작업 크기만큼만 읽고, 그만큼만 남깁니다. 문구나 색 바꾸는 일이면 문서를 남기지 않고, 여러 저장소를 같이 바꾸는 큰 일이면 따로 프로젝트 문서를 만듭니다.
  • 카드에는 지금 실제로 동작하는 것만 두고, 진행 중인 설계와 결정은 프로젝트 문서에 뒀다가 배포가 끝나 안정되면 확정된 내용만 카드로 옮깁니다. 결정 기록에는 채택하지 않은 안과 그 이유, 이 결정이 깨지는 조건까지 적습니다. 지금까지 프로젝트 40여 개, 결정 기록 110여 건이 쌓였습니다.
  • 문서에 없던 동작을 찾으면 코드보다 카드에 먼저 적습니다. 오래된 시스템에는 코드 어디에도 '규칙'으로 적혀 있지 않은 동작이 꼭 있습니다. 머릿속에만 있던 규칙 하나가 문서가 되면, 다음 사람도 다음 AI 세션도 같은 자리에서 헤매지 않습니다.
  • 문서에 클래스 이름이나 파일 경로를 적으려면 그 파일을 먼저 엽니다. "검토만 해 줘" 같은 요청도 예외가 아닙니다.


최근에 다크 모드에서 글쓴이가 고른 글자색과 배경색이 잘 보이도록 맞춰 주는 보정을 넣었는데, 이것도 같은 순서였습니다. 지금 다크 모드가 본문을 어떻게 그리는지부터 카드에 적고, 공개 글 표본을 실제로 렌더링해서 보정 대상을 셌습니다. 저장된 글은 건드리지 않고 화면에 그릴 때 밝기만 옮기기로 정한 뒤, 배포하고 나서 공개 글 87개를 PC와 모바일 다크 모드로 다시 열어 대비가 부족한 본문 글자가 남지 않은 걸 확인했습니다. 앱에도 최신 버전부터 같은 보정이 들어 있습니다.


전환한지 석 달, 문서 저장소에 커밋이 400개 넘게 쌓였고 대부분 AI와 같이 썼습니다. 내부 개발자가 같은 지도를 보고 일하고, 새 작업을 어디서부터 봐야하는지도 잘 합니다. 다만 주기적으로 문서를 검증하고 낡은 문서를 찾아 업데이트해줘야 합니다.


사실 지금의 클리앙 시스템을 설계했던 10년 전에는 원대한 꿈을 꾸고 설계에만 2년 가까이 들였고, 앞으로 이것저것 붙일 걸 염두에 두고 확장을 넉넉하게 잡았습니다. 게시판으로 쓰기에는 상당히 오버스펙인 시스템이었죠. 그때만 해도 하고 싶은 것들이 많았지만, 현실적인 문제들 때문에 하지 못하고 넘어간 것들이 많았습니다. 지도가 생기고 AI와 같이 일할 수 있게 되면서, 그때 미뤄 뒀던 것들을 이제 하나씩 할 수 있게 되었습니다.


다음 편은 인프라 운영을 AI 중심으로 옮긴 이야기입니다.

댓글 15

  1. 강걸우 ·
    이거 공지 아니죠? 쩐다.. 이거는 킾해두고 읽어야겠네요. 쪼아보면서 읽겠습니다.
  2. 낫어몬스터 · · 공감 1
    좀 있으면 게시판 관리도 AI 가 하는 것은 생전에 볼 수도 있겠어요^^.
  3. 운영자 ·
    @낫어몬스터님
    Coming Soon!
  4. 보약한첩 ·
    오랜만에 사이퍼님 글이네요
    글 자주 올려주세요
  5. 보약한첩 ·
    저도 회원 규칙을 ai에게 학습시켜서. 이제 어떤 글이 문제가 되는지 명확히 알게되었습니다. 그리고 ai 브라우저 aside 로 클리앙 내용을 파악해달라고 지시하다가. ip차단이 되기도 하더군요. 크롤링 봇으로 탐지 되었나 봅니다.

    이제는 ai가 규제위반 게시물 신고도 대신 해줄수 있겠어요. 신고에대한 검토도 하고요
  6. 단축키 ·
    우와 능력자시다 했는데 운영자시네요 ㅎ
  7. TLDR · · 공감 4
    주말 분탕러 좀 실시간 대응해 주십시오.
  8. Juzis ·
    진화하는 사이트 너무 좋아유
  9. 콩쓰v ·
    지도가 핵심이군요!
  10. PICOPIO ·
    글 중간에 "환장할 노릇입니다" 가 나올 것 같은 문체입니다.
    그래서 발상을 뒤집으셨군요.

    늘 감사합니다. ^^
  11. 운영자 ·
    @PICOPIO님 쇼츠로 만들면 좀 팔릴까요? ^^;
  12. PICOPIO ·
    @운영자님
    활력이 회원들까지 전달이 되는 것 같아 너무 보기 좋습니다.
    자바 생태계를 떠나야 하나는 고민해 보신 적 없으신가요?
    환장할 노릇인인 부분이 있었을 것 같은데.. ㅎㅎ
  13. 운영자 ·
    @PICOPIO님 정말 여러가지 플랫폼을 검토했지만 결국 다시 자바로 돌아오더군요. 최근엔 코틀린 기반으로 리빌딩도 검토중입니다.
  14. PICOPIO ·
    @운영자님
    네. 앞으로도 발상 뒤집는 글들 자주 올려 주세요. 무엇보다도 재밌습니다.
    아, 테이블 리프트는 구매 하셨나요?
  15. 맨땅헤딩 ·
    대장님, 오… 오타는요?

모두의공원 최근 글

모두의공원 목록 더 보기