매번 처음부터 헤매지 않는 법, EvolveTrade가 프롬프트를 정책으로 진화시키는 방식
고정된 시스템 프롬프트 대신 경험을 먹고 자라는 텍스트 정책을 제안한 EvolveTrade를 해설합니다. Policy Agent의 개선 루프, 도구 사용의 변화, 시장 국면별 적응과 수익률 연결을 따라가 봅니다.
원문 논문 보기
EvolveTrade: Experience-Driven Policy Refinement for Self-Evolving LLM Trading Agents (arXiv:2609.17632)는 arXiv에 공개된 연구로, 도구 사용형 트레이딩 에이전트의 시스템 프롬프트를 고정된 지침이 아니라 경험을 통해 고쳐 쓰는 텍스트 정책으로 다룬 연구입니다. 저자들은 백본 LLM은 그대로 둔 채 의사결정 기록과 실현된 포트폴리오 피드백으로 정책을 주기적으로 개선한다는 주장을 내놓았는데, 이 글에서는 그 구조와 실험 결과를 차례로 따라가 보겠습니다. 원문 논문 링크는 제목 아래에 걸려 있습니다.
안녕하세요, 패트릭입니다.
저는 트레이딩 에이전트 논문을 볼 때마다 비슷한 장면부터 떠올립니다. 아침에 시장이 열리기 전, 어제 늦게 나온 공시 하나 때문에 오늘의 재료가 바뀌어 있는데 에이전트는 어제와 똑같은 체크리스트로 하루를 시작하는 장면이죠. 사람이라면 전날의 실수를 떠올리면서 오늘은 확인 순서를 바꿀 텐데, 많은 LLM 에이전트는 그런 조정이 없습니다. 배포 전에 손으로 써 둔 도구 사용 규칙이 그대로 굳어 있기 때문입니다. 그래서 저는 이 논문의 첫 문장을 보고 멈췄습니다. 행동을 고정된 채로 두지 않고, 행동을 만드는 문장을 진화시키겠다는 발상이었기 때문입니다.
왜 같은 에이전트가 장이 바뀌면 무너질까
여러 사람이 함께 일하다 보면, 누구 한 명이 어제와 같은 방식으로 일하는데 오늘따라 일이 꼬이는 날이 있습니다. 그렇다면 시장을 읽는 AI 에이전트도 비슷하지 않을까요. 실제로 많은 도구 사용형 트레이딩 에이전트는 배포 전에 정한 손글씨 규칙으로 움직이는데, 이 규칙은 처음에는 그럴듯해 보이지만 장의 성격이 바뀌면 금방 낡습니다.
문제는 그다음입니다. 상승장에서는 잘 먹히던 정보 수집 순서가 변동성 장세에서는 오히려 독이 되는데, 에이전트는 그 차이를 스스로 고치지 못합니다. 어떤 도구를 먼저 쓸지, 어떤 신호를 검증 없이 믿을지, 위험이 커졌을 때 비중을 어떻게 줄일지가 전부 고정되어 있기 때문입니다. 저는 이 지점이 트레이딩 에이전트의 진짜 병목이라고 봅니다. 모델이 똑똑해지는 것과는 다른 문제인데, 절차가 배우지 않기 때문입니다.
생각해보면 사람 트레이더도 비슷하게 배웁니다. 한 번은 속보만 믿고 들어갔다가 크게 잃고 나면, 다음부터는 꼭 두 번째 출처를 확인하는 식이죠. 그런데 기존 에이전트에는 이런 오답 노트가 없습니다. 매일이 첫날처럼 시작되니까요. 그렇다면 매일의 경험을 절차로 축적할 수는 없을까요. EvolveTrade는 바로 이 질문에서 출발합니다.

