수익이 났다는 말과 잘 골랐다는 말은 다르다

금융 LLM 에이전트의 배포 효과를 종목 선택 능력과 분리하는 Agent Policy-Value Audit의 발상과 실험을 해설합니다.

원문 논문 보기
'수익이 났다는 말과 잘 골랐다는 말은 다르다' 기사 커버 이미지

오늘 다룰 글은 Agent Policy-Value Audit: Separating Transition Composition from Event Selection in Financial LLM Agents라는 제목으로 arXiv에 공개된 연구이며, 식별자는 arXiv:2610.04040입니다. 이 연구는 금융 LLM 에이전트의 최종 수익을 배포 효과와 이벤트 선택 능력으로 나누어야 한다고 주장합니다. 원문은 제목 아래 링크된 곳에서 확인할 수 있습니다.

그래서 이번 글에서는 그 주장이 왜 나왔는지, 감사가 실제로 어떤 계산으로 이루어지는지, 그리고 723개 어닝 이벤트에서 무엇이 확인됐는지를 순서대로 따라가 보겠습니다.

수익이 났다고 해서 잘 고른 걸까요

안녕하세요, 패트릭입니다.

저는 금융 쪽 에이전트 데모를 볼 때마다 비슷한 장면을 떠올립니다. 화면에는 매매 로그가 올라가고, 마지막 줄에는 플러스 수익이 찍혀 있는데, 그걸 보고 있으면 문득 이런 질문이 듭니다. 그래서 이 에이전트는 종목을 잘 고른 걸까, 아니면 그냥 자리에 자주 앉아 있었던 걸까, 하고요.

제가 이 논문에서 가장 흥미롭게 본 부분은 바로 그 질문을 숫자로 나눴다는 점입니다. 논문이 겨냥하는 현재 관행은 단순합니다. 에이전트의 최종 수익과 기준 전략의 최종 수익을 짝지어서 차이를 구한 뒤, 그 차이가 0과 다른지를 검정하는 방식인데요. 이 검정은 배포하면 결과가 달라지는지를 묻는 데에는 답을 주지만, 어떤 이벤트를 골랐기 때문에 달라졌는지를 묻는 데에는 답을 주지 않습니다.

그런데 평가는 대개 두 번째 질문에 답한 것처럼 읽힙니다. 수익이 플러스이고 검정에서 유의하면 에이전트가 종목을 잘 고른다고 말하고 싶어지죠. 여기서부터 이야기가 어긋나기 시작합니다. 자리를 바꾸는 방식 자체가 수익을 만들 수 있기 때문입니다.

어닝 이벤트를 오가는 에이전트 포지션 변화를 보여주는 개념도
어닝 이벤트를 오가는 에이전트 포지션 변화를 보여주는 개념도

어닝 이벤트 앞에서 에이전트는 실제로 무엇을 할까

이야기를 구체적으로 만들기 위해 어닝 발표 주간을 떠올려 보겠습니다. 미국 소비재 기업 44곳의 실적 발표가 일주일 간격으로 이어지고, 에이전트는 매번 세 가지 중 하나를 고릅니다. 아무것도 들지 않는 flat, 사겠다는 long, 그리고 팔겠다는 short 같은 선택지죠.

여기서 에이전트의 행동은 두 층으로 볼 수 있습니다. 하나는 이번 이벤트에서 무엇을 샀는가이고, 다른 하나는 직전 이벤트에서 이번 이벤트로 넘어오면서 포지션을 어떻게 바꿨는가입니다. flat에서 long으로 바뀌었는지, long을 그대로 유지했는지, long에서 flat으로 빠져나왔는지 같은 변화의 기록이죠. 논문은 이 두 번째 층을 ordered action-change, 즉 순서가 있는 행동 변화라고 부릅니다.

