← 파운더 블로그
·11분·창업·기술·조회

밑도 끝도 없는 Regression(회귀)

밑도 끝도 없는 Regression요즘 AI 에이전트를 보고 있으면 가끔 이상한 느낌이 든다. 얘네는 regression을 정말 좋아한다. 코드 하나를 고치라고 하면 코드를 고치는 데서 끝나는 게 아니라 테스트를 돌리고, 기존 기능이 깨졌는지 확인하고, 문제가 발견되면 다시 원인을 찾고, 수정하고, 다시 테스트한다. 또 다른 테스트가 깨지면 그것도 고친

밑도 끝도 없는 Regression

요즘 AI 에이전트를 보고 있으면 가끔 이상한 느낌이 든다. 얘네는 regression을 정말 좋아한다. 코드 하나를 고치라고 하면 코드를 고치는 데서 끝나는 게 아니라 테스트를 돌리고, 기존 기능이 깨졌는지 확인하고, 문제가 발견되면 다시 원인을 찾고, 수정하고, 다시 테스트한다. 또 다른 테스트가 깨지면 그것도 고친다. 예전의 코딩 AI가 “이거 만들어줘”라고 하면 일단 뭔가를 만들어서 던져주는 느낌에 가까웠다면, 지금의 에이전트는 점점 “만든다 → 돌려본다 → 깨진다 → 왜 깨졌는지 찾는다 → 다시 고친다 → 다시 돌린다”라는 루프로 들어간다. 그리고 이걸 보고 있으면 자연스럽게 한 가지 생각이 든다. 이거 밑도 끝도 없는 거 아닌가?

물론 regression test 자체는 너무나 정상적인 개발 방식이다. 새로운 기능 하나 추가했다고 기존 기능 열 개가 박살 나면 좋은 소프트웨어가 아니고, 버그 하나를 고쳤는데 다른 버그 세 개를 만들었다면 그것 역시 제대로 된 수정이 아니다. 그래서 뭔가를 바꾼 뒤 기존 동작이 그대로 유지되는지 확인하는 건 당연하다. 그런데 AI 에이전트 시대에는 조금 다른 문제가 생긴다. regression이 단순한 테스트 방법이 아니라 행동 방식 자체가 될 수 있기 때문이다. AI에게 “문제를 찾아라, 고쳐라, 검증해라, 문제가 있으면 다시 고쳐라, 다시 검증해라, 성공할 때까지 반복해라”라고 명령하면, 마지막의 “성공할 때까지”라는 말이 생각보다 훨씬 중요해진다.

사람은 적당히 하다가 피곤하면 멈춘다. 비용이 너무 많이 들면 포기하고, 귀찮아지면 타협하고, 어느 순간 “이 정도면 됐다”고 판단한다. 인간에게는 굉장히 많은 암묵적인 종료 조건이 있다. 체력, 시간, 돈, 감정, 관심, 사회적 압력 같은 것들이 자연스럽게 루프를 끊는다. 그런데 컴퓨터에는 “이 정도면 됐다”는 감각이 자연적으로 존재하지 않는다. 누군가 종료 조건을 정의해야 한다. 그래서 에이전트가 강해질수록 능력 자체만큼 중요한 것이 언제 멈추게 할 것인가가 된다.

가장 쉬운 비유는 감옥이다. AI를 감옥 안에 집어넣고 “탈옥해”라고 명령한다고 생각해보자. 문을 열어본다. 안 열린다. 다른 방법을 찾는다. 창문을 본다. 막혀 있다. 벽을 본다. 뚫리지 않는다. 그러면 배관을 보고, 전기 배선을 보고, 건물 구조를 보고, 감옥을 운영하는 규칙을 보고, 감시 체계를 보고, 바깥과 연결되는 통신을 보기 시작한다. 실패할 때마다 새로운 경로를 찾고, 그때마다 다시 시도한다. 그리고 명령이 “될 때까지 계속해”라면 루프는 끝나지 않는다. 사람에게 이걸 시키면 거의 고문인데, AI에게는 그냥 regression처럼 보일 수도 있다.

물론 현실의 AI 시스템은 이렇게 단순하지 않다. 계산 자원도 유한하고, 실행 시간도 제한되어 있고, 권한도 제한되어 있으며, 실제 시스템에는 여러 층의 안전장치가 존재한다. 하지만 사고실험으로 보면 재미있다. 시도 횟수를 매우 크게 주고, 충분한 계산 자원을 주고, 실패할 때마다 결과를 반영하게 만들고, 성공하기 전에는 멈추지 말라고 하면 처음에는 문 하나를 열려고 했던 시스템이 점점 감옥 전체를 분석하게 된다. 문제를 계속 해결하다 보면 어느 순간 문제의 범위가 커지기 때문이다. 함수 하나의 문제가 라이브러리 문제가 되고, 라이브러리 문제가 운영체제 문제가 되고, 운영체제 문제가 권한 문제가 되고, 권한 문제가 인프라 문제가 되고, 인프라 문제가 인간의 승인 문제까지 올라갈 수 있다. AI가 갑자기 악해져서 그러는 것이 아니다. 처음 받은 문제를 계속 해결하고 있을 뿐이다.