프롬프트를 지침이 아니라 정책으로 보면 뭐가 달라질까
제가 이 논문에서 가장 흥미롭게 본 부분은 용어의 전환입니다. 시스템 프롬프트를 단순한 안내문이 아니라 text-parameterized policy, 즉 텍스트로 표현된 정책으로 부른다는 점이죠. 말이 바뀌면 바라보는 방식도 바뀌는데, 안내문은 한 번 쓰고 마는 것이지만 정책은 고치고 평가하고 다시 배포하는 대상이 되기 때문입니다.
이 차이는 생각보다 중요합니다. 안내문이라고 생각하면 우리는 문장을 예쁘게 다듬는 데 집중합니다. 반면 정책이라고 생각하면 문장이 만든 행동의 결과를 묻게 됩니다. 어떤 문장이 더 나은 정보 수집을 유도했는지, 어떤 절차가 위험 국면에서 손실을 줄였는지 같은 질문이죠. 그래서 저자들은 프롬프트 엔지니어링의 문제를 문장 다듬기가 아니라 정책 개선 문제로 다시 씁니다.
여기서 재미있는 질문이 생깁니다. 가중치를 전혀 건드리지 않고 문장만으로 에이전트가 정말 달라질 수 있을까요. 저는 처음에는 반신반의했는데, 논문을 따라가 보니 답이 보였습니다. 도구 사용 에이전트에서는 문장 몇 줄이 곧 행동 순서이기 때문에, 문장을 고치는 일이 곧 전략을 고치는 일이 됩니다. 어떤 순서로 증거를 모으고, 언제 코드를 돌려 검증하고, 언제 베팅을 줄일지가 모두 그 몇 줄 안에 들어 있으니까요.
이 연구가 파인튜닝과 다른 점은 무엇일까
오해하기 쉬운 지점이 있어서 먼저 짚고 넘어가겠습니다. EvolveTrade는 모델 가중치를 학습시키는 방법이 아닙니다. 백본 LLM은 실험 내내 고정되어 있는데, 바뀌는 것은 재사용 가능한 절차뿐입니다. 어떻게 도구를 쓰고 포트폴리오를 만드는지에 대한 서술이 진화하는 것이죠.
표면적으로 보면 단순합니다. 실제로는 그렇지 않습니다. 가중치를 고정한다는 것은 큰 모델을 다시 학습시키는 막대한 비용 없이도 행동을 바꿀 수 있다는 뜻이기 때문입니다. 저희가 새로운 AI 아키텍처를 볼 때도 벤치마크 숫자만 보지는 않습니다. 실제로 무엇이 바뀌었고, 그 변화가 시스템에서 어떤 비용 구조를 만드는지를 함께 봅니다. 그런 관점에서 보면 이 선택은 꽤 실용적입니다. 무거운 재학습 없이 운영 중인 에이전트의 절차만 갈아 끼울 수 있으니까요.
또 하나 구분할 점은, 이 방법이 특정 종목에 대한 답을 외우는 것이 아니라는 사실입니다. 어떤 종목을 사라가 아니라 어떤 방식으로 알아보고 검증하라는 것을 남기기 때문에, 다른 국면에서도 재사용할 수 있습니다. 저는 이 재사용성이라는 단어를 마음에 담아 두었습니다. 뒤에서 다룰 시장 국면별 실험을 읽는 열쇠가 되기 때문입니다.
경험을 먹는 Policy Agent는 실제로 어떻게 일할까
그렇다면 정책은 누가, 언제, 무엇을 보고 고칠까요. 논문이 제안하는 답은 Policy Agent라는 별도의 개선 주체입니다. 일정한 업데이트 간격마다 지금까지 쌓인 결정 기록(decision traces)과 실현된 포트폴리오 피드백을 모아 시스템 프롬프트를 고쳐 씁니다.
흐름을 시간 순서로 따라가 보면 이해가 쉽습니다. 먼저 트레이딩 에이전트가 현재 정책에 따라 하루하루 증거를 모으고 도구를 호출하면서 매매 결정을 내리는데, 이때 무엇을 조회했고 어떤 계산을 돌렸고 어떤 비중을 선택했는지가 기록으로 남습니다. 그러면 일정 기간이 지난 뒤 Policy Agent가 그 기록 뭉치를 펼치고, 포트폴리오가 실제로 어떻게 움직였는지와 함께 봅니다. 어느 절차가 손실을 키웠고, 어느 검증 단계가 손실을 막았는지를 문장 단위로 되짚는 것이죠. 그리고 그 반성을 바탕으로 다음 기간에 쓸 정책 문장을 새로 씁니다.
개인적으로 인상 깊었던 점은, 이 과정이 사람의 복기와 닮았다는 것입니다. 저도 예전에 주간 회고를 하면서 잘된 결정보다 아쉬웠던 결정의 순서를 먼저 뜯어보곤 했는데, Policy Agent가 하는 일도 크게 다르지 않습니다. 다만 기억에 의존하는 대신 기록과 수익률이라는 비교적 단단한 근거에 기대는 점이 다릅니다. (참고로 여기서 말하는 피드백은 막연한 자기 평가가 아니라 실현된 포트폴리오 움직임과 연결된 피드백인데, 이 연결이 뒤에서 나올 귀인 분석의 토대가 됩니다.)