왜 이 구분이 필요할까요. 같은 long이라도 직전에 flat이었는지 long이었는지에 따라 의미가 달라지기 때문입니다. 새로 들어간 long은 그 이벤트의 수익을 통째로 먹는 결정이고, 유지된 long은 이미 탄 흐름에 계속 앉아 있는 결정인데요. 그런데 최종 수익표에서는 이 둘이 그냥 같은 플러스로 합쳐집니다. 저는 여기서 조금 멈칫했습니다. 우리가 에이전트 로그를 볼 때 포지션 변화의 기록을 잘 안 보는데, 정작 수익의 성격은 그 변화 속에 들어 있더라고요.

그렇다면 다음 질문은 자연스럽습니다. 변화의 패턴 자체가 실력 없이도 수익을 만들 수 있을까, 하는 것이죠.

자리를 자주 바꾸는 것만으로 돈이 들어오는 장세

결론부터 말하면 그럴 수 있습니다. 전체 이벤트 풀(pool)이 위쪽으로 기울어져 있으면, 자주 flat에서 long으로 바꾸는 에이전트는 이벤트를 무작위로 골라도 플러스가 납니다.

직관적으로 생각해 보겠습니다. 실적 시즌 전체가 대체로 좋았다고 해보죠. 금요일 장이 끝나고 돌아보면 대부분의 발표 다음날 주가가 조금씩 올라 있었습니다. 이런 장세에서 어떤 에이전트가 유난히 부지런해서 자꾸만 새로 long을 잡았다면 어떻게 될까요. 고르는 눈이 없어서 매번 엉뚱한 종목을 집었다고 해도, 집을 때마다 시장 전체의 상승분을 한 숟가락씩 떠먹게 됩니다. 개별 선택은 틀렸는데 합계는 맞는 이상한 상황이 생기는 것이죠.

사람 일로 비유하면 자리 복권에 가깝습니다. 좋은 강의실에 앉을 확률이 높은 날에는, 자주 강의실을 옮기는 학생이 그냥 앉아 있는 학생보다 좋은 자리에 앉을 가능성이 커집니다. 그 학생이 자리를 잘 고른 게 아니라, 자주 옮겼기 때문에 생긴 일인데요. 그런데 출석표에는 좋은 자리에 앉은 횟수만 남습니다.

논문이 지적하는 함정이 바로 여기 있습니다. 위로 기운 이벤트 풀에서는 행동의 구성(composition) 자체가 수익이 됩니다. 그래서 최종 수익만 보면 부지런함이 안목처럼 보이는 것이죠. 저는 이 숫자보다 그 뒤의 구조가 더 중요하다고 봅니다. 무엇이 수익을 만들었는지를 묻지 않으면, 다음 장세에서는 같은 에이전트가 전혀 다른 결과를 낼 수 있기 때문입니다.

배포 효과와 선택 능력을 나누는 감사 구조 다이어그램
배포 효과와 선택 능력을 나누는 감사 구조 다이어그램

관찰된 행동의 개수는 그대로 두고 순서만 섞어본다면

그렇다면 부지런함의 몫과 안목의 몫을 어떻게 나눌 수 있을까요. 논문이 내놓은 장치는 이름 그대로 감사(audit)입니다. 에이전트가 실제로 한 행동 변화의 개수는 그대로 두되, 그 행동들을 어떤 이벤트에 붙일지만 무작위로 다시 섞는 것이죠.

절차는 이렇게 흘러갑니다. 먼저 에이전트의 전체 기록에서 ordered action-change의 종류별 횟수를 셉니다. flat에서 long으로 몇 번, long에서 long 유지가 몇 번, long에서 flat으로 몇 번 같은 식인데요. 그 다음에는 그 횟수를 고정시킨 채, 각각의 행동을 다시 배치할 수 있는 이벤트들에 무작위로 재배치합니다. 배치할 수 있다는 말은 실제로 그 행동이 가능했던 자리라는 뜻입니다. 예를 들어 새로 long을 잡는 행동은 long을 잡을 수 있었던 이벤트에만 다시 붙입니다.

