
작은 작업에서는 지침과 기존 결정을 잘 따르던 AI 에이전트가 대규모·레거시 코드베이스에서는 시간이 지날수록 앞선 결정을 뒤집거나 이미 제외한 패턴을 다시 적용할 수 있다. Loopsfinity는 이를 유한한 컨텍스트 창에 작업 정보가 쌓이며 관련 맥락이 희석되는 ‘컨텍스트 로트(context rot)’로 설명한다.
모델은 코드, 지침, 작업 중 내린 결정을 한정된 컨텍스트 창에 담아 추론한다. 작업이 커지면 오래된 정보가 창에서 밀려나거나 손실이 있는 요약으로 바뀐다. 창 안에 정보가 남아 있어도 관련 없는 내용이 늘어나면 필요한 신호가 희석될 수 있다. 레거시 시스템은 기능마다 암묵적 제약과 중요한 이력, 서로 얽힌 코드가 많아 이 문제가 더 일찍 나타날 수 있다고 Loopsfinity는 주장한다.
증상은 긴 작업 중 앞서 선택한 방식과 맞지 않는 결정을 내리거나, 제외하라고 한 내용을 다시 적용하거나, 다른 파일에 있는 불변 조건을 깨뜨리는 변경을 하는 것이다. 답변이 유창하더라도 근거가 오래된 상태에 기반할 수 있어, 그럴듯하지만 틀린 결과로 이어질 수 있다. 관련 사례는 그럴듯하지만 틀린 코드에서 다룬다.
대응책으로는 저장소 전체를 한꺼번에 제공하기보다 변경 대상 모듈과 관련 규약 등 필요한 맥락만 골라 제공하고, 큰 작업을 경계가 분명한 작은 단계로 나누는 방법을 제안한다. 각 단계를 확인한 뒤 다음 단계로 넘어가고, 중요한 결정을 내리기 전에는 기억에 의존하지 말고 실제 코드의 현재 상태를 다시 확인하는 방식이다. 컨텍스트 창은 채워 넣을 공간이 아니라 정보가 많아질수록 신호가 희석되는 비용까지 고려해 관리할 예산이라는 설명이다. 관련 논의는 코딩 에이전트를 위한 컨텍스트 엔지니어링, 프롬프트보다 근거가 중요하다, 아키텍처 제약으로서의 컨텍스트 창에서 확인할 수 있다.
다만 이런 방법은 컨텍스트 로트의 발생을 늦출 뿐 없애지는 못한다. 분해하기 어려울 만큼 크고 서로 얽힌 작업이나 관련 범위가 시스템 전체에 가까운 레거시 코드에서는 필요한 맥락을 신중히 골라도 한계가 있다. 맥락을 과도하게 줄이면 필요한 세부 사항을 놓칠 수도 있어, 무엇을 남길지는 판단과 실험이 필요하다는 것이 Loopsfinity의 설명이다. 대규모 코드베이스에서 에이전트를 운용할 때 겪는 문제는 데모에서 실제 운영으로 넘어갈 때의 간극과 AI 코딩 에이전트가 실제 환경에서 실패하는 이유에서도 다룬다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요