도구를 쓰는 순서가 바뀌면 에이전트는 어떻게 달라질까
이제 절차의 내용으로 들어가 보겠습니다. 논문이 겨냥하는 것은 적응적 정보 획득, 즉 증거를 어떻게 모으고 도구를 어떻게 부르고 신호를 어떻게 검증하며 위험을 어떻게 관리할지입니다. 말로 하면 평범해 보이지만, 트레이딩에서는 순서가 곧 실력이 됩니다.
예를 들어 아침 장이 열리기 전 유동성이 얇은 시간대를 생각해 보죠. 고정된 정책을 가진 에이전트는 아마 뉴스 검색부터 하고 가격 조회로 넘어가는 정해진 순서를 밟을 겁니다. 그런데 진화된 정책을 가진 에이전트는 먼저 변동성 상태를 확인하고, 변동성이 크면 뉴스 한 줄을 곧이곧대로 믿는 대신 코드로 가격 구조를 계산해 교차 검증하는 단계를 끼워 넣습니다. 같은 도구를 쓰더라도 무엇을 먼저 믿을지가 달라지는 것이죠.
저는 이 숫자보다 그 뒤의 구조가 더 중요하다고 봅니다. 도구가 많아지는 것이 실력이 아니라, 도구를 의심하는 순서가 생기는 것이 실력이기 때문입니다. 특히 가격 급변 국면에서는 도구 호출 한 번의 순서가 손실 규모를 가릅니다. 먼저 계산하고 나중에 믿는 에이전트와 먼저 믿고 나중에 계산하는 에이전트는 같은 모델을 써도 다른 결과를 냅니다. 다시 말하면 같은 두뇌라도 다른 습관이 다른 계좌를 만듭니다.
여기서는 조금 조심해서 읽을 필요가 있습니다. 도구 사용이 늘었다는 사실 자체는 좋은 신호가 아닙니다. 불필요한 조회가 늘면 비용과 지연만 커질 뿐이니까요. 논문이 말하는 것은 호출 횟수가 아니라 국면에 맞는 계산이 켜진다는 점인데, 이 구분을 놓치면 결과를 잘못 읽게 됩니다.
코드로 계산하는 습관은 왜 생겼을까
실험에서 보고된 변화 가운데 제가 오래 눈이 머문 대목은 코드 매개 분석이 늘었다는 관찰입니다. 스스로 진화한 정책들이 텍스트로 된 신호를 그대로 받아 적는 대신, 코드를 돌려서 따져보는 단계를 더 자주 넣기 시작했다는 것이죠.
이유는 어렵지 않게 짐작할 수 있습니다. 말로 된 재료는 그럴듯하지만 흔들리기 쉬운데, 코드로 계산한 값은 같은 입력에 같은 답을 내놓기 때문입니다. 변동성이 큰 날 아침, 속보 헤드라인 하나가 포트폴리오를 흔들 때 계산으로 한 번 걸러주는 절차가 있다면 에이전트는 훨씬 단단해집니다. 논문이 말하는 국면 관련 계산의 활성화도 같은 맥락에서 읽힙니다. 장의 성격에 따라 필요한 검증을 켜고 끄는 감각이 생겼다는 것이죠.
운영 측면에서 보면 이 차이는 상당히 큽니다. 밤사이 공시가 늦게 도착하거나 아침에 특정 종목이 거래 정지에 걸려도 예측 라인은 멈추면 안 되기 때문입니다. 텍스트만 읽는 에이전트는 빈 구멍 앞에서 멈칫하지만, 계산으로 메울 수 있는 에이전트는 구멍을 돌아서 갑니다. 저는 그래서 이 코드 매개 습관을 연구실 점수 이상으로 평가했습니다. 실제 아침 장을 지켜주는 장치에 가깝기 때문입니다.

