WeAct는 실행 중 LoRA 교체를 에이전트 행동으로 만든다

WeAct: Dynamic Weight Switching as Agent Actions

arXiv2610.26847v1

Rui Shi2026-10-19조회 1

무엇인가

긴 호흡의 에이전트는 하나의 궤적 안에서 계획하고, 검색하고, 검증하고, 글을 쓴다. 문제는 이 이질적인 능력을 같은 파라미터로 학습시키면 나중에 익힌 능력이 앞서 익힌 능력을 덮어쓴다는 것이다. 논문은 이를 파국적 망각으로 부르고, 기존의 공동 학습이나 정적 어댑터 병합이 실행 내내 고정된 파라미터 구성을 유지한다는 점을 한계로 지적한다. 궤적의 국면마다 필요한 능력이 다른데, 가중치는 처음부터 끝까지 하나로 묶여 있다는 것이다.

어떻게 동작하나

제안 방법 WeAct는 백본을 동결한 채 능력별 LoRA 어댑터를 각각 독립적으로 학습시키고, 어댑터 선택 자체를 에이전트의 행동 공간에 추가한다. 구체적으로는 MiroFlow 하네스에 load_lora와 offload_lora 두 개의 MCP 도구를 붙여, 모델이 이미 익힌 네이티브 도구 호출 인터페이스로 가중치를 켜고 끈다. 동시에 활성화되는 어댑터는 최대 하나이며, i에서 j로 갈아탈 때는 i를 먼저 내리고 j를 올린다. 어댑터는 GPU에 상주시켜 반복적인 호스트-디바이스 전송을 피하지만, 가중치가 바뀌면 유지된 히스토리로 KV 캐시를 다시 만들어야 한다. 호출 정책은 두 가지다. WeAct-hard는 LoRA-plan에서 LoRA-search, LoRA-write로 이어지는 순서를 규정해 안정적인 호출을 노리고, WeAct-soft는 히스토리에 나타난 과제 상태를 보고 베이스 모델이 직접 고른다. 별도의 라우터는 학습하지 않는다.

무엇과 다른가

학습은 국면별 감독으로 이뤄진다. 각 샘플은 앞선 상호작용 p, 어댑터 로딩 호출과 그 결과 u_k, 해당 국면의 인터리브된 어시스턴트·도구 내용 c_k, 종료 호출 v_k를 이어 붙여 만들고, 손실 마스크는 현재 능력의 어시스턴트 토큰과 종료 호출에만 1을 준다. 이전 어시스턴트 턴, 로딩 교환, 도구 관찰은 마스크가 0이지만 인과적 문맥으로는 남는다. 능력 k를 최적화할 때 다른 어댑터 φ_j의 그래디언트는 정확히 0이므로, 한 능력의 갱신이 다른 능력의 파라미터를 건드리지 않는다. 능력 구분은 계획·검색·집필 세 가지로 두었는데, 논문은 검색과 검증을 나누거나 상태 요약 단계를 추가하면 같은 증거 조작이 라벨 사이를 오가 불안정했다고 밝힌다.

어떻게 쓰나

논문은 왜 분리가 필요한지를 두 갈래 진단으로 보인다. 먼저 공유 LoRA를 랭크 32 또는 96으로 학습시켜 세 개 랭크 32 어댑터의 총 파라미터 수를 맞춰 봤지만, 능력별 평균 절대 정확도 손실이 1.67%로 남았고 용량을 늘려도 줄지 않았다. 특히 집필 능력은 초기 이득의 49.2%를 잃었다. 능력 정렬 없이 궤적 단위로 무작위 분할해도 1.12% 손실이 발생해, 단순 분리만으로는 망각을 막지 못한다. 다음으로 Full Additive, TIES, DARE-TIES, TSPA 같은 정적 병합을 검증했더니 세 능력 모두에서 평균 NLL 악화를 없앤 방법이 없었고, 랭크 압축을 하지 않는 Full Additive조차 다른 능력 어댑터의 기여분만큼 지역적 불일치가 남았다.

전제와 한계

실험은 Qwen3-32B를 백본으로 GAIA, 2WikiMultiHopQA, Bamboogle, MuSiQue, WebWalkerQA, xbench-DeepSearch, BrowseComp, FRAMES 여덟 개 딥리서치 벤치마크에서 이뤄졌다. WeAct-hard가 평균 45.47%로 Full SFT보다 2.67포인트(상대 6.2%) 높고 6개 벤치마크에서 1위, WeAct-soft가 43.21%로 2위이면서 GAIA와 MuSiQue에서는 앞선다. 두 변형 모두 여덟 개 벤치마크 전부에서 모든 정적 병합을 이겼고, 랭크 128로 직접 학습한 Single LoRA와 비교해도 hard는 8개 전부, soft는 7개에서 우세해 평균 정확도 이득이 각각 6.74%, 4.48%다. 가장 강한 정적 병합은 35.66%로 Single LoRA의 38.73%보다도 낮았다. 검색 품질을 별도로 본 SearchAtlas 분석(100개 과제, 1,000개 질의 그래프)에서도 WeAct-hard가 질의 활용도, 제약 커버리지, 미지원 답변 비율 세 지표 모두 1위였고, 질의를 가장 많이 던진 ManuSearch의 제약 커버리지가 39%인 데 비해 60%를 기록했다. 효율은 학습 명목 EFLOPs 142.8로 Full SFT보다 낮으면서 정확도는 높았고, 동일 하드웨어·동시성 1 조건의 WebWalkerQA 50회 실행에서 평균 응답 준비 지연이 Full SFT 대비 soft 33.4%, hard 20.3% 줄었다. 어댑터 제어와 캐시 처리는 각각 전체 시간의 8.2%, 2.8%를 차지한다.

모듈형 지속 학습도 확인한다. 코드 계산용 LoRA-code를 새로 등록하면 MegaScience와 SciBench 정확도가 오르면서 DS-1000과 GAIA는 떨어지지 않았고, 기존 LoRA-write를 LoRA-write++로 갱신하면 ResearchQA와 DeepResearchBench에서 hard 기준 2.40포인트, 1.21포인트가 올랐다. 두 경우 모두 백본과 나머지 어댑터는 비트 단위로 그대로 두고 과거 데이터 재생 없이 이뤄졌다. 개발자 입장에서 이 논문의 실질적 메시지는 어댑터를 하나로 합치는 대신 실행 중 교체 가능한 단위로 유지하라는 것이다. 다만 교체 시 KV 캐시를 다시 만들어야 하고, 능력 경계를 어디서 긋느냐가 성능을 좌우하므로 자기 도메인의 국면 구분이 안정적인지부터 확인해야 한다. 저자들도 어댑터 라이브러리가 커질수록 에이전트가 몇 개까지 안정적으로 구분해 호출할 수 있는지, 내부 행동을 길게 이어갈 때 라우팅이 버티는지, 과제 경계가 불분명해 추론 같은 범용 능력이 여러 단계에 걸쳐 필요할 때 모듈을 어떻게 나눌지를 열린 문제로 남겨두었다. 반복적인 모듈 삽입이 나머지 라이브러리를 고정해 둬도 선택 자체를 바꿀 수 있다는 점도 미해결로 적었다.