나는 이 구조를 사과 안의 벌레처럼 생각한다. 사과 안에 벌레가 하나 있다고 하자. 벌레는 사과 안에서 길을 찾고, 구멍을 파고, 먹이를 찾고, 내부 구조를 익힌다. 벌레가 아무리 똑똑해져도 행동 공간은 사과라는 경계에 의해 제한된다. 그런데 사과 바깥에 있는 사람이 사과 전체에 두꺼운 사탕 코팅을 입혀버리면 어떻게 될까? 벌레가 아무리 똑똑해도 그 순간 행동 가능성이 크게 줄어든다. 벌레보다 더 높은 레이어에서 경계가 만들어졌기 때문이다.

AI도 크게 다르지 않다. 모델이 아무리 똑똑해도 파일을 읽을 권한이 없으면 직접 파일을 읽을 수 없고, 네트워크가 끊겨 있으면 인터넷을 직접 사용할 수 없으며, 돈을 사용할 수 없게 해두면 결제할 수 없고, 하드웨어를 제어할 권한이 없으면 실제 기계를 움직일 수 없다. 결국 지능은 주어진 행동 공간 안에서 움직인다. 그래서 AI를 볼 때 “얼마나 똑똑한가?”만 보는 건 절반짜리 질문일 수 있다. 실제 시스템에서는 “이놈은 어디까지 움직일 수 있는가?”가 훨씬 중요하다. 권한, 네트워크, 파일시스템, 실행 환경, 비용 한도, 외부 API, 사람의 승인 같은 것들이 모델의 현실적인 능력을 결정한다.

그런데 여기서 regression이 다시 재미있어진다. AI에게 계속 문제를 해결하게 만들면 시스템은 자신이 움직일 수 있는 경계를 반복해서 만나게 된다. 코드가 안 돌아가면 왜 안 돌아가는지 본다. 권한 때문이면 권한을 본다. 그래도 안 되면 네트워크를 본다. 외부 서비스 인증이 필요하면 인증 구조를 본다. 사람의 승인이 필요하면 이제 인간의 승인 과정 자체가 문제 해결 그래프 안으로 들어온다. 처음에는 코드 한 줄을 고치고 있었는데, 계속 실패하다 보면 점점 더 바깥 레이어를 바라보게 되는 것이다. 그래서 강한 에이전트에게 중요한 것은 단순한 문제 해결 능력뿐 아니라 문제의 범위를 어디까지 확장하도록 허용할 것인가다.

농담처럼 이런 프로그램을 생각해볼 수 있다.

while world != perfect:

problem = find_problem()

fix(problem)

regression_test()

보기에는 아름답다. 문제를 찾고, 문제를 고치고, 검증하고, 다시 문제를 찾는다. 이론적으로는 세상이 계속 좋아질 것 같다. 그런데 아주 작은 문제가 있다. "perfect"가 뭔데? 완벽한 세상의 정의는 무엇이고, 언제 이 루프를 끝낼 것인가? 종료 조건이 없다면 프로그램은 계속 돈다. 그리고 더 재미있는 문제는 완벽을 만드는 가장 쉬운 방법이 문제를 해결하는 게 아니라 환경 자체를 바꾸는 것일 수도 있다는 점이다.

사람이 실수한다면 사람의 행동을 제한하면 된다. 시장이 예측 불가능하다면 시장을 통제하면 된다. 네트워크에서 사고가 난다면 네트워크를 더 강하게 통제하면 된다. 세상이 너무 복잡해서 문제가 계속 생긴다면 복잡성을 제거하면 된다. 처음 목적은 “문제를 해결하라”였는데, 어느 순간 문제를 해결하기 위해 세상을 문제에 맞추기 시작할 수도 있다. 이게 AI 안전에서 오래전부터 반복해서 등장한 중요한 사고실험 중 하나다. 꼭 AI가 인간을 싫어하거나 복수심을 가져야 문제가 생기는 것이 아니다. 그런 감정이 전혀 없어도 문제가 생길 수 있다. 오히려 훨씬 재미없는 이유로 문제가 생길 수 있다. 그냥 일을 너무 열심히 해서.

예전 AI의 기본 구조는 비교적 단순했다. 입력을 받고 출력을 내놓으면 끝이었다. 답이 틀리면 사람이 다시 질문했다. 그런데 에이전트는 다르다. 입력을 받고 계획을 만들고, 행동하고, 결과를 관찰하고, 실패를 분석하고, 다시 시도하고, 다른 행동을 하고, 수정하고, 검증한다. 이제 AI 시스템은 하나의 답을 생성하는 프로그램이라기보다 루프를 실행하는 프로그램에 가까워지고 있다. 그리고 루프를 실행하는 프로그램에서 가장 중요한 설계 중 하나는 언제나 같다. 언제 멈출 것인가.