이 재배치를 여러 번 반복하면 수익들의 분포가 생깁니다. 같은 부지런함, 같은 행동 구성을 가졌지만 운 좋게 좋은 이벤트에 붙었을 수도 있고 운 나쁘게 나쁜 이벤트에 붙었을 수도 있는 수많은 평행 세계의 성적표죠. 그래서 이 평균은 에이전트의 고르는 능력이 아니라 행동 구성이 평균적으로 벌어주는 몫을 보여줍니다. 논문은 이것을 composition benchmark라고 부릅니다.

여기서는 조금 조심해서 읽을 필요가 있습니다. 이 감사는 에이전트가 무엇을 했는지를 지우지 않습니다. 오히려 무엇을 했는지를 꽁꽁 묶어 둡니다. 바꾸는 것은 언제 어디에 붙였는가뿐인데요. 그래서 남는 차이는 꽤 깨끗하게 해석됩니다. 같은 행동을 했는데도 실제 배치가 평균적인 섞음보다 좋았다면, 그 차이는 붙이는 위치를 고른 능력 때문이라고 말할 수 있는 것이죠.

전체 수익에서 구성을 빼면 남는 것이 실력이다

이제 나눗셈은 산수처럼 단순해집니다. 관측된 배포 가치(deployment value)에서 앞에서 구한 구성 기준값(composition benchmark)을 빼면 선택 가치(selection value)가 남습니다.

수식으로 쓰면 한 줄이지만 말로 풀면 이렇게 됩니다. 배포 가치는 에이전트를 실제로 돌렸을 때 손에 쥔 돈입니다. 구성 기준값은 같은 행동 습관을 가진 에이전트가 이벤트를 무작위로 붙였을 때 평균적으로 쥐었을 돈이고요. 그래서 둘의 차이는 습관을 빼고 남은 선택의 몫입니다. 습관이 벌어준 돈과 눈이 벌어준 돈을 분리하는 것이죠.

저희가 새로운 AI 아키텍처를 볼 때도 benchmark 숫자만 보지는 않습니다. 실제로 무엇이 바뀌었고, 그 변화가 시스템에서 어떤 비용 구조를 만드는지를 함께 봅니다. 이 감사도 같은 태도라고 느꼈습니다. 플러스라는 숫자 하나에 박수를 치는 대신, 그 플러스가 어디에서 왔는지를 묻는 것이죠.

한 가지 덧붙이면, 이 분해는 에이전트를 깎아내리기 위한 장치가 아닙니다. 배포 가치가 크다면 그건 그대로 좋은 소식입니다. 다만 그 소식을 두 줄로 쓰자는 제안인데요. 한 줄에는 돌렸더니 이만큼 벌렸다는 사실을, 다른 한 줄에는 그중 얼마가 고르는 능력 때문인지를 적자는 것입니다. 운영 측면에서 보면 이 두 줄은 쓰임이 다릅니다. 전자는 이번 시즌의 손익 보고서에 필요하고, 후자는 다음 시즌에도 이 에이전트를 쓸지를 정할 때 필요하기 때문입니다.

상승 편향 장세에서 잦은 매수가 수익처럼 보이는 원리
상승 편향 장세에서 잦은 매수가 수익처럼 보이는 원리

무작위인데도 실력처럼 보였던 경우를 세어봤다

말은 그럴듯한데, 실제로 효과가 있을까요. 논문은 먼저 일부러 실력이 없는 세계를 만들어서 두 가지 검정을 비교합니다. 실제 어닝 이벤트 수익을 바탕으로 한 반합성(semi-synthetic) 벤치마크에서 선택 능력이 없는 에이전트를 여러 번 되풀이해 돌린 것이죠.

비교 대상은 우리가 흔히 쓰는 방식, 즉 짝지은 수익 차이를 0과 비교하는 검정입니다. 결과는 꽤 뼈아픕니다. 실력이 없는데도 이 검정은 11.6%의 되풀이에서 실력이 있는 것처럼 판단했습니다. 열 번 중 한 번 넘게 거짓으로 합격증을 준 셈인데요. 위로 기운 장세에서 부지런한 행동이 그냥 돈을 벌어다 준 탓입니다.