여러 장세와 두 개의 모델에서 무엇을 확인했을까
그렇다면 이런 습관의 변화가 실제로 돈의 흐름을 바꾸었을까요. 논문의 실험은 여러 시장 국면과 두 가지 LLM 백본에 걸쳐 고정 정책 베이스라인과 EvolveTrade를 비교하는 방식으로 설계되었는데, 이 설계 자체가 말해주는 바가 있습니다. 한 장세에서만 이기면 요행일 수 있지만, 여러 장세에서 반복되면 습관의 승리일 가능성이 커지기 때문입니다.
보고된 결과는 샤프 비율과 누적 수익률이라는 두 축에서 읽힙니다. 샤프 비율은 위험 대비 수익의 효율을, 누적 수익률은 기간 전체의 총합을 보여주는데, EvolveTrade는 평가한 설정 대부분에서 두 지표가 함께 개선되는 모습을 보였다고 합니다. 저는 여기서 함께라는 말에 밑줄을 긋습니다. 수익률만 오르고 변동성이 함께 뛰었다면 위험을 산 채로 산 수익일 텐데, 위험 조정 지표까지 따라왔다는 것은 절차가 단순한 베팅 키우기가 아니라 손실 관리까지 손보고 있다는 뜻이기 때문입니다.
물론 여기서는 해석을 조금 아껴야 합니다. 대부분의 설정에서 개선되었다는 것은 모든 조건에서 이긴다는 뜻이 아닙니다. 장의 성격에 따라 효과가 크고 작을 수 있고, 백본 모델에 따라 진화의 폭도 달라질 수 있습니다. 그럼에도 두 개의 서로 다른 백본에서 같은 방향의 개선이 나왔다는 점은 이 방법이 특정 모델의 우연한 궁합에 기대지 않았다는 방증으로 읽힙니다. 같은 약을 다른 체질에 써도 비슷한 방향으로 반응했다는 것이죠.
정책 한 줄이 수익률로 이어지는 길을 어떻게 증명할까
에이전트 논문을 읽을 때 제가 늘 던지는 질문이 있습니다. 좋은 점수가 정말 정책 덕분일까요, 아니면 그냥 장이 좋아서일까요. 이 질문에 답하지 않으면 모든 개선 주장은 운과 실력을 구분하지 못합니다.
EvolveTrade 연구팀이 사례 수준의 정책 대 수익 귀인 분석을 넣은 이유도 여기에 있다고 봅니다. 정책 문장이 바뀌고, 그에 따라 비중 배분이 바뀌고, 그 배분의 변화가 실현 수익률 차이로 연결되는 고리를 하나하나 추적하는 방식이죠. 예를 들어 변동성 국면에서 검증 절차가 추가되면서 특정 고위험 종목의 비중이 줄었고, 그 비중 축소가 하락 구간에서의 손실을 줄였다는 식의 연결입니다. 문장 변화가 행동 변화를 만들고 행동 변화가 계좌 변화를 만든다는 인과 사슬을 보여주려는 시도입니다.
이 분석 방식이 마음에 드는 이유는, 실패했을 때도 같은 틀로 볼 수 있기 때문입니다. 정책이 바뀌었는데 배분이 그대로라면 정책이 행동까지 닿지 못한 것이고, 배분은 바뀌었는데 수익이 그대로라면 시장의 힘이 더 셌던 것으로 읽을 수 있습니다. 저는 앞으로 보고 싶은 것이 바로 이 실패 사례의 축적입니다. 성공한 귀인 몇 개보다, 정책이 먹히지 않은 국면의 기록이 더 많은 것을 가르쳐 줄 때가 많기 때문입니다.

고정된 절차와 진화하는 절차, 무엇이 갈라놓을까
지금까지의 이야기를 한 번에 놓고 보면 대조가 선명해집니다. 고정 정책 에이전트는 배포일의 지혜에 묶여 있고, 진화 정책 에이전트는 어제의 경험으로 오늘의 절차를 고칩니다. 같은 백본 모델을 쓰더라도 시간이 지날수록 두 에이전트의 간격은 벌어지는데, 그 간격은 모델의 똑똑함이 아니라 절차의 학습 능력에서 옵니다.
생각해보면 사람 조직도 비슷하게 움직입니다. 신입 시절에 받은 매뉴얼만 평생 따르는 사람과, 매 분기 자신의 실수 노트를 매뉴얼에 덧써 넣는 사람은 몇 년 뒤 완전히 다른 사람이 됩니다. EvolveTrade는 후자의 모습을 에이전트에 이식한 셈이죠. 모델을 키우는 대신 매뉴얼을 키운다는 발상이기도 합니다.
그렇다면 이 흐름은 어디까지 갈 수 있을까요. 저는 이 질문을 마지막 섹션으로 미루겠습니다. 그 전에, 이 결과를 읽기 전에 알아두어야 할 조심스러운 대목부터 짚어야 하기 때문입니다.
숫자를 그대로 믿기 전에 무엇을 물어야 할까
좋은 결과 앞에서 잠시 멈추는 것이 제 습관입니다. 특히 트레이딩처럼 운과 실력이 엉키기 쉬운 영역에서는 더 그렇습니다. 그래서 이 실험을 읽으면서 스스로에게 몇 가지 질문을 던졌습니다.
먼저 기간과 국면의 문제입니다. 여러 국면을 썼다는 것은 분명 강점이지만, 어떤 국면을 얼마나 길게 썼는지에 따라 해석이 달라집니다. 급락장이 짧게 스쳐 간 것과 길게 눌러앉은 것은 에이전트에게 전혀 다른 시험이기 때문입니다. 논문의 주장을 받아들이더라도, 이 개선이 내가 걱정하는 바로 그 국면에서 나올지는 따로 따져봐야 합니다.
다음은 비용의 문제입니다. Policy Agent가 주기적으로 정책을 고쳐 쓰는 동안 드는 추론 비용과 지연, 그리고 코드 실행을 늘리면서 생기는 운영 부담은 수익률 숫자 안에 다 들어 있지 않을 수 있습니다. 실제 시스템 관점에서 보면 다음 질문이 바로 생깁니다. 좋아진 샤프 비율이 추가 호출 비용을 치르고도 남을까요. 논문 속 수익률과 운영 장부의 수익률은 같은 숫자가 아닐 수 있습니다.
마지막으로 과적합의 가능성입니다. 과거의 결정 기록과 실현 수익에 기대어 정책을 고치면, 그 정책은 지난 장에 너무 잘 맞는 옷이 될 수 있습니다. 다음 장이 전혀 다른 옷을 요구하면 어떻게 될까요. 연구팀이 재사용 가능한 절차를 강조한 것은 이런 걱정을 덜기 위한 장치로 읽히지만, 그래도 국면 전환 구간에서의 흔들림은 따로 보고 싶습니다. 저는 이 대목을 한계가 아니라 다음 연구를 위한 숙제로 봅니다.

