AEL: Agent Evolving Learning for Open-Ended Environments
https://arxiv.org/abs/2604.21725
Wujiang Xu, Jiaojiao Han, Minghao Guo, Kai Mei, Xi Zhu, Han Zhang, Dimitris N. Metaxas | Rutgers University; Independent Researcher | arXiv:2604.21725v1 | 2026년 4월 23일 제출
1. 서론: 경험을 쌓아도 매번 거의 처음부터 푸는 에이전트의 역설
대규모 언어모델 기반 에이전트는 이제 코딩, 웹 탐색, 데이터 분석, 연속 의사결정처럼 여러 에피소드에 걸친 오픈엔디드 환경에 투입된다. 그런데 실제 구현을 보면, 에이전트는 과거 경험을 오래 축적하더라도 다음 에피소드에서 그것을 안정적으로 활용하지 못하는 경우가 많다. 메모리를 붙이고 반성을 추가했는데도 행동 자체는 여전히 준-정적(stateless)이며, 에피소드가 끝날 때마다 사실상 새로 시작하는 것처럼 보인다는 점이 이 논문의 출발점이다. 저자들은 바로 이 간극, 즉 경험 보유와 경험 활용 사이의 단절을 정면으로 겨냥한다.
기존 연구는 분명 자기개선의 실마리를 보여 주었다. Reflexion은 자기비판을 누적했고, ExpeL은 에피소드에서 교훈을 추출했으며, EvoTool은 도구 사용 정책을 진화시켰다. 하지만 이 계열의 방법은 대체로 하나의 모듈만 움직이고 나머지는 고정한다. 실제 에이전트 성능은 계획 모듈, 도구 호출, 메모리 검색이 서로 맞물려 생기는데, 한 축만 바꾸면 다른 축과의 상호작용은 설명되지 않는다. 저자들이 보기에 자기개선 에이전트의 핵심 난제는 더 많은 경험을 모으는 일만으로는 부족하며, 여러 모듈이 함께 만드는 성능 변화의 원인을 어떻게 나눠 해석할 것인가다.
이 문제 설정 위에서 제안된 것이 AEL, 즉 Agent Evolving Learning이다. AEL의 메시지는 놀랄 만큼 단순하다. 빠른 시간축에서는 Thompson Sampling bandit이 이번 에피소드에서 어떤 memory retrieval policy가 적절한지 고르고, 느린 시간축에서는 LLM reflection이 최근 실패 패턴을 모아 왜 틀렸는지를 진단한다. 그리고 진단이 구조적 문제라고 판단될 때만 새로운 retrieval policy를 추가한다. 다시 말해 AEL은 무턱대고 더 많은 모듈을 진화시키기보다, 언제 선택을 학습하고 언제 구조를 바꿀지를 분리한다.
Figure 1: Figure 1(a). 기존 자기개선 방법의 단일 모듈 진화 패널. planner와 memory는 고정하고 tools 같은 한 모듈만 바꾸는 관행을 요약한다.
Figure 1(a)는 기존 계열의 한계를 압축해서 보여 준다. 그림의 요점은 선행 방법이 무언가를 배운다 하더라도 대체로 단일 모듈 중심이라는 사실이다. 도구를 진화시키면 메모리는 고정되고, 반성 규칙을 누적하면 planner는 고정된다. 이렇게 되면 성능이 올라도 어떤 상호작용이 실제 원인이었는지 분리하기 어렵고, 반대로 실패했을 때도 어느 축이 병목인지 판별하기 어렵다. 논문이 말하는 multi-module credit assignment 문제가 정확히 이 그림에서 시작된다.
Figure 2: Figure 1(b). AEL의 coupled system 패널. planner, tools, memory를 분리된 장치가 아니라 하나의 상호작용 시스템으로 보고, 빠른 선택과 느린 진화를 결합한다.
Figure 1(b)는 AEL이 문제를 보는 관점을 드러낸다. 저자들은 에이전트를 planner, tools, memory의 단순 합을 넘어 결합 시스템으로 취급한다. 그래서 빠른 시간축에서는 현재 상태에 맞는 검색 방식을 고르고, 느린 시간축에서는 누적된 trajectory를 바탕으로 실패 원인을 해석한 뒤 필요한 경우에만 구조를 바꾼다. 중요한 점은 기본 설정에서 planner와 tools는 고정이고 memory policy만 학습한다는 것이다. 이 선택이 후반의 핵심 메시지인 less is more와 직접 연결된다.
논문이 금융 포트폴리오 할당을 실험 무대로 택한 것도 의미가 있다. 이 환경은 매 에피소드마다 객관적인 보상이 있고, regime shift가 잦으며, 같은 도구 조합도 장세에 따라 가치가 달라진다. 따라서 단순히 정답 문장을 생성하는 문제가 아니라, 과거 신호를 어떤 방식으로 다시 불러와 현재 의사결정에 접속할지가 성능을 좌우한다. 저자들은 바로 이런 조건이 메모리 검색 정책과 반성 메커니즘의 유효성을 보기 좋은 스트레스 테스트라고 주장한다.
결과만 먼저 말하면 AEL은 다섯 개 시드 평균에서 Sharpe 2.13 ± 0.47, Sortino 4.08 ± 1.11, Calmar 10.40 ± 2.75를 기록하며 비교군 전체를 앞선다. 특히 가장 강한 자기개선 베이스라인이었던 EvoTool의 Sharpe 1.37 ± 1.74보다 평균이 높을 뿐 아니라 분산도 훨씬 작다. 이 차이는 단순한 leaderboard 갱신을 넘어, 경험을 어떤 형식으로 얼마나 저장하느냐보다 경험을 언제 어떤 렌즈로 해석하느냐가 더 중요하다는 메시지로 읽힌다.
따라서 이 글에서 볼 포인트는 세 가지다. 첫째, AEL이 왜 기본 설정에서 굳이 memory policy 학습만 남기고 다른 적응 축을 꺼 두는지. 둘째, reflection이 단순 회고문이 아니라 bandit이 선택한 경험 사용법을 보정하는 진단 계층으로 어떻게 작동하는지. 셋째, 왜 더 정교해 보이는 planner evolution, per-tool selection, FCC, LLM-FCC가 오히려 성능을 떨어뜨렸는지다. 이 세 질문에 답하는 과정이 곧 이 논문의 기여를 이해하는 가장 빠른 길이다.
2. 배경 및 관련 연구: 단일 모듈 진화와 신용할당 문제의 간극
2.1 planner·tools·memory를 따로 최적화해 온 흐름
현대 LLM agent는 대체로 세 개의 축으로 설명된다. planner는 어떤 순서로 생각하고 어떤 도구를 호출할지 결정하며, tools는 외부 API와 계산기를 통해 환경 정보를 끌어오고, memory는 과거 에피소드의 경험을 저장해 다음 의사결정에 연결한다. 문제는 실제 시스템이 배포된 뒤에는 이 세 축이 동시에 학습되지 않는 경우가 많다는 점이다. planner를 조금 바꾸면 memory 사용법이 달라지고, tool 구성이 달라지면 planner의 reasoning 습관도 달라지는데, 기존 연구는 이 상호작용을 전체 시스템 관점에서 다루지 못했다.
대표적으로 Reflexion은 실패 후 자기비판을 텍스트로 남겨 이후 프롬프트에 붙인다. Voyager는 skill library를 구축해 새로운 과제에서 과거 스킬을 재사용한다. ExpeL은 lesson을 저장하지만 검색은 비교적 단순한 매칭에 의존한다. Meta-Reflexion은 반성 결과를 규칙으로 정제해 procedural한 형태에 가까운 메모리를 만들지만, planner나 tool 자체를 진화시키지는 않는다. 반면 EvoTool은 blame-aware mutation으로 도구 사용 정책을 바꾸지만 memory는 비어 있다. FactorMiner는 경험과 스킬을 함께 다루지만 retrieval policy를 온라인으로 학습하지는 않는다.
이 흐름을 관통하는 공통점은 모듈별 성능 향상은 보여 주지만, 모듈 간 상호작용을 다루는 자기개선까지는 나아가지 못했다는 점이다. 예를 들어 어떤 에피소드에서 좋은 결과가 나왔더라도 그것이 planner의 reasoning 덕분인지, 특정 tool 조합 덕분인지, 아니면 memory retrieval 형식이 적절했기 때문인지 분리하기 어렵다. 더욱이 오픈엔디드 환경에서는 현재 장면과 닮은 과거를 정확히 어떻게 불러왔는지가 성능을 크게 좌우한다. AEL은 바로 이 지점에서 기존 접근들을 재배치하며, 메모리 검색 정책 학습을 중심축으로 삼는다.
| Method | Memory | Retrieval Learning | Diagnosis | Dual Scale | Policy Evol. |
|---|---|---|---|---|---|
| Reflexion | Context | – | – | – | – |
| Voyager | Skills | – | – | – | – |
| ExpeL | Lessons | – | – | – | – |
| Meta-Reflexion | Rules | – | – | – | – |
| EvoTool | – | – | blame | – | tools |
| FactorMiner | Experience | – | – | – | – |
| AEL | 3-tier memory | ✓ | ✓ | ✓ | ✓ |
표 1을 보면 AEL의 위치가 선명해진다. 3-tier memory, retrieval learning, causal diagnosis, dual timescale, policy evolution이 모두 동시에 체크된 방법은 AEL 하나뿐이다. 물론 이것이 곧 모든 모듈을 적극적으로 진화시킨다는 뜻은 아니다. 오히려 논문이 흥미로운 이유는, 이런 기능적 가능성을 갖고도 실제 최적 구성은 훨씬 보수적이라는 사실을 실험으로 보였다는 데 있다. 즉 AEL의 차별점은 기능의 수가 아니라, 어떤 기능을 언제 켜야 하는지까지 학습 대상으로 삼았다는 점이다.
2.2 bandit과 credit assignment가 왜 핵심 병목이 되는가
Contextual bandit과 Thompson Sampling은 행동 하나를 빠르게 선택하고 즉시 보상으로 업데이트할 수 있다는 점에서 연속 의사결정 에이전트와 잘 맞는다. AEL이 특히 memory retrieval policy에 Thompson Sampling을 붙인 이유도 여기에 있다. 이 문제는 planner 전체를 재학습하거나 tool 세트를 조합적으로 탐색하는 것보다 작은 행동 공간을 가지며, 동시에 에피소드마다 즉시 성패를 관측할 수 있다. 즉 어떤 과거를 어떤 형식으로 보여 줄 것인가는 bandit으로 학습하기에 적당한 층이다.
반대로 credit assignment는 훨씬 까다롭다. planner, tools, memory가 한 번의 에피소드 결과를 함께 만들기 때문에, 어느 모듈에 얼마나 공헌을 돌려야 할지 분해하기 어렵다. 논문은 이를 해결하기 위해 uniform credit, FCC, LLM-FCC를 비교한다. FCC는 structural credit, counterfactual credit, Shapley-style attribution을 섞어 보다 원리적인 분해를 시도하고, LLM-FCC는 내용 인지형 판단을 덧붙인다. 하지만 데이터가 208 에피소드 수준으로 짧고 노이즈가 큰 환경에서는 이런 정교한 분해가 오히려 오차를 키울 수 있다.
이 대목이 논문의 중요한 negative result다. 우리는 보통 더 복잡한 attribution이 더 나은 학습 신호를 줄 것이라 기대하지만, AEL의 실험은 그 반대를 보여 준다. uniform credit가 가장 강하고, FCC와 LLM-FCC는 모두 성능을 떨어뜨린다. 이는 자기개선 에이전트에서 무엇을 학습할까 못지않게 학습 신호를 얼마나 거칠게 둘까가 중요하다는 뜻이다. 저자들은 이를 통해 short-horizon high-noise domain에서 신용할당은 아직 열린 문제이며, 현재로서는 과도한 정교화보다 안정적이고 단순한 업데이트가 낫다는 결론을 제시한다.
3. 방법론: Agent Evolving Learning
3.1 두 시간축 위에서 돌아가는 coupled system
AEL은 에피소드 스트림 $\{e_t\}_{t=1}^{T}$ 위에서 동작하며, 이를 두 개의 시간축으로 나눈다. fast timescale은 크기 $N$의 짧은 윈도우에서 bandit이 memory retrieval policy 선호를 빠르게 업데이트하는 층이고, slow timescale은 훨씬 긴 윈도우 $M \gg N$에서 reflection과 memory consolidation을 수행하는 층이다. 에이전트는 각 에피소드마다 구성 $c_t=(p_t,z_t,m_t)$를 갖지만, 기본 AEL 설정에서는 $p_t$와 $z_t$를 고정하고 $m_t$만 학습한다. 즉 planner와 tools를 얼려 둔 채, 어떤 기억을 어떤 형식으로 쓰는지가 주된 적응 대상이다.
이 설계의 논리는 분명하다. 오픈엔디드 환경에서 가장 먼저 필요한 것은 모든 모듈을 동시에 변형하는 것이 아니라, 현재 보유한 경험을 사용하는 인터페이스를 안정화하는 일이다. planner와 tools를 자주 바꾸면 memory에서 얻은 개선과 새 모듈의 효과가 뒤섞여 원인 분해가 어려워진다. 반면 retrieval policy는 기존 시스템의 바깥에서 비교적 국소적으로 바뀌므로, 에피소드별 보상과 직접 연결하기가 쉽다. 저자들이 AEL을 diagnose-before-prescribe 구조라고 부르는 이유도 여기 있다. 먼저 무엇이 문제였는지 진단하고, 그 다음에야 필요한 경우에만 구조를 바꾼다.
Figure 3: Figure 2. AEL 전체 프레임워크. 빠른 시간축의 Thompson bandit, 느린 시간축의 reflection과 evolution, 그리고 배포 시점의 frozen inference pipeline을 한 그림으로 묶는다.
Figure 2는 AEL의 핵심 동작을 가장 잘 요약한다. 왼쪽의 fast loop는 에피소드 단위 선택에 집중하고, 오른쪽의 slow loop는 여러 에피소드가 누적된 뒤에만 reflection과 memory distillation을 수행한다. 그리고 아래 deployment 단계에서는 bandit posterior, memory write, evolution을 모두 동결(frozen)한 채 읽기 전용 memory retrieval만 유지한다. 이 분리는 학습 과정의 적응성과 테스트 과정의 공정성을 동시에 확보하기 위한 장치이며, 논문이 강조하는 frozen test-phase protocol의 시각적 근거이기도 하다.
3.2 fast timescale: Thompson Sampling으로 memory policy를 고르기
AEL의 중심 온라인 메커니즘은 memory-policy selection이다. 초기에는 다섯 개의 retrieval policy가 준비되어 있고, 각 policy $m$은 Beta posterior $\mathrm{Beta}(\alpha_m,\beta_m)$를 갖는다. 에피소드 $t$마다 bandit은 각 팔에서 샘플 $ ilde{\mu}_m$을 뽑아 가장 큰 값을 낸 policy를 선택한다. 이후 에피소드 보상으로부터 계산한 $ ilde r_t$를 이용해 posterior를 업데이트한다. 이 과정은 어떤 메모리가 좋은가를 직접 학습하는 것이 아니라, 어떤 방식으로 메모리를 조회하는 것이 현재 단계에 적합한가를 학습한다는 점이 중요하다.
$$ ilde{\mu}_m \sim \mathrm{Beta}(\alpha_m,\beta_m), \qquad m_t = \arg\max_m ilde{\mu}_m $$ $$ \alpha_m \leftarrow \alpha_m + ilde r_t, \qquad \beta_m \leftarrow \beta_m + (1- ilde r_t) $$
논문은 여기서 멈추지 않고 더 큰 확장형도 준비한다. LinUCB 기반의 planner selection은 7차원 context vector를 받아 planner arm을 선택하고, per-tool Thompson selection은 12개 도구 혹은 tool preset에 대해 top-$K$를 고른다. 다만 이 기능들은 모두 ablation용 확장이며 기본 AEL에서는 꺼져 있다. 이유는 단순하다. 208 에피소드라는 짧은 학습 구간에서 6개 planner와 12개 tool에 대한 개별 posterior 또는 공분산을 안정적으로 추정하기 어렵기 때문이다. 논문은 이 점을 실험으로 증명하며, 복잡한 온라인 적응이 항상 이득이 아님을 보여 준다.
$$ \pi_t = \arg\max_{\pi}\left(\phi_t^\top \hat{\theta}_\pi + \alpha \sqrt{\phi_t^\top A_\pi^{-1}\phi_t}\right) $$
여기서 context vector $\phi_t$는 섹터 정보, 30일 변동성, 로그 시가총액, 데이터 풍부도, 최근 모멘텀, 옵션 데이터 가용성, 애널리스트 커버리지를 담는다. 이론적으로는 꽤 그럴듯한 설계지만, 실제로는 데이터 기근이 더 큰 문제였다. planner selection은 각 arm당 관측 수가 지나치게 적고, per-tool selection은 ticker까지 고려하면 사실상 더 많은 팔을 가진다. 결과적으로 AEL은 memory retrieval policy만 학습 대상으로 두었을 때 가장 안정적인 성능을 얻는다.
3.3 three-tier memory: raw log를 규칙으로 승격하는 구조
AEL의 메모리는 episodic, semantic, procedural의 세 계층으로 구성된다. episodic memory는 에피소드마다 어떤 tool을 썼고 어떤 신호가 나왔으며 실제 결과와 얼마나 맞았는지를 기록하는 원시 로그에 가깝다. semantic memory는 여러 에피소드에서 반복되는 패턴을 요약해 어떤 조건에서 어떤 신호가 유효했는가를 추상화한다. procedural memory는 더 신뢰도가 높은 semantic pattern을 규칙 형태로 승격해 planner 프롬프트에 직접 주입할 수 있는 수준의 지식으로 만든다.
이 구조가 중요한 이유는 메모리를 단지 많이 저장하는 창고가 아니라, 경험의 추상도에 따라 다른 용도로 쓰는 저장소로 재해석하기 때문이다. 개별 에피소드의 raw signal은 변동성이 높고 잡음도 많다. 반대로 너무 일찍 규칙화하면 시장 체제 변화에 취약할 수 있다. AEL은 raw episode를 보존하면서도, 주기적으로 semantic distillation을 수행해 더 안정된 패턴을 만든다. 부록 기준으로 semantic distillation은 10 에피소드마다 일어나며, 각 tier의 최대 엔트리 수는 500개로 제한된다.
메모리 검색은 policy와 ranking의 두 단계로 나뉜다. bandit이 먼저 어떤 tier를 보이고 어떤 포맷으로 잘라낼지 고르면, 그 내부에서 개별 엔트리는 ticker/sector/tool 매칭, 품질 점수, recency decay, tier boost를 곱한 점수로 정렬된다. procedural tier가 가장 큰 boost를 받는 이유는, 이미 여러 에피소드에 걸쳐 정제된 고신뢰 패턴으로 간주되기 때문이다. 이렇게 보면 AEL의 메모리는 단순한 벡터 검색이 아니라, policy-level selection과 entry-level ranking을 분리한 2단 구조다.
$$ r(q,e)=f_{\text{match}}(q,e)\cdot(0.5+0.5q_e)\cdot(0.3+0.7e^{-0.01\Delta})\cdot b_{\tau} $$
여기서 $q_e$는 엔트리의 quality score, $\Delta$는 작성 후 지난 에피소드 수, $b_\tau$는 tier별 boost다. 논문 기본값은 top-k=5, quality threshold=0.3, tier boosts = 1.5/1.2/1.0이다. 이 설정은 무엇이 더 최신인지뿐 아니라 무엇이 더 정제되었는지도 함께 반영한다. 다시 말해 AEL은 오래된 but procedural한 지식을 최근의 raw episodic log보다 높게 줄 수 있으며, 이런 선택을 각 에피소드에서 bandit이 조정한다.
| Policy | Enabled tiers | Format | Retrieval principle |
|---|---|---|---|
| none | none | none | 메모리를 완전히 끈다. 현재 시장 신호만으로 푸는 no-retrieval 옵션이다. |
| recent_window | episodic | sliding_window | 최근 episodic memory만 얕게 불러오며 처음과 끝 일부만 남긴다. |
| full_detailed | episodic, semantic, procedural | full | 세 tier의 검색 결과를 거의 원문 그대로 돌려준다. |
| compressed | semantic, procedural | ranked_truncate | 추상화된 지식을 중심으로 relevance 순 정렬 후 토큰 예산에 맞게 잘라낸다. |
| aggressive_learner | episodic, semantic, procedural | ranked_truncate | 더 큰 예산으로 넓게 검색해 탐색 초기의 경험 활용 폭을 넓힌다. |
표 2를 보면 retrieval policy는 단순 top-k 옵션을 넘어 memory interface 자체라는 것을 알 수 있다. none부터 compressed, aggressive_learner까지 폭이 넓은 이유는, 어떤 에피소드는 과거 기억이 오히려 잡음이 되고 어떤 에피소드는 추상 규칙만으로는 부족하기 때문이다. 논문이 Thompson Sampling을 여기에 붙인 것은 적절하다. AEL이 학습하는 것은 항상 메모리를 많이 보자가 아니라, 지금은 얼마나 자세히, 어느 tier를, 어떤 포맷으로 볼 것인가다.
부록 M을 보면 저자들이 retrieval policy를 단순 on/off 스위치로 보지 않았다는 점이 더 분명해진다. 초기 policy pool은 모두 다섯 개이며, none은 메모리를 완전히 끄고, recent_window는 episodic tier에서 최근 일부 구간만 sliding_window 형태로 잘라 보여 준다. full_detailed는 episodic·semantic·procedural 세 tier를 거의 원문에 가깝게 노출하고, compressed는 semantic/procedural 중심의 ranked_truncate 포맷으로 토큰을 줄인다. aggressive_learner는 더 큰 token budget과 느슨한 절단 규칙을 전제로 과거 패턴을 공격적으로 꺼내 오도록 설계된다. 따라서 AEL이 학습하는 대상은 top-k 개수 하나가 아니라, 같은 기억 저장소를 어떤 해상도와 길이로 planner 앞에 펼칠지를 정하는 memory interface family 전체다.
3.4 slow timescale: reflection, diagnosis, 그리고 제한적 evolution
느린 시간축에서의 reflection은 단순한 회고 문장이 아니다. 저자들은 slow window가 끝날 때마다 LLM에 네 가지 입력을 준다. 첫째, ticker별 에피소드 요약과 planner 및 score 정보. 둘째, per-tool accuracy 통계. 셋째, predictor에는 직접 주지 않은 시장 side information, 예를 들어 sector return, volatility regime, cross-correlation. 넷째, 최근 세 번의 reflection 결과다. 이 입력을 바탕으로 LLM은 causal insight, regime label, confidence를 출력하고, 이 진단이 다음 에피소드의 allocator prompt에 주입된다.
중요한 점은 reflection이 memory store 자체를 잡담으로 오염시키지 않는다는 것이다. 논문은 slow reflection이 생성한 인사이트를 곧바로 semantic memory에 적재하기보다, 우선 해석 프레임으로 사용한다. 즉 reflection은 무엇을 retrieval했는가보다 retrieval한 내용을 어떤 시각으로 읽을 것인가를 바꾸는 계층에 가깝다. 이 구분 덕분에 AEL은 memory를 단순 누적 저장소로 두지 않고, 메모리 품질 필터로서 reflection을 활용한다. 후반 실험에서 +Memory에서 AEL로 올라가는 이득이 바로 여기서 나온다.
AEL은 또한 필요할 때만 code evolution을 허용한다. planner의 failure streak가 기본값으로 3개의 slow window를 넘으면, reflection이 진단한 실패 모드에 맞춰 새로운 Python planner class를 생성할 수 있다. memory policy evolution은 더 보수적이다. slow window 10 이후부터 5 윈도우마다, 전체 policy pool의 평균 Thompson reward가 0.4 미만일 때에만 새로운 retrieval policy를 만든다. 즉 AEL에서 구조 변화는 정해진 주기 작업이라기보다 진단이 구조적 실패를 가리킬 때만 발동하는 예외 처리다.
하지만 다시 강조하자면, 논문의 main configuration에서는 planner evolution이 꺼져 있다. 이 점이 매우 중요하다. 저자들은 진화할 수 있는 기능을 설계해 두되, 실제 최선의 구성은 그중 일부만 쓰는 것으로 찾았다. 따라서 AEL은 무조건 더 많이 진화시키는 시스템이라기보다, 진화의 필요성 자체를 판정하는 메타 구조라고 보는 편이 정확하다. 이 관점은 후반의 ablation 결과와 맞물리며, 왜 cold-start나 per-tool selection이 해로울 수 있는지를 이해하게 해 준다.
| Planner | Core principle | Role in benchmark |
|---|---|---|
| sequential | 모든 도구를 고정 순서로 호출한 뒤 한 번에 종합 | 가장 안정적이지만 정보 과부하 가능성이 큰 기준 planner |
| decompose | valuation, momentum, sentiment, risk로 문제를 분해 | 증거 유형을 분리해 본 뒤 다시 합치는 구조화 추론 |
| adaptive | cheap quick-look 후 모호할 때만 깊은 도구 호출 | 쉬운 에피소드와 어려운 에피소드의 계산량을 나누려는 설계 |
| cot_reasoning | trend, valuation, sentiment, risk를 순차적으로 분석 | 평면적 집계가 아니라 단계적 해석 경로를 강제 |
| reflexion | 초기 판단 후 확신이 낮을 때만 추가 증거 수집 | 에피소드 내부 self-correction 성격의 planner |
| hypothesis_test | bull/bear 가설을 세우고 각 가설에 맞는 증거를 대조 | 반전장이나 혼합 신호 구간에서 경쟁 서사를 직접 비교 |
표 3은 AEL이 잠재적으로 사용할 수 있는 planner 공간이 꽤 넓다는 점을 보여 준다. 그럼에도 메인 설정이 planner를 고정하는 이유는 분명하다. 위 planner들은 모두 그럴듯하지만, 짧은 학습 구간에서는 어느 planner가 좋은 planner인지보다 어떤 memory interface가 현재 planner를 가장 잘 보조하는지를 먼저 익히는 편이 낫다. 논문이 보여 주는 교훈은 planner family의 다양성 자체보다, 이 다양성을 언제 학습 대상으로 올릴지가 더 중요하다는 것이다.
reflection 프롬프트의 입력 계약도 생각보다 촘촘하다. 부록에 따르면 slow loop는 각 ticker별 episode summary와 사용 planner, score, 방향성 적중 여부를 먼저 모으고, 여기에 per-tool accuracy 통계, predictor에게 직접 주지 않는 market side information, 그리고 최근 세 번의 reflection 결과를 함께 넣는다. LLM은 이 묶음에서 causal insight, regime label, confidence score를 뽑아 내고, 이 세 출력을 다음 allocator prompt의 해석 프레임으로 되돌린다. 따라서 reflection은 회고문 생성기가 아니라, 과거 retrieval 결과를 어떤 체제 진단으로 읽을지 정하는 상위 해석 계층으로 기능한다.
구조 진화가 허용되는 조건 역시 매우 보수적이다. planner 쪽은 세 개의 slow window가 연속으로 실패 streak를 기록해야만 새 planner class 생성 후보가 열리고, memory policy 쪽은 slow window 10 이후부터 5개 window마다 전체 Thompson reward 평균이 0.4 미만일 때에만 새 arm을 추가한다. 생성된 planner 코드는 syntax validation과 smoke test를 통과해야 pool에 편입된다. 이 규칙을 보면 AEL의 진화는 상시 작동하는 엔진이 아니라, 진단이 구조적 실패를 가리킬 때만 열리는 gate-driven exception system에 가깝다.
planner family를 묶어 보면 AEL이 왜 planner를 온라인 학습의 중심에 두지 않았는지가 더 잘 보인다. 부록 M의 여섯 planner는 모든 도구를 순서대로 훑는 sequential, valuation·momentum·sentiment·risk로 문제를 나누는 decompose와 cot_reasoning, cheap look 후 깊이를 조절하는 adaptive, 자기확신이 낮을 때만 추가 증거를 모으는 reflexion, 가설을 세우고 반증을 찾는 hypothesis_test로 나뉜다. 즉 planner space 자체는 결코 작지 않다. 그럼에도 메인 설정이 planner를 고정하는 이유는, 이 넓은 전략 공간을 208 episodes 안에서 안정적으로 탐색하기보다 현재 planner를 가장 잘 보조하는 memory interface를 먼저 익히는 편이 통계적으로 훨씬 유리하다고 보았기 때문이다.
3.5 learning signal: 단순한 uniform reward와 frozen deployment
AEL에서 fast loop의 학습 신호는 결국 한 에피소드의 scalar outcome $s_t \in [-1,1]$이다. 논문은 이를 $\tilde r_t=\mathrm{clip}((s_t+1)/2,0,1)$로 정규화해 bandit posterior 업데이트에 바로 사용한다. 이때 기본 설정은 모듈별로 동일한 uniform credit를 준다. planner, tools, memory 각각에 별도 attribution을 계산하지 않고, 전체 에피소드 결과를 안정적인 보상으로 바꾸는 데 초점을 둔다. 복잡한 decomposition보다 노이즈 억제를 우선한 셈이다.
$$ \tilde r_t = \mathrm{clip}\left(\frac{s_t+1}{2},0,1\right) $$
물론 논문은 더 복잡한 credit system도 시험한다. FCC는 structural credit, counterfactual credit, Shapley credit을 섞고, LLM-FCC는 각 모듈의 출력과 실제 결과를 함께 보고 내용 인식형 credit을 준다. 모듈별 보상은 전역 outcome과 credit을 섞어 아래처럼 만든다. 하지만 후반 결과는 이런 설계가 기대만큼 강하지 않음을 보여 준다. 요컨대 AEL은 credit assignment 자체를 무시한 것이 아니라, 실험적으로 가장 덜 망가지는 신호가 uniform이었다고 보고한다.
$$ \tilde r_t^{(m)} = \mathrm{clip}\left(\lambda r_t + (1-\lambda)g_t^{(m)},\;0,\,1\right) $$
배포 단계의 프로토콜도 분명하다. 테스트에 들어가면 module pools, bandit posteriors, memory writes를 모두 동결한다. 그 상태에서 각 test episode마다 frozen meta-controller가 $(p_t,z_t,m_t)$를 선택하고, memory는 read-only로 검색되며, prediction을 한 뒤에는 어떤 업데이트도 일어나지 않는다. 따라서 논문의 테스트 성능은 시험 중에도 계속 배운 결과가 아니라, 훈련 구간에서 형성된 구조가 새로운 체제 전환에 얼마나 일반화되는지를 측정한 값이다. 이 엄격한 분리가 실험 해석의 신뢰도를 높인다.
4. 실험 설정: D-full 벤치마크와 구현 프로토콜
4.1 데이터셋 및 벤치마크
실험은 D-full라는 순차 포트폴리오 할당 벤치마크에서 이루어진다. 태스크는 현금과 10개 종목 사이의 weight vector를 정하는 문제이며, 입력은 1-hour bar 기준의 시계열이다. 총 208 episodes가 있으며, 140 train / 40 validation / 28 test로 시간 순서대로 나뉜다. 중요한 것은 데이터가 무작위 섞기가 아니라 chronological split라는 점이다. 즉 미래 정보를 보지 못한 채 regime adaptation을 학습해야 한다.
학습 구간은 bull, bear, flat가 섞인 총 7주로 구성되며, 테스트 구간은 특히 bear-to-bull transition을 담고 있다. 이 설정은 단순한 평균 성능보다 체제 전환 대응력을 더 강하게 묻는다. 어떤 방법이 학습 구간의 성공 패턴을 그대로 외우는 데 그친다면, test regime가 바뀌는 순간 Sharpe와 MaxDD가 크게 흔들릴 수밖에 없다. 따라서 D-full은 메모리 누적 자체보다는 변하는 시장 조건에서 어떤 과거 경험을 다시 불러와야 하는지를 시험하는 데이터셋으로 이해하는 편이 맞다.
종목 구성도 의도적으로 다양하다. 기술주 AAPL, NVDA, 헬스케어의 JNJ, UNH, 금융의 JPM, GS, 에너지의 XOM, 소비재 PG, 산업재 CAT, 유틸리티 NEE가 포함되어 총 7개 GICS sector를 커버한다. 논문은 이런 구성이 특정 섹터의 편향을 줄이고, cross-sector generalization과 correlation-aware allocation을 동시에 시험하는 장점이 있다고 설명한다.
| Property | Value |
|---|---|
| Task | 10개 종목과 현금 사이의 포트폴리오 가중치 할당 |
| Tickers | 10 sector-diverse equities |
| Sectors | 7 GICS sectors |
| Frequency | 1-hour bars, trading day당 4개 bar |
| Train period | 2025-01-06 ~ 2025-02-21, 7주, 140 episodes |
| Train regimes | 3 bull + 2 bear + 2 flat weeks |
| Validation | 2025-02-21 ~ 2025-03-07, 40 episodes |
| Test period | 2025-03-07 ~ 2025-03-21, 28 episodes |
| Test regimes | Bear(W11) → Bull(W12) transition |
| Total episodes | 208 bars |
| Reward | Per-bar portfolio return |
표 4에서 특히 눈여겨볼 부분은 테스트 기간이 겨우 2주라는 사실이다. 이는 결과의 불확실성을 높일 수 있지만, 동시에 연속 학습 시스템에 더 엄격한 조건을 준다. 짧은 horizon에서 높은 Sharpe를 얻으려면 과거의 여러 신호를 단순 평균하는 수준이 아니라, 현재 국면과 유사한 경험만 고정밀로 끌어오는 선택 능력이 필요하다. 저자들이 이 환경을 통해 AEL의 장점을 검증하려 한 이유가 여기에 있다.
4.2 구현 세부사항
모든 LLM 계열 방법의 backbone은 Claude Haiku 4.5이고, 예측과 reflection의 temperature는 0.3으로 통일된다. 즉 비교군과 제안법 사이의 차이는 모델 크기가 아니라 경험 사용 구조에서 나온다. 각 에피소드에서 공통적으로 12개 금융 도구가 호출되며, portfolio mode에서는 기본적으로 tool selection 없이 모두 사용한다. 이후 planner가 도구 결과를 종합해 가중치를 산출한다.
학습 인프라도 논문의 메시지와 맞닿아 있다. 첫 15-bar warm-up 구간에서는 tool-only prediction을 수행하고 본격적인 학습은 그 뒤부터 시작한다. 이 warm-up이 중요한 이유는 memory bandit이 초기의 극단적으로 noisy한 보상을 posterior에 강하게 반영하지 않도록 막아 주기 때문이다. 메모리 쓰기에는 quality threshold 0.3이 적용되고, 각 tier에는 최대 500 entries만 저장된다. 이는 무제한 누적이 아니라 품질과 용량 제어를 전제로 한 memory system이라는 뜻이다.
semantic distillation은 10 episodes마다 실행되며, reflection의 fail threshold는 부록 기준 3 days다. planner selection을 위한 LinUCB context는 7차원으로 구성되고, main configuration의 credit method는 앞서 본 것처럼 uniform이다. 비용도 공개되어 있는데, 전체 208 에피소드 기준 한 번의 AEL run은 약 $2.80 수준이다. 저자들은 그중 대략 $2가 prediction, $0.8이 reflection 및 evolution에서 발생한다고 보고한다. 연구용 프로토타입치고는 꽤 낮은 비용이다.
| Component | Parameter | Value |
|---|---|---|
| LinUCB | Exploration α / dim d | 1.0 / 7 |
| Thompson | Initial α0, β0 | 1.0, 1.0 |
| Memory | Top-k / quality threshold | 5 / 0.3 |
| Memory | Max entries per tier | 500 |
| Retrieval | Recency decay λ | 0.01 |
| Retrieval | Tier boosts(proc/sem/epi) | 1.5 / 1.2 / 1.0 |
| Credit | Method(main config) | uniform |
| Reflection | Temperature / fail threshold | 0.3 / 3 days |
표 5는 논문의 핵심이 거대한 search space가 아니라는 사실을 다시 확인시켜 준다. bandit prior도 1.0, retrieval top-k도 5, quality threshold도 0.3처럼 비교적 소박한 값들이다. 이는 AEL의 개선이 하이퍼파라미터 마법보다 시스템 분해 방식에서 왔음을 시사한다. 특히 procedural tier boost를 episodic보다 크게 둔 점과 warm-up을 길게 둔 점은, 논문이 빠른 적응보다 안정된 적응을 우선했다는 증거다.
| Tool | Main output | Why it matters |
|---|---|---|
| Data retrieval tools | ||
| get_price_history | 최근 OHLCV, 종가, 고저가, 거래량 | 가격 기반 판단의 출발점으로 최근 레짐과 유동성을 파악한다. |
| get_fundamentals | 재무제표, 수익성, 레버리지, 성장률, 밸류에이션 지표 | 단기 가격 잡음을 완충하는 중기 품질 신호를 제공한다. |
| get_analyst_data | 목표가, 컨센서스, 업그레이드·다운그레이드 이력 | 시장 내러티브 변화를 외부 시각에서 반영한다. |
| get_options_data | 내재변동성, put/call ratio, open interest | 미래 위험 선호와 헤지 수요를 드러낸다. |
| get_earnings_data | 실적 발표, 매출, EPS, 캘린더 정보 | 이벤트 리스크와 surprise를 구분하게 해 준다. |
| Computation tools | ||
| compute_technicals | RSI, MACD, Bollinger, 이동평균, support/resistance | 가격 시계열을 구조화된 timing signal로 변환한다. |
| compute_quant_risk | 실현 변동성, VaR/CVaR, Sharpe, Sortino, beta/alpha | 상승 여지뿐 아니라 downside risk를 명시화한다. |
| compute_momentum | 다중 horizon 수익률, trend slope, volume trend | 단일 lookback보다 넓은 continuation 신호를 제공한다. |
| compute_correlations | 상관행렬과 rolling correlation | 단일 종목 판단을 포트폴리오 차원으로 올려 준다. |
| Analysis tools | ||
| run_dcf_model | bull/base/bear DCF 혹은 implied-upside valuation | 가격과 내재가치의 괴리를 드러낸다. |
| score_risk | 1~10 종합 위험점수와 하위 risk 항목 | 서로 다른 자산을 공통 척도로 비교하게 한다. |
| score_composite_signal | 기술·모멘텀·밸류·옵션·리스크를 합친 BUY/SELL/HOLD 요약 | planner가 빠르게 참고할 수 있는 고수준 synthesis를 제공한다. |
표 6을 보면 AEL이 단순 price-following agent 수준을 넘어는 점을 알 수 있다. 가격, 재무, 애널리스트, 옵션, 상관구조, DCF까지 다루는 멀티뷰 도구 세트가 동일하게 제공되기 때문에, 성능 차이는 결국 이 도구를 어떻게 조직하고 어떤 경험과 연결하는가에서 나온다. 또한 테스트에서 learning을 꺼 두므로, 높은 Sharpe는 시험 중에 운 좋게 적응한 결과가 아니라 훈련 중 형성된 memory-policy와 reflection loop의 산물로 해석할 수 있다.
부록 D의 evaluation workflow는 test-phase 해석을 더 명확하게 해 준다. 저자들은 validation 구간에서 가장 나은 posterior와 구성 값을 고른 뒤 module pools, bandit posteriors, memory writes를 모두 freeze한다. 이후 test episode마다 수행되는 일은 feature extraction, frozen meta-controller의 $(p_t,z_t,m_t)$ 선택, read-only memory retrieval, planner와 tools 실행, portfolio prediction뿐이며 reflection과 evolution은 더 이상 호출되지 않는다. 따라서 test Sharpe는 시험 중 추가 학습의 부산물이 아니라, 훈련 구간에서 형성된 memory-policy와 diagnosis 구조가 새로운 레짐 전환에 얼마나 일반화되는지를 보는 값이다.
지표 정의도 함께 봐야 수치 해석이 덜 과장된다. 부록 C에서 annualized Sharpe와 Sortino는 $T_{ann}=1008$을 써서 계산되는데, 이는 252 trading days × 4 bars/day를 곱한 값이다. TailR은 95th percentile gain을 5th percentile loss 절댓값으로 나눈 꼬리 비대칭 지표이고, WinR은 양의 bar 비율이다. 그래서 AEL의 Sharpe가 모멘텀보다 높다는 사실은 단순 평균 수익률이 더 높다는 뜻이 아니라, 1시간 단위 리밸런싱에서 손실 꼬리와 변동성까지 더 안정적으로 통제했다는 뜻으로 읽혀야 한다.
4.3 베이스라인
비교군은 세 층으로 나뉜다. 먼저 non-LLM baselines으로 equal-weight, momentum-weighted, min-variance, inverse-momentum이 있다. 이어서 prior self-improving methods로 Reflexion, ExpeL, FactorMiner, Meta-Reflexion, EvoTool을 포트폴리오 도메인에 맞게 재구성했다. 마지막으로 HyperAgent 같은 재귀적 self-modification 계열과, 제안법 내부의 incremental build인 Stateless → +Tools → +Memory → AEL을 함께 놓는다. 이 구성이 중요한 이유는 AEL이 단순히 prior method보다만 강한지, 아니면 단순한 결정적 휴리스틱과 비교해도 가치가 있는지를 동시에 보기 때문이다.
부록의 baseline adaptation details를 보면 공정성 확보를 위해 backbone, tool set, portfolio interface를 통일한 흔적이 뚜렷하다. 예를 들어 Reflexion은 financial-specific reflection prompt를 사용하되 최근 20개 반성만 유지하고, ExpeL은 ticker와 sector를 키로 lesson을 검색한다. FactorMiner는 성공한 tool 조합을 skill로 저장하고, Meta-Reflexion은 최근 reflection에서 RULE을 추출해 낮은 성공률의 규칙을 제거한다. EvoTool은 실제 방향성과 어긋난 tool에 blame을 부여하도록 포트폴리오 도메인에 맞게 조정된다.
이런 준비 덕분에 후반 결과는 제안법만 특별한 정보를 더 받았다는 비판을 피한다. 같은 LLM, 같은 도구, 같은 split에서 AEL이 더 나은 이유는 결국 경험을 접근하는 정책을 학습하고, reflection으로 실패의 원인을 해석하며, 테스트에서는 그 구조를 동결한 채 일반화를 보는 설계 덕분이다. 특히 deterministic momentum baseline이 상당히 강한 결과를 보이기 때문에, AEL의 개선은 단순한 LLM 장식으로는 설명되지 않는 명확한 구조적 이득이어야만 설명된다.
baseline adaptation 세부를 보면 공정성 확보 노력이 더 분명해진다. Reflexion은 최근 20개 reflection만 FIFO로 유지하고, ExpeL은 same-ticker에 +2.0, same-sector에 +1.0의 retrieval bias를 두며 최대 100 lessons를 저장한다. FactorMiner는 15 skills와 200 experiences cap을 갖고, Meta-Reflexion은 5 episode마다 최근 10 reflection에서 RULE을 뽑아 적용 횟수 5회 이상이면서 성공률 0.3 미만인 규칙을 제거한다. EvoTool은 population 5로 시작해 50% 확률의 random tool add, 30%의 swap, minimum 3 tools 제약 아래 mutation을 반복한다. 즉 비교군도 꽤 공격적으로 조정되어 있으며, AEL의 우위는 허술한 baseline 설정으로 설명하기 어렵다.
5. 주요 실험 결과: 성능과 안정성의 동시 비교
5.1 전체 성능 비교: 평균이 높고 분산이 낮다
논문의 메인 표는 D-full 테스트 결과를 정리한 Table 2다. 여기서 가장 먼저 봐야 할 값은 Sharpe 2.13 ± 0.47인 AEL과, prior self-improving baseline 중 최고였던 EvoTool 1.37 ± 1.74의 차이다. AEL은 평균 Sharpe에서 크게 앞설 뿐 아니라 표준편차도 훨씬 낮다. 이는 특정 lucky seed가 평균을 끌어올린 것이 아니라, 다섯 개 시드 전반에서 안정적으로 높은 성능을 낸다는 뜻이다. Sortino와 Calmar도 각각 4.08 ± 1.11, 10.40 ± 2.75로 최고다.
더 흥미로운 점은 결정적 휴리스틱인 momentum baseline이 Sharpe 1.44로 prior LLM 방법 대부분을 이긴다는 사실이다. Reflexion은 -0.59 ± 1.33, ExpeL은 0.76 ± 1.93, FactorMiner는 0.85 ± 1.15, Meta-Refl.은 0.20 ± 1.16, HyperAgent는 0.72 ± 0.38이다. 즉 LLM이 스스로 개선한다는 구호만으로는 간단한 모멘텀 전략을 넘기 어렵다. AEL이 의미 있는 이유는 이 기준선조차 넘어서며, 그것도 변동성이 낮은 방식으로 넘었다는 데 있다.
| Category | Method | Sharpe | Sortino | Calmar | Return | MaxDD | WinR | TailR |
|---|---|---|---|---|---|---|---|---|
| Non-LLM | EqW | 0.70 | 1.32 | 3.05 | +0.34 | -1.47 | 0.47 | 1.14 |
| Non-LLM | Mom | 1.44 | 2.73 | 6.89 | +1.21 | -1.64 | 0.48 | 1.09 |
| Non-LLM | MinV | -0.61 | -0.82 | -2.06 | -0.32 | -1.59 | 0.45 | 0.89 |
| Non-LLM | InvM | -0.20 | -0.30 | -0.66 | -0.17 | -1.73 | 0.45 | 0.96 |
| Prior | Reflexion | -0.59 ± 1.33 | -0.57 ± 1.75 | -1.64 ± 5.92 | -0.23 ± 0.54 | -2.30 ± 0.36 | 0.48 | 0.85 |
| Prior | ExpeL | 0.76 ± 1.93 | 1.68 ± 3.93 | 3.97 ± 9.79 | +0.24 ± 0.63 | -1.76 ± 0.16 | 0.45 | 1.05 |
| Prior | FactorMiner | 0.85 ± 1.15 | 1.55 ± 2.14 | 3.61 ± 4.91 | +0.22 ± 0.31 | -1.93 ± 0.28 | 0.47 | 1.02 |
| Prior | Meta-Refl. | 0.20 ± 1.16 | 0.37 ± 1.65 | 1.66 ± 6.01 | +0.11 ± 0.49 | -2.22 ± 0.23 | 0.49 | 0.87 |
| Prior | EvoTool | 1.37 ± 1.74 | 2.73 ± 3.58 | 6.28 ± 7.70 | +0.34 ± 0.46 | -1.46 ± 0.15 | 0.47 | 1.17 |
| Prior | HyperAgent | 0.72 ± 0.38 | 1.00 ± 0.53 | 3.90 ± 2.37 | +0.34 ± 0.20 | -2.49 ± 0.15 | 0.49 | 0.76 |
| AEL Variants | Stateless | 1.35 ± 1.03 | 2.51 ± 1.93 | 6.52 ± 4.98 | +0.36 ± 0.29 | -1.59 ± 0.26 | 0.47 | 1.05 |
| AEL Variants | +Tools | 1.29 ± 1.19 | 2.51 ± 2.23 | 6.07 ± 5.52 | +0.33 ± 0.32 | -1.63 ± 0.26 | 0.49 | 1.05 |
| AEL Variants | +Memory | 1.68 ± 0.96 | 3.29 ± 1.83 | 8.50 ± 5.09 | +0.49 ± 0.29 | -1.53 ± 0.11 | 0.46 | 1.27 |
| Ours | AEL | 2.13 ± 0.47 | 4.08 ± 1.11 | 10.40 ± 2.75 | +0.62 ± 0.18 | -1.53 ± 0.06 | 0.47 | 1.24 |
표 7을 해석할 때 한 가지 더 봐야 할 것은 Return만이 아니라 MaxDD, TailR, WinR이다. AEL의 누적 수익률은 +0.62 ± 0.18로 모멘텀의 +1.21보다는 낮지만, Sharpe, Sortino, Calmar가 더 높다는 것은 더 좋은 risk-adjusted allocation을 했다는 뜻이다. 즉 AEL은 무조건 강하게 베팅해서 수익률을 올린 것이 아니라, 변동성과 낙폭을 제어하며 포트폴리오를 운용했다. MaxDD가 -1.53 ± 0.06으로 매우 타이트하다는 점이 이를 뒷받침한다.
논문은 이 결과를 단지 메모리 양의 효과로 해석하지 않는다. 만약 경험을 쌓는 것만 중요했다면 +Memory에서 이미 대부분의 개선이 나와야 한다. 하지만 실제로는 +Memory 1.68에서 AEL 2.13으로 한 번 더 크게 뛴다. 저자들은 이를 reflection이 memory quality를 걸러 주는 역할로 해석한다. 즉 AEL의 우위는 더 많은 과거를 주는 데 있지 않고, 어떤 과거를 어떤 해석 프레임으로 읽게 할지를 학습한다는 데 있다.
Figure 4: Figure 6. 다섯 개 시드 기준 test Sharpe 순위. AEL이 가장 높은 평균 Sharpe를 기록하면서 error bar도 가장 짧은 축에 속함을 보여 준다.
Figure 6은 수치를 한눈에 압축한다. prior self-improving 방법은 평균이 낮거나 분산이 크고, deterministic baseline은 분산은 작지만 평균이 제한적이다. 반면 AEL은 상단에 위치한 평균과 짧은 error bar를 동시에 가진다. 논문이 계속 강조하는 성능과 안정성의 동시 확보가 이 그림에서 가장 직접적으로 드러난다. 자기개선 계열에서 흔한 문제인 seed fragility를 상대적으로 잘 제어했다는 점이 핵심이다.
Appendix I는 prior self-improving baseline의 분산 원인을 더 직접적으로 보여 준다. Reflexion은 다섯 개 시드 중 네 개가 음수 Sharpe였고, s789 하나가 +1.54를 내면서 평균을 끌어올렸다. ExpeL은 s123 = +4.58이라는 단일 outlier가 존재하지만, 나머지 네 시드 평균은 -0.20에 머문다. 반대로 AEL은 특정 lucky seed 하나에 의존하지 않고 2.13 ± 0.47을 만든다. 그래서 이 논문이 전달하는 메시지는 최고점 하나를 찍었다가 아니라, self-improving agent에서 가장 실무적인 개선은 seed fragility를 줄이는 구조에서 나온다는 쪽에 더 가깝다.
5.2 incremental build와 robustness: memory보다 reflection이 더 큰 차이를 만든다
AEL의 장점을 설명하는 가장 설득력 있는 분석은 incremental build다. Stateless 1.35에서 +Memory 1.68로 올라가는 구간은 과거 경험을 검색할 수 있게 되었을 때의 이득을 의미한다. 그리고 거기서 AEL 2.13으로 한 번 더 상승하는 구간은 reflection과 policy learning이 memory를 더 잘 쓰게 만들었을 때의 이득이다. 논문 표현대로라면 memory가 제공하는 것은 cross-episode learning의 기반이고, reflection이 추가하는 것은 self-diagnosis에 기반한 질적 향상이다.
Figure 5: Figure 3(a). Stateless, +Memory, AEL, LLM-FCC 변형의 incremental build 결과. memory의 도움도 분명하지만 reflection을 얹은 AEL에서 가장 큰 점프가 나온다.
Figure 3(a)의 핵심은 단계별 증가폭의 의미다. Stateless → +Memory는 경험을 아예 쓰지 않던 시스템이 경험을 참고하게 되었을 때의 개선이고, +Memory → AEL은 그 경험을 더 잘 읽는 법을 배웠을 때의 개선이다. 특히 LLM-FCC를 얹은 변형이 오히려 1.37 수준으로 내려가는 점은, diagnosis와 attribution을 더 복잡하게 만든다고 해서 곧바로 도움이 되지 않음을 보여 준다. 논문이 말하는 병목은 핵심 병목은 기억의 양보다 기억의 해석 방식에 있다.
이 결과를 비율로 보면 더욱 명확하다. 논문은 memory가 stateless 대비 약 24% 향상을 주고, reflection이 memory-only 대비 추가로 약 27% 향상을 준다고 정리한다. 즉 반성은 부가 장식이 아니라 핵심 증폭기다. 많은 agent 논문이 반성을 질적 설명에만 맡기는 데 반해, AEL은 반성을 bandit이 선택한 retrieval policy와 결합된 정량적 성능 상승 메커니즘으로 제시한다는 점에서 차별적이다.
Figure 6: Figure 3(b). 각 방법의 평균 test Sharpe와 표준편차를 비교한 robustness 요약. AEL은 최고 평균과 가장 낮은 분산 축을 동시에 차지한다.
Figure 3(b)는 평균만 보는 해석이 얼마나 위험한지 보여 준다. 예를 들어 EvoTool은 평균 Sharpe가 1.37로 나쁘지 않지만 표준편차가 1.74에 달한다. ExpeL도 일부 outlier seed가 평균을 끌어올린다. 반면 AEL은 ±0.47로 상대적으로 단단하다. 자기개선 시스템에서 이 안정성은 매우 중요하다. 현업이나 자동화 환경에서는 최고의 단일 시드보다 반복 가능한 평균 성능이 훨씬 중요하기 때문이다.
이 robustness는 단순히 보수적 전략을 썼기 때문이 아니다. AEL의 TailR 1.24는 우측 tail도 나쁘지 않고, WinR 역시 0.47로 무난하다. 즉 지나치게 소극적인 allocation으로 분산만 줄인 것이 아니라, 위험을 관리하면서도 reward를 확보했다. 결국 AEL이 만든 차이는 더 많이 맞추는 모델이라기보다 틀릴 때 크게 망가지지 않는 경험 활용 체계에 가깝다.
6. 추가 분석 및 Ablation Study: less is more의 실험적 의미
6.1 post-fix ablation: 왜 구성요소를 더 붙일수록 나빠졌는가
논문의 가장 강한 메시지는 모든 추가 복잡성이 성능을 떨어뜨렸다는 점이다. 저자들은 post-fix code 기준으로 AEL에서 하나씩 요소를 제거하거나 추가해 본다. 그 결과 warm-up을 제거하면 Sharpe가 1.25, reflection을 제거하면 1.68로 떨어진다. 여기에 cold-start, planner evolution, per-tool selection, skill extraction, FCC, LLM-FCC를 더하면 모두 AEL 본체보다 낮다. 직관적으로는 더 많은 적응 메커니즘이 더 강해야 할 것 같지만, 실제로는 그렇지 않았다.
| Configuration | Sharpe | Sortino | Δ Sharpe | Impact |
|---|---|---|---|---|
| AEL (Ours) | 2.13 | 4.08 | — | — |
| - warm-up | 1.25 | 2.25 | -0.88 | Critical |
| - reflection (= +Memory) | 1.68 | 3.29 | -0.45 | High |
| + cold-start init | 0.82 | 1.41 | -1.31 | Harmful |
| + planner evolution | 0.41 | 1.01 | -1.72 | Harmful |
| + per-tool selection | 0.43 | 0.80 | -1.70 | Harmful |
| + skill extraction | 1.02 | 1.78 | -1.11 | Harmful |
| → FCC credit | 1.04 | 1.96 | -1.09 | Harmful |
| → LLM-FCC credit | 1.49 | 2.84 | -0.64 | Moderate |
표 8에서 가장 먼저 눈에 띄는 것은 warm-up의 중요성이다. 첫 15개 에피소드에서 bandit이 아직 무엇도 모르는 상태로 noisy reward를 받으면 posterior가 초반부터 잘못 기울고, Beta posterior의 특성상 이후에 이를 되돌리기 어렵다. 저자들은 이것을 초기 오염 문제로 본다. 즉 learning system이 약한 것이 아니라, 너무 이른 시점에 학습을 시작하면 잘못된 확신이 굳어지는 것이다. warm-up이 infrastructure처럼 보이지만 실제로는 online learning의 안정화 장치라는 뜻이다.
Figure 7: Figure 4. AEL에서 구성요소를 제거하거나 복잡도를 추가했을 때의 성능 변화. reflection 제거는 중간 정도의 손실이지만 planner evolution, per-tool selection, cold-start는 매우 큰 손실을 낸다.
Figure 4는 less is more가 단순 수사가 아님을 시각적으로 확인해 준다. memory와 reflection을 빼면 성능이 떨어지는 것은 예상 가능하지만, 더 놀라운 것은 planner evolution과 per-tool selection처럼 그럴듯한 추가 적응 장치가 가장 큰 하락폭을 만든다는 점이다. 이는 208 에피소드 규모에서 각 planner arm이나 tool arm에 충분한 업데이트가 돌아가지 않기 때문이다. 즉 적응 메커니즘의 탐색 비용이 실제 얻을 이득보다 더 크다.
cold-start가 해로운 이유도 흥미롭다. LLM이 tool과 planner 설명을 읽고 초깃값을 만들어 주면 초반 탐색 비용을 줄일 수 있을 것 같지만, 실제로는 data distribution과 맞지 않는 priors가 posterior를 편향시킨다. skill extraction도 비슷하다. 훈련 구간에서 잘 작동한 tool 조합 패턴을 skill로 승격하면 좋아 보이지만, test set의 bear → bull transition에서는 그런 규칙이 일반화되지 못한다. 결국 AEL의 주장은 명확하다. 짧고 noisy한 환경에서는 복잡한 적응보다 신중한 적응이 낫다.
6.2 controlled single-variable 결과와 거래비용 민감도
부록의 controlled single-variable study는 또 다른 흥미로운 교훈을 준다. pre-fix 시점의 AEL-FCC baseline을 기준으로 보면, uniform credit only나 LLM-FCC가 약간의 개선을 보인 반면 per-tool selection 제거와 warm-up 제거는 크게 망가진다. 하지만 논문은 이 결과를 그대로 일반화하지 않는다. credit-system bug를 고친 뒤 FCC와 LLM-FCC는 오히려 붕괴했고, uniform credit 기반의 AEL만 강하게 남았다고 솔직히 보고한다. 이 정직함이 이 논문의 미덕이다.
Figure 8: Figure 5. pre-fix controlled single-variable ablation. uniform credit만 남기는 변화는 약간의 개선을 보이지만, warm-up 제거와 per-tool selection 관련 변경은 급격한 붕괴를 낳는다.
Figure 5를 읽을 때 주의할 점은 이것이 pre-fix experiment라는 사실이다. 즉 여기서 보이는 일부 개선은 최종 코드 기준의 보편 결론이 아니라, 특정 구현 상태에서 관측된 상대 비교다. 논문은 이후 bug fix 뒤에 같은 credit 계열이 다시 무너졌다고 설명한다. 그럼에도 이 그림의 가치가 사라지는 것은 아니다. warm-up과 per-tool infrastructure가 얼마나 민감한지, 그리고 정교한 credit system이 시스템 전체를 얼마나 불안정하게 만들 수 있는지 보여 주는 사례이기 때문이다.
현실 적용 측면에서 중요한 추가 분석은 transaction cost sensitivity다. 시간당 리밸런싱을 수행하는 포트폴리오 에이전트는 turnover가 높으면 이론상 Sharpe가 과장될 수 있다. 논문은 기록된 weight change를 바탕으로 비용 $c$를 적용한 후 $r_t^{ ext{adj}} = r_t - c\sum_i |w_{i,t}-w_{i,t-1}|$를 계산한다. 그 결과 AEL은 0bp에서 2.13이던 Sharpe가 20bp에서 대략 1.3 수준으로 떨어지지만 여전히 비교군 중 가장 높다. 이는 reflection이 잦은 대규모 weight shift를 줄여 turnover까지 간접적으로 제어했을 가능성을 시사한다.
| Method | 0 bp | 5 bp | 10 bp | 20 bp |
|---|---|---|---|---|
| AEL | 2.13 | ~1.9 | ~1.7 | ~1.3 |
| momentum_weighted | 1.44 | ~1.3 | ~1.2 | ~1.0 |
| EvoTool | 1.37 | ~1.2 | ~1.0 | ~0.7 |
| Stateless | 1.35 | ~1.2 | ~1.0 | ~0.7 |
표 9는 AEL의 우위가 무비용 가정 위에서만 성립하는 것이 아님을 보여 준다. 물론 절대 수치는 하락하지만, 20bp에서도 AEL이 대략 1.3 수준을 유지하는 반면 EvoTool과 Stateless는 0.7 수준까지 내려간다. 모멘텀 전략은 구조적으로 weight 변화가 부드러워 비용에 강한 편인데도 AEL이 여전히 앞선다. 이는 AEL이 단지 공격적 포지셔닝으로 Sharpe를 만든 것이 아니라, 상대적으로 안정된 allocation behavior를 학습했음을 뜻한다.
여기서 controlled single-variable 결과는 pre-fix와 post-fix를 분리해서 읽어야 한다. 부록 G는 commit b9604f7, f6372a4 이전 코드에서 AEL-FCC baseline 1.51을 기준으로 uniform credit only 1.96, LLM-FCC 1.87 같은 개선이 보였다고 보고한다. 그러나 bug fix 뒤 최종 코드에서는 FCC = -0.07, LLM-FCC = -0.53으로 무너진다. 저자들이 이 차이를 숨기지 않고 함께 제시한 덕분에, 독자는 신용할당 기법의 유효성이 원리 문제인지 구현 안정성 문제인지 더 냉정하게 분리해서 볼 수 있다.
거래비용 분석을 공식 수준에서 다시 보면 이 해석이 더 선명해진다. 저자들은 $r_t^{ ext{adj}} = r_t - c\sum_i |w_{i,t}-w_{i,t-1}|$로 비용을 차감하고 0, 5, 10, 20bp를 순차적으로 적용한다. 논문은 20bp를 large-cap equity market order 수준의 꽤 보수적인 비용으로 설명하며, 이 환경에서도 AEL이 끝까지 1위를 유지한다고 보고한다. 특히 코드의 cost_adjusted_sharpe 구현 기준으로 AEL이 2.13에서 약 1.3까지 내려가도 모멘텀과 EvoTool보다 앞선다는 사실은, reflection과 memory policy가 결과적으로 포트폴리오 교체 빈도까지 간접적으로 완화했을 가능성을 시사한다.
sample complexity 관점에서 보면 이 보수성은 설계 취향의 문제가 아니라 데이터 예산의 문제에 가깝다. planner selection은 여섯 arm을, per-tool selection은 12개 도구 혹은 preset 조합을 다뤄야 하고, 여기에 slow-window reflection과 delayed reward까지 겹친다. 총 208 episodes 중 train은 140개뿐이므로 각 arm이 충분한 counterfactual evidence를 얻기 어렵다. 논문이 memory policy learning만 남겼을 때 가장 좋은 결과를 본 이유는, 더 단순해서 멋있기 때문이 아니라 같은 관측 수에서 posterior를 가장 안정적으로 수렴시킬 수 있는 적응 표면이었기 때문이다.
7. 한계점 및 향후 연구 방향: 단일 도메인 검증의 제약
논문이 가장 먼저 인정하는 한계는 단일 금융 도메인 검증이다. 저자들은 AEL이 context vector와 scalar reward만 있으면 도메인 비종속적으로 적용 가능하다고 말하지만, 실제 실험은 sequential portfolio allocation 하나에 집중되어 있다. 코딩 에이전트나 웹 에이전트처럼 도구 사용과 planning depth가 훨씬 큰 환경에서는 memory policy만 학습하는 기본 구성이 여전히 최적인지 알 수 없다. 따라서 cross-domain replication은 이 논문의 다음 필수 단계다.
둘째 한계는 테스트 구간의 길이다. bear-to-bull transition을 포함한 2주짜리 test는 분명 어려운 조건이지만, 장기 자기개선의 지속성을 판단하기에는 짧다. 만약 에이전트가 수개월 이상 같은 시장에서 운용된다면 semantic memory와 procedural memory가 포화되거나 drift할 수 있다. 현재 논문은 메모리 tier당 500 entries cap과 periodic distillation으로 이를 관리하지만, 장기간 운영에서 memory aging과 rule obsolescence를 어떻게 다룰지는 아직 열려 있다.
셋째, 모든 LLM 계열 방법이 같은 backbone을 쓰는 것은 공정성 장점이 있는 반면, 동시에 backbone capability의 영향을 따로 분석하지 못하게 만든다. Claude Haiku 4.5가 보여 주는 reflection 품질과 다른 모델의 reflection 품질은 다를 수 있으며, 더 강한 모델에서는 planner evolution이나 LLM-FCC가 다시 유의미해질 가능성도 있다. 즉 이 논문의 결론은 복잡한 credit이 원리적으로 쓸모없다는 뜻이 아니라, 이 데이터 크기와 이 모델 조합에서는 단순한 신호가 더 강했다로 읽어야 한다.
향후 연구 방향은 비교적 명확하다. 첫째, coding/web 환경에서 retrieve-then-act 구조와 AEL의 dual timescale을 결합해 볼 필요가 있다. 둘째, memory representation 자체를 더 구조화하면서도 retrieval policy learning을 유지하는 방식, 예를 들어 reflection이 memory schema까지 제안하는 형태가 가능하다. 셋째, credit assignment는 여전히 열린 문제이므로, 더 긴 horizon과 더 많은 반복에서 uniform credit의 한계가 언제 드러나는지를 확인해야 한다. 이 논문은 완결판이라기보다, 자기개선 에이전트의 병목이 어디인지 선명하게 다시 그려 준 출발점에 가깝다.
여기에 HyperAgent 사례를 함께 보면 AEL의 보수적 설계 철학이 더 설득력 있게 읽힌다. 부록에 따르면 HyperAgent 계열의 재귀적 코드 수정은 20 generations를 돌렸지만 generation 3부터 19까지 validation failure가 17회 연속 발생했고, tuned version에서도 failure rate가 85%에 달했다. 최종 5-seed mean test Sharpe는 0.46 ± 0.41에 머문다. 즉 코드를 광범위하게 다시 쓰는 unconstrained self-modification은 이론상 더 강력해 보여도, 짧은 horizon과 고잡음 환경에서는 memory retrieval policy처럼 국소적이고 관측 가능한 행동 단위를 조정하는 편이 훨씬 안전하다는 AEL의 메시지를 뒷받침한다.
8. 내 해석: 약점 1 + 후속 제안 1
내 해석으로 이 논문의 가장 큰 약점은 “AEL은 coupled system이다”라는 큰 선언과 실제 최고 성능 구성 사이의 간격이다. 논문은 planner, tools, memory의 결합 시스템을 말하지만, 최종적으로 가장 강한 설정은 planner와 tools를 고정하고 memory policy만 학습하는 형태다. 이는 논문의 메시지를 약화시키는 것이 아니라 오히려 현실적인 강점이지만, 동시에 coupled evolution이라는 표어가 얼마나 일반화되는지는 남겨 둔다. 다시 말해 지금의 AEL은 full modular evolution의 성공이라기보다, 경험 접근 인터페이스의 정교한 최적화에 더 가깝다.
이 점에서 나는 AEL을 메모리 연구의 최근 흐름과 함께 읽는 것이 유익하다고 본다. 예컨대 StructMem은 장기 기억의 기본 단위를 사건 수준으로 재정의하면서 표현 자체의 구조화를 강조한다. 반면 AEL은 표현보다는 retrieval policy와 reflection 쪽에 무게를 둔다. 두 논문은 경쟁이라기보다 상보적이다. StructMem이 무엇을 어떤 단위로 저장할 것인가를 묻는다면, AEL은 저장된 것을 언제 어떤 방식으로 꺼낼 것인가를 묻는다. 실제 장기 에이전트에서는 이 두 질문이 함께 필요하다.
또 다른 연결점은 위키의 Search-First Agent Memory 개념이다. 거기서 핵심은 메모리를 매 프롬프트마다 통째로 자동 주입하기보다, 필요가 확인된 뒤에만 좁게 불러오는 운영 감각이다. AEL의 memory policy bandit은 바로 이 감각을 학습 가능한 형태로 만든 사례로 읽힌다. none, compressed, aggressive_learner 같은 정책군은 사실상 search-first 원칙의 여러 operating mode다. 그래서 나는 AEL의 가장 강한 기여를 agent가 더 많은 것을 기억하게 만들었다가 아니라, memory retrieval를 선택 가능한 전략 공간으로 승격했다는 데서 본다.
반대로 Search Round Credit Assignment와 비교하면 AEL은 credit 문제에서 아직 보수적이다. search trajectory 안의 각 round 기여도를 정교하게 나누는 접근들은 retrieval utility와 reasoning correctness를 세밀하게 분해하려 한다. 그런데 AEL은 오히려 uniform credit가 더 낫다는 결론에 도달한다. 나는 이것이 후퇴라기보다 문제의 단계가 다르기 때문이라고 본다. Search round credit이 유효하려면 먼저 retrieval와 reasoning 로그가 충분히 길고 구조화되어야 하는데, AEL의 D-full 환경은 episode 수가 짧고 노이즈가 크다. 이 조건에서는 세밀한 분해보다 거친 보상이 오히려 더 안정적이다.
후속 연구로 내가 제안하고 싶은 것은 representation-aware AEL이다. 구체적으로는 AEL의 reflection이 단순히 retrieval policy만 늘리는 것이 아니라, memory representation의 승격 규칙까지 함께 제안하게 만드는 방식이다. 예를 들어 Self-Guide 계열이 internal reward를 통해 정책 내부의 언어 신호를 재사용했다면, AEL의 다음 단계는 reflection이 external memory의 schema와 retrieval lens를 함께 조정하도록 확장하는 것이다. 다만 이때도 한 번에 모든 모듈을 열기보다, 논문이 보여 준 교훈대로 memory representation → retrieval policy → planner adaptation 순서의 단계적 curriculum으로 가야 한다고 본다. 그래야 less is more라는 실험적 통찰을 해치지 않으면서도 일반성을 넓힐 수 있다.
9. 결론: 에이전트 자기개선의 병목을 다시 정의한 논문
AEL의 가장 큰 공헌은 오픈엔디드 환경의 자기개선 문제를 어떻게 더 많은 경험을 쌓을까에서 쌓인 경험을 어떤 정책으로 읽고 어떤 진단 프레임으로 해석할까로 옮겨 놓았다는 데 있다. 이 전환은 작아 보이지만 실험적으로 매우 강하다. memory만 붙인 +Memory가 Sharpe 1.68까지 오르는 데 그친 반면, reflection과 policy learning을 결합한 AEL은 2.13까지 올라간다. 병목이 저장량이 아니라 경험 사용법이라는 저자들의 주장이 정량적으로 뒷받침된다.
또 하나 중요한 점은 이 논문이 복잡성을 맹목적으로 찬양하지 않는다는 것이다. planner evolution, per-tool selection, cold-start, skill extraction, FCC, LLM-FCC처럼 많은 논문이 당연히 좋아질 것이라 기대할 만한 요소들을 전부 시험해 보고, 실제로는 해로웠다고 보고한다. 이 솔직한 negative result 덕분에 AEL은 단순한 벤치마크 승자보다 더 큰 의미를 갖는다. 저자들은 자기개선 에이전트 연구에서 무엇을 추가해야 하는지뿐 아니라, 무엇을 추가하지 말아야 하는지까지 알려 준다.
정리하면 AEL은 범용 자기개선의 최종 해답이라기보다, 현재 가장 실용적인 적응 지점이 memory retrieval와 self-diagnosis에 있다는 사실을 보여 준 논문이다. 금융이라는 단일 도메인, 짧은 test horizon, 고정된 backbone이라는 제약은 남아 있지만, 그 안에서도 이 논문은 분명한 메시지를 남긴다. 자기개선의 병목은 더 많은 모듈을 동시에 진화시키는 쪽에 먼저 놓여 있지 않다. 오히려 현재 가진 경험을 적절한 깊이와 형식으로 꺼내 오고, 왜 실패했는지를 해석하는 능력이 먼저다. AEL은 그 우선순위를 매우 설득력 있게 보여 준다.
10. 요약 정리
- AEL은 오픈엔디드 환경에서 에이전트가 경험을 쌓고도 거의 stateless하게 행동하는 문제를 겨냥하며, 핵심 병목을 경험 축적이 아니라 경험 활용으로 본다.
- 빠른 시간축에서는 Thompson Sampling bandit이 에피소드마다 memory retrieval policy를 선택하고, 느린 시간축에서는 LLM reflection이 실패 패턴과 시장 체제를 진단한다.
- 메인 설정에서는 planner와 tools를 고정하고 memory policy만 학습한다. 이 보수적 선택이 오히려 최고 성능을 만든다.
- 메모리는 episodic / semantic / procedural의 3계층으로 구성되며, retrieval는 policy 선택과 entry ranking을 분리한 구조로 이루어진다.
- D-full 벤치마크는 10개 종목, 7개 섹터, 208 episodes, 1-hour bars로 구성되며, 테스트는 bear-to-bull transition을 포함해 일반화 난도가 높다.
- 주요 결과는 Sharpe 2.13 ± 0.47, Sortino 4.08 ± 1.11, Calmar 10.40 ± 2.75, Return +0.62 ± 0.18, MaxDD -1.53 ± 0.06로, 모든 비교군을 앞선다.
- 증분 분석에서 Stateless 1.35 → +Memory 1.68 → AEL 2.13이 확인되며, reflection이 memory보다도 더 결정적인 증폭기라는 점이 드러난다.
- ablation 결과는 less is more를 강하게 지지한다. warm-up 제거는 1.25, reflection 제거는 1.68, cold-start는 0.82, planner evolution은 0.41, per-tool selection은 0.43까지 떨어진다.
- uniform credit가 FCC와 LLM-FCC보다 강했다는 negative result는, 짧고 noisy한 환경에서 신용할당이 아직 열린 문제임을 보여 준다.
- 내 해석으로는 AEL의 다음 단계는 모든 모듈을 한꺼번에 여는 방향보다, memory representation과 retrieval policy를 단계적으로 공진화시키는 방향에 있다.
'[논문 리뷰] > [최신 논문]' 카테고리의 다른 글
| [arXiv 2604.25917] RecursiveMAS: 잠재 공간 재귀로 다중 에이전트 협업을 확장하다 (0) | 2026.04.29 |
|---|---|
| [arXiv 2604.24715] HyLo: 긴 컨텍스트를 보존하는 하이브리드 LLM 업사이클링 (0) | 2026.04.28 |
| [arXiv 2604.21748] StructMem: 장기 대화 에이전트를 위한 구조화 메모리 설계 (1) | 2026.04.24 |
| [arXiv 2604.20779] SWE-chat: 실제 오픈소스 개발 로그로 본 코딩 에이전트의 사용 패턴과 실패 비용 (0) | 2026.04.23 |
| [arXiv 2604.19572] TACO: 터미널 에이전트의 관찰 로그를 자기진화형 규칙으로 압축하는 방법 (0) | 2026.04.22 |