반면 전환 구성을 맞춘 감사는 같은 실력 없는 설정에서 거짓 합격률을 5.3%까지 낮췄습니다. 절반 이하로 떨어진 것이죠. 저는 이 숫자보다 그 뒤의 구조가 더 중요하다고 봅니다. 무엇을 검정하는지가 바뀌었기 때문입니다. 0과의 비교는 무엇이든 벌어지면 실력이라고 말하지만, 섞음과의 비교는 같은 습관을 가진 무작위 배치보다 잘했는지를 묻습니다. 질문이 바뀌니 오답이 준 것은 당연한 결과라고 할 수 있습니다.

물론 5.3%가 0이 아니라는 점도 봐야 합니다. 무작위 비교를 해도 여전히 일부 거짓 합격이 남는다는 뜻인데요. 그래서 이 감사는 만능 필터가 아니라 더 정직한 자라고 이해하는 편이 좋습니다. 그래도 11.6%에서 5.3%로의 이동은 실무적으로 큽니다. 열 개 중 하나가 틀리는 평가와 스무 개 중 하나가 틀리는 평가는, 에이전트를 고르는 회의실에서 전혀 다른 무게로 느껴지기 때문입니다.

723개 이벤트에서 벌어진 일

이제 실전 기록으로 가보겠습니다. 논문은 미국 소비재 기업 44곳의 723개 어닝 이벤트에 에이전트를 적용했습니다. 여기서 나온 전체 배포 가치는 이벤트당 평균 15.2bp의 플러스였습니다. 언뜻 보면 잘한 장사처럼 보이죠.

그런데 분해를 해보면 표정이 달라집니다. 구성 기준값이 이벤트당 25.8bp였고, 선택 가치는 이벤트당 영하 10.6bp였기 때문입니다. 더하면 15.2bp가 맞습니다. 행동 습관이 벌어준 돈이 25.8bp인데, 고르는 과정에서 10.6bp를 까먹은 셈인데요. 부지런함이 벌어준 잔치에서 안목이 오히려 손해를 본 구조입니다.

이 차이는 생각보다 중요합니다. 최종 숫자만 봤다면 다음 분기에도 이 에이전트를 쓰자고 말하기 쉽습니다. 플러스가 났으니까요. 하지만 나눠서 보면 이야기가 달라집니다. 다음에도 장세가 위로 기울어 있고 에이전트가 같은 습관을 유지한다면 또 플러스가 날 수 있습니다. 그런데 그건 에이전트가 좋아서가 아니라 장세가 좋고 습관이 장세에 잘 맞기 때문입니다. 장세가 뒤집히는 날에는 같은 습관이 같은 크기의 역풍을 맞을 수 있죠.

또 하나 짚을 점은 이 에이전트가 matched random assignment, 즉 같은 행동 구성을 무작위로 배치한 경우들을 detectably, 다시 말해 눈에 띄게 웃돌지 못했다는 사실입니다. 운 좋은 섞음들 사이에 섞어 놓으면 특별히 튀지 않는 성적이라는 뜻인데요. 그래서 논문의 표현은 신중합니다. 실력이 없다고 단정하는 대신, 관측된 기록만으로는 무작위 배치보다 낫다고 말할 근거가 없다고 말합니다. 여기서는 그 신중함이 맞다고 봅니다. 못했다는 증거와 잘했다는 증거가 없다는 말은 다르니까요.

행동 구성을 고정하고 이벤트만 재배치하는 셔플 감사 과정
행동 구성을 고정하고 이벤트만 재배치하는 셔플 감사 과정

같은 행동을 했다는 말을 정확히 세는 법

여기까지 읽으면 이런 의문이 들 수 있습니다. 행동의 개수를 고정한다는 게 정확히 무슨 뜻인가, 하는 것이죠. 이 부분을 조금 더 들여다보겠습니다. 실제 시스템 관점에서 보면 다음 질문이 바로 생깁니다. 무엇을 셌기에 공정한 비교라고 말할 수 있는가, 하고요.