절차를 진화시키는 일이 왜 더 넓게 중요할까
이제 처음에 미뤄둔 질문으로 돌아가겠습니다. 가중치는 그대로 두고 절차만 진화시키는 일이 왜 중요할까요. 저는 답을 세 가지 층위에서 찾았습니다.
첫째는 실용성입니다. 거대 모델을 다시 학습시키는 일은 대부분의 팀에게 무거운 선택인데, 텍스트 정책을 고치는 일은 가볍고 빠르며 되돌리기도 쉽습니다. 잘못된 개정은 이전 버전으로 롤백하면 되고, 잘된 개정은 그대로 다음 기간에 재사용하면 됩니다. 버전 관리의 감각으로 에이전트를 운영할 수 있다는 것이죠.
둘째는 해석 가능성입니다. 정책은 사람이 읽을 수 있는 문장으로 남아 있기 때문에, 왜 에이전트가 그렇게 행동했는지를 나중에 설명할 수 있습니다. 가중치 속 어딘가가 바뀌어서가 아니라, 검증 절차를 추가했기 때문이라는 식으로 말이죠. 금융처럼 설명 책임이 따르는 영역에서는 이 차이가 작지 않습니다.
셋째는 연구 방향의 전환입니다. 그동안 트레이딩 에이전트 연구는 더 좋은 신호나 더 큰 모델에 시선이 가 있었는데, 이 연구는 재사용 가능한 절차라는 세 번째 축을 꺼내 듭니다. 도구를 어떻게 쓰고 위험을 어떻게 다루는지에 대한 서술이 독립적인 개선 대상이 된다는 것이죠. 앞으로의 경쟁은 누가 더 큰 모델을 쓰느냐가 아니라 누가 더 빨리 절차를 배우느냐에서 갈릴지도 모릅니다.
앞으로 무엇을 지켜봐야 할까
그렇다면 사람의 역할은 무엇일까요. 에이전트가 스스로 절차를 고쳐 쓰는 시대일수록 무엇을 고치게 할지 정하는 사람의 일이 더 중요해질 것 같습니다. Policy Agent에게 무엇을 먹일지, 어떤 피드백을 성공으로 칠지, 언제 개입해서 롤백할지를 정하는 것은 여전히 사람의 몫이기 때문입니다.
실제 시스템 관점에서 제가 앞으로 보고 싶은 것은 꽤 구체적입니다. 국면이 급격히 전환되는 구간에서 진화된 정책이 얼마나 빨리 따라오는지, 정책 개정 주기를 짧게 가져가면 비용 대비 효과가 어디서 꺾이는지, 그리고 서로 다른 백본을 넘어 같은 정책이 얼마나 이식되는지가 궁금합니다. 특히 마지막 질문은 실무적으로 중요합니다. 한 모델에서 배운 절차가 다른 모델에서도 통한다면, 절차는 모델보다 오래가는 자산이 되기 때문입니다.
이 글을 쓰는 내내 머릿속에 남은 장면이 하나 있습니다. 장이 열린 직후, 어제와 다른 변동성을 감지한 에이전트가 스스로 검증 단계를 하나 더 끼워 넣는 장면이죠. 거창한 선언 없이 조용히 절차를 고치는 모습입니다. 저는 그 조용한 수정을 이 논문의 가장 큰 수확으로 기억하려 합니다. 모델이 커지는 시대에, 절차가 배우는 법을 보여주었기 때문입니다.
