Vibe Coding (5) 썸네일형 리스트형 [코드리뷰] 리뷰 해줄 사람이 없을 때, LLM 활용하기 Disclamer: 이 문서는 사내용 세미나 진행을 위해, 사외에서 취득 가능한 정보만를 활용하여 사외에서 작성되었습니다.◼︎ 한번 더 우리의 현실우리 조직에서는 한 명이 여러 마이크로서비스를 동시에 개발하는 경우가 많습니다.그러다 보면 코드 리뷰를 맡아줄 동료가 부족하거나, 아예 없는 상황도 생깁니다.가까운 동료에게 부탁 할 수도 있지만, 코드 리뷰를 기다리는 시간으로 인해 개발 프로세스에 병목이 발생하기도 합니다. 이런 상황에서는 코드 품질이 개발자 개인의 역량과 습관에 크게 좌우 됩니다.작은 실수나 구조적 문제를 장기간 안고 가는 경우도 많고, 기술 부채가 눈덩이처럼 쌓이기도 합니다.◼︎ AS-IS 지금은 어떻게?우리의 코드 리뷰는 많은 부분이 아래 처럼 돌아갑니다.코드가 돌아가기만 하면 넘어 간다.. [리팩토링] LLM으로 테스트 불가능한 구조를 개선하기 Disclamer: 이 문서는 사내용 세미나 진행을 위해, 사외에서 취득 가능한 정보만를 활용하여 사외에서 작성되었습니다.◼︎ 문제는 테스트할 수가 없다는 것입니다.대부분의 코드에서 가장 흔히 부딪히는 문제는 "테스트할 수 없는 구조"입니다.데이터베이스 연동, 외부 API 호출, 파일 핸들링 등이 코드에 박혀있으면 단위 테스트는 사실상 불가능합니다.이런 문제를 근본적으로 해결하기 위해서는 다음과 같은 활동이 필요합니다.의존성 분리인터페이스 추출추상화 계층 설계이러한 활동은 프로젝트 구조를 충분히 이해하고, 경험이 많은 개발자가 수동으로 직접 해내야 했습니다. 불가능한 것은 아니지만 비용이 크고 시간이 오래 걸리는 활동입니다.이러한 활동을 기반으로 테스트 가능한 구조를 확보하는 리팩토링을, 이제는 LLM을.. [리팩토링] LLM으로 운영 중인 코드, 안전하게 리팩토링하기 Disclamer: 이 문서는 사내용 세미나 진행을 위해, 사외에서 취득 가능한 정보만를 활용하여 사외에서 작성되었습니다.◼︎ 우리의 현실은리팩토링 자체가 어렵거나 힘든 작업은 아닙니다. 하지만 우리가 마주한 환경은 그렇게 쉽지만은 않은 것 같습니다.우리가 마주하는 어려움은 보통 이런 항목들 입니다.코드가 이미 배포되어서 운영 중이다.그런데 이 코드에 테스트 코드가 없거나 있더라도 매우 부족하다.리팩토링을 하다가 서비스 장애가 발생하면, 곧 바로 유관 부서 혹은 현장에서 피드백이 발생한다.일부 프로젝트에서는 불량 유발이나, 설비 고장으로 이어질 수 있다.우리가 이런 상황에서 마음편히 LLM에게 "리팩토링 해줘"라고 요청할 수 있을까요?따라서 운영 중인 코드를 리팩토링하는 것은 "변경 범위를 최소화" + .. [리팩토링] LLM을 사용하여 목적 기반으로 리팩토링 수행하기 Disclamer: 이 문서는 사내용 세미나 진행을 위해, 사외에서 취득 가능한 정보만를 활용하여 사외에서 작성되었습니다.◼︎ 목적 기반 리팩토링: "그냥 고치지 말고, 이유가 있어야 한다"목적 기반 리팩토링(goal-oriented refactoring)이란 용어는 소프트웨어 공학에서 공식적으로 사용하는 용어는 아닙니다.그런데 LLM을 사용하여 리팩토링을 진행하다 보면, 왜 리팩토링의 "목적"이 중요한지 어렵지 않게 체감할 수 있습니다.사내 LLM에게 대규모 코드베이스를 대상으로 리팩토링을 요청하거나, 단순히 "리팩토링 해줘"와 같은 목적이 불분명한 요청을 하면,주어진 맥락과 목적을 스스로 해석한다거나, 갈피를 못잡고 산만해지는 경우를 마주합니다. 이는 본래의 의도와는 다른 방향으로 코드를 변경하는 결.. LLM 성능 한계를 개선하기 위한 방법 (prompt 전략) Disclamer: 이 문서는 사내용 세미나 진행을 위해, 사외에서 취득 가능한 정보만를 활용하여 사외에서 작성되었습니다.◼︎ 왜 이 문서를 쓰게 되었나?최근 새로운 모델의 도입으로 많은 부분이 개선되었지만, 사내에 배포된 LLM은 외부의 최신 모델에 비해 학습 데이터, 파라미터 수, 튜닝 수준이 부족할 수 있습니다. 이로 인해 답변이 모호하거나, 코드가 불완전하거나, 실제 업무 상황과 맞지 않은 경우가 있습니다. 이 문서에서는 사내 LLM의 "충분히 만족스럽지 않은 답변을 어떻게 극복할 것인가?"에 대한 이야기를 나누어 봅니다. 이후에 다루는 주제들에서 사내 LLM을 활용하여 실습을 진행하기 위해서는 이 부분에 대한 고민이 선행되어야 된다고 생각하여 첫 주제로 작성하게 되었습니다. 이후 부터 작성되는 .. 이전 1 다음