논문이 세는 단위는 단순한 매수나 매도가 아니라 순서가 있는 변화입니다. 직전 포지션에서 이번 포지션으로의 이동이죠. flat에서 long, long에서 long, long에서 flat 같은 것들인데요. 이렇게 세는 이유는 행동의 비용과 노출이 이동마다 다르기 때문입니다. 새로 들어가는 것과 계속 들고 있는 것은 같은 long이라는 글자로 적히지만, 손익에 들어오는 방식이 다릅니다.

그리고 재배치할 때는 갈 수 있는 자리로만 보냅니다. 실제로 그 행동이 가능했던 이벤트에만 다시 배치한다는 조건이 그래서 붙습니다. 아무 데나 섞으면 존재할 수 없는 기록과 비교하게 되는데, 그러면 기준값 자체가 비현실적인 숫자가 되기 때문이죠. 가능한 자리 안에서만 섞어야 같은 습관을 가진 에이전트의 평균이라는 말이 성립합니다.

저는 개인적으로 이 조건이 이 논문의 운영 감각을 보여준다고 느꼈습니다. 평가를 설계할 때 가장 흔한 실수는 비교 대상을 너무 약하게 잡아서 우리 방법이 항상 이기게 만드는 것인데요. 여기서는 반대로 비교 대상에게 같은 습관이라는 강한 무기를 쥐여줍니다. 그 강한 상대와 비겨야 진짜 실력이라고 말하는 것이죠. 평가가 엄격해질수록 통과한 결과의 값어치가 커지는 이유입니다.

이 검사를 빼먹으면 무엇이 무너질까

표면적으로 보면 단순합니다. 실제로는 그렇지 않습니다. 0과의 비교가 무너지는 지점은 생각보다 넓기 때문입니다.

첫째, 장세의 기울기가 숫자 속으로 스며듭니다. 전체 이벤트 풀이 위쪽으로 치우쳐 있으면 flat에서 long으로의 이동이 많은 에이전트는 자동으로 유리해집니다. 반대로 풀이 아래쪽으로 치우쳐 있으면 같은 습관이 자동으로 불리해지고요. 그런데 최종 수익표는 이 기울기를 말해주지 않습니다. 그냥 플러스와 마이너스만 남기는데요. 그래서 기울기가 있는 계절에 번 돈은 실력처럼 보이고, 기울기가 바뀐 계절에 잃은 돈은 갑작스러운 실패처럼 보입니다.

둘째, 기준 전략과의 비교가 이 문제를 자동으로 해결해주지 않습니다. 기준이 가만히 있는 전략이라면, 부지런한 에이전트와의 차이는 선택 능력과 행동 습관이 뒤섞인 채로 남습니다. 차이가 유의하다고 해서 그 유의함이 어디에서 왔는지는 알 수 없죠. 논문이 배포 효과와 선택 가치를 나누자고 말하는 이유가 여기 있습니다. 비교 자체를 없애자는 게 아니라, 비교가 답하는 질문을 정직하게 적자는 것입니다.

셋째, 이 착시는 모델이 좋아질수록 더 잘 숨습니다. 로그가 길어지고 거래가 잦아질수록 최종 수익의 분산은 작아 보이고 검정은 더 쉽게 유의를 선언합니다. 그런데 그 유의함 속에 습관의 몫이 얼마나 들어 있는지는 여전히 모릅니다. 저는 그래서 규모가 커질수록 이 감사가 더 필요하다고 봅니다. 작은 실험에서의 작은 착각은 회의실에서 끝나지만, 큰 배포에서의 큰 착각은 손익으로 이어지기 때문입니다.

무작위 재배치 분포와 실제 관측값을 비교하는 검증 그림
무작위 재배치 분포와 실제 관측값을 비교하는 검증 그림

다음 평가에서는 두 줄을 따로 적자

그렇다면 실무에서는 무엇을 바꾸면 될까요. 논문이 제안하는 답은 의외로 수수합니다. 평가 보고서에 배포 가치와 선택 가치를 따로 적자는 것이죠.