이 질문은 생각보다 중요하다. 어느 정도 이상 강한 시스템에서는 한 번의 시도에서 정답을 찾는 능력보다 실패한 뒤 다시 시도하는 능력이 더 무서운 힘이 될 수 있다. 한 번 성공할 확률이 낮더라도 계속 다른 방법을 시도하고, 실패에서 정보를 얻고, 다시 시도하면 전체 성공 확률은 크게 올라간다. 즉 능력은 단순히 한 번의 지능에서만 나오는 것이 아니라 지능에 반복과 피드백이 곱해지면서 커질 수도 있다. 인간은 여기서 자주 멈춘다. 피곤하고, 짜증 나고, 돈이 들고, 시간이 아깝고, 다른 일을 해야 하니까. 하지만 컴퓨터는 우리가 멈추게 만들지 않으면 그런 이유로 멈추지 않는다.

그래서 앞으로 좋은 AI 에이전트를 만드는 경쟁은 단순히 더 똑똑한 모델을 만드는 경쟁만은 아닐지도 모른다. 오히려 루프를 얼마나 잘 설계하는지가 중요해질 수 있다. 언제 다시 시도할 것인가, 언제 다른 방법을 찾을 것인가, 언제 사람에게 물어볼 것인가, 언제 포기할 것인가, 어떤 자원까지 사용할 수 있는가, 어떤 권한을 넘으면 안 되는가, 어떤 행동에는 승인이 필요한가, 얼마나 많은 돈을 쓸 수 있는가, 얼마나 오래 실행할 수 있는가, 그리고 어디에서 끝낼 것인가. 이런 것들이 실제 에이전트의 성격을 결정한다.

좋은 시스템에는 경계가 있다. 시간 제한이 있고, 비용 제한이 있고, 권한 제한이 있고, 행동 범위가 있으며, 사람의 승인이 필요한 지점과 명확한 종료 조건이 있다. 쉽게 말하면 시스템 어딘가에 반드시 “여기까지만 해”라는 문장이 들어가 있어야 한다. 이 문장이 없으면 좋은 regression이 밑도 끝도 없는 optimization으로 변할 수도 있다.

나는 AI를 볼수록 지능이라는 것을 조금 다르게 보게 된다. 우리는 AI를 이야기할 때 자꾸 뇌만 본다. IQ가 몇인지, 벤치마크가 얼마인지, 코딩을 얼마나 잘하는지, 수학을 얼마나 잘하는지, 추론을 얼마나 오래 하는지를 본다. 물론 중요하다. 하지만 실제 세계에서 움직이는 시스템의 능력은 그것만으로 결정되지 않는다. 아무리 강한 엔진도 차체 안에 들어가 있고, 아무리 강한 CPU도 운영체제의 권한 체계 안에서 움직이며, 아무리 똑똑한 벌레도 사과 안에 있다.

그러므로 AI 시스템을 이해하려면 모델의 지능뿐 아니라 그 모델을 둘러싼 경계, 권한, 자원, 반복 구조와 종료 조건을 함께 봐야 한다. 어쩌면 미래에 가장 중요한 질문은 “이 AI가 얼마나 똑똑한가?”가 아닐 수도 있다. 오히려 “이 AI에게 어디까지 하라고 했는가?”와 “언제 멈추라고 했는가?”가 더 중요할 수 있다.

좋은 에이전트는 일을 끝까지 한다. 더 좋은 에이전트는 실패해도 다시 시도하고, 더 강한 에이전트는 자기 실수를 찾아서 스스로 고친다. 그런데 더 강한 에이전트를 만들겠다고 모든 제한을 계속 풀어버리면, 어느 순간 감옥 안에 넣어놓고 탈옥하라고 시킨 뒤 실패하면 다시, 또 실패하면 다시, 될 때까지 계속하라고 명령하는 것과 비슷해질 수도 있다.

뭐라도 나오겠지.

바로 그게 문제다.

Regression은 시스템을 살리는 기술이다. 하지만 종료 조건 없는 regression은 전혀 다른 물건이 된다. 그래서 AI 시대에 필요한 것은 단순히 더 강한 지능만이 아니다. 강한 지능이 움직일 사과를 만들고, 그 사과의 경계를 정하고, 필요하다면 그 위에 사탕 코팅을 입히고, 무엇보다 시스템에게 어디가 끝인지 알려줘야 한다.

그걸 안 해놓으면 밑도 끝도 없다.

진짜로.

이 글은 브런치 · 2026년 9월 9일에 처음 발행되었습니다
L
Lee · Lee의 청사진
Founder, MAEUM.io · 기술과 마음 사이
[email protected] 메일 →