배포 가치는 지금처럼 구하면 됩니다. 에이전트를 돌리고 기준과 비교해서 얼마나 달라졌는지를 적는 것이죠. 이건 운영의 언어입니다. 이번 분기에 돈을 벌었는지, 시스템을 돌릴 값어치가 있는지를 말해줍니다. 선택 가치는 감사로 구합니다. 행동 구성을 고정하고 섞어서 기준값을 만든 뒤, 관측값에서 빼주는 것이죠. 이건 연구의 언어입니다. 에이전트의 고르는 눈이 나아졌는지, 프롬프트를 고친 보람이 있는지를 말해줍니다.

두 줄을 따로 쓰면 의사결정도 갈라집니다. 배포 가치가 좋아서 계속 돌리되, 선택 가치가 나빠서 모델 개선은 따로 해야 한다는 결론이 가능해집니다. 반대로 배포 가치는 별로지만 선택 가치가 좋아서 장세만 맞으면 터질 구조라는 판단도 가능하고요. 한 줄짜리 보고서에서는 이 둘을 구분할 수 없습니다. 잘됐다는 말과 잘한다는 말이 같은 줄에서 뒤섞이기 때문입니다.

여기서 재미있는 질문이 생깁니다. 그렇다면 우리 팀의 에이전트는 어느 줄에 강할까요. 자주 사고파는 에이전트라면 특히 이 질문을 피할 수 없습니다. 장세가 좋을 때 번 돈과 눈이 좋아서 번 돈은 다음 장세에서 전혀 다르게 행동할 테니까요. 저는 앞으로 금융 에이전트 논문을 읽을 때 결과표에서 이 두 줄을 먼저 찾게 될 것 같습니다. 플러스라는 숫자보다 그 플러스의 주소가 더 궁금해졌기 때문입니다.

사람의 역할은 어디에 남을까

처음에 저는 이 논문을 평가 기법 하나로 봤습니다. 읽고 나니 조금 다르게 보입니다. 무엇을 실력이라고 부를지를 정하는 일에 가깝더라고요.

금융에서 에이전트를 쓴다는 것은 결국 책임을 맡긴다는 뜻입니다. 돈을 맡기고, 결정을 맡기고, 설명을 맡기는 것이죠. 그런데 설명이 틀리면 맡기기가 어려워집니다. 습관이 벌어준 돈을 눈이 벌어준 돈이라고 말하면, 장세가 바뀌는 날 설명이 무너집니다. 반대로 두 돈을 나눠서 말하면, 잘될 때의 이유와 못될 때의 이유를 미리 준비할 수 있습니다. 감사는 그래서 숫자 기술이면서 동시에 운영의 언어라고 느꼈습니다.

제가 앞으로 보고 싶은 것은 이 감사가 더 많은 행동 종류와 더 긴 보유 기간으로 확장되는 모습입니다. 이번 연구는 어닝 이벤트라는 또렷한 무대와 순서 있는 행동 변화라는 세기 쉬운 단위를 썼는데요. 실제 운용에서는 보유 기간도 다르고 거래 비용도 들고 포지션 크기도 달라집니다. 같은 발상을 그 복잡한 무대에서 어떻게 유지할지가 다음 관전 포인트라고 봅니다.

그렇다면 사람의 역할은 무엇일까요. 저는 감사 도구를 고르고, 비교 대상을 정직하게 세우고, 두 줄짜리 보고서를 읽는 일이라고 봅니다. 에이전트가 매매를 대신해도, 무엇을 실력이라고 부를지는 여전히 사람이 정해야 하니까요. 이번 글이 그 기준을 세우는 데 작은 자가 되면 좋겠습니다.

실전 평가 체크리스트를 정리한 편집 일러스트
실전 평가 체크리스트를 정리한 편집 일러스트

참고 자료

  1. Agent Policy-Value Audit: Separating Transition Composition from Event Selection in Financial LLM Agents · arxiv.org

    리뷰 원문