Harness-Aware Distillation for Small Language Model Agents

Harness를 남겨 둔 채, 학생에게 더 필요한 행동을 가르치다

같은 학생 방문 상태에서 harness 유무만 달리한 교사 행동을 비교하고, 학생 reasoning 뒤에서 행동 선호를 학습한다. HAD의 전체 응답 NLL·유효성 마스크·세 환경의 점수와 harness 지표를 살펴본다.

Jiphyeonjeon Team2026-10-0716 min read상세 읽기쉬운 읽기
agent-distillationsmall-language-modelson-policy-distillationagent-harnesspreference-learningerror-recovery

Paper: Moonseok Choi; Taehong Moon; Giung Nam; Juho Lee (2026). "Harness-Aware Distillation for Small Language Model Agents". Choi·Nam·Lee는 KAIST AI 소속이며, Moon은 독립 연구자다. arXiv:2610.02858v1 · v1 PDF · 프로젝트. 2026년 10월 2일 공개된 v1, 28쪽을 기준으로 한다.

언어 모델 에이전트는 환경과 여러 차례 상호작용하며 과제를 수행한다. 이때 모델 바깥에서 문맥·도구·피드백을 관리하는 소프트웨어를 harness라 한다. 논문은 배포 때 같은 harness가 계속 작동하는 조건에서, 학생 모델이 상태 기록을 가중치에 전부 복사하기보다 그 기록을 보고 행동을 고르는 능력을 익히는 것을 목표로 한다. 그 능력을 교사 응답 증류와 행동 선호 학습으로 나누어 다룬다.

항목 논문이 다루는 내용
배포 조건 학생이 작은 모델로 바뀌어도 harness는 남는다. HAD는 harness가 행동을 대신 선택하거나 차단하는 controller를 추가하지 않는다.
응답 증류 학생이 harness와 함께 방문한 상태에서 harness를 본 교사의 reasoning과 action 전체를 token NLL로 학습한다.
행동 선호 같은 교사의 harness 포함·제거 입력에서 얻은 행동을 학생 자신의 reasoning 뒤에서만 비교한다.
유효성 현재 harness 기록과 모순되는 positive 행동은 preference 항에서만 제외한다. 응답 NLL에서는 제외하지 않는다.
실험 범위 ALFWorld, WebShop, ScienceWorld의 점수·성공률·harness utilization·정체 지표를 서로 다른 단위와 조건으로 보고한다.

목차

  1. 배포에 남는 harness와 증류의 목표
  2. 한 방문 이력에서 두 교사 입력을 만든다
  3. 전체 응답과 행동 선호를 나누어 학습한다
  4. 유효성 마스크와 무보상 학습의 범위
  5. 행동 확률비가 알려 주는 것
  6. 세 환경의 결과와 평가 조건
  7. Harness utilization과 stall 지표
  8. 절제 실험과 교사 예산 비교
  9. Harness 정보를 감춘 조건과 유지한 조건
  10. 저자가 밝힌 적용 범위

1. 배포에 남는 harness와 증류의 목표

Harness는 모델 주변에서 문맥·도구·환경 피드백을 관리한다. 이 논문의 세 환경에서 harness는 위치, 보유물, 방문 이력, 남은 step, 사용 가능한 행동을 텍스트로 제공하고, 실패 행동이나 정체 조건이 나타나면 경고한다. 환경별 adapter가 상태를 읽으며 공통 코드와 템플릿 틀을 쓴다. Harness는 task-specific subgoal을 내주지 않고 관측에 텍스트 정보를 추가한다. 기본 설정에서 최종 행동은 모델이 생성한다.

**증류(distillation)**는 큰 **교사(teacher)**가 만든 출력을 작은 **학생(student)**이 학습하는 방법이다. On-policy distillation에서는 학생이 직접 상호작용한 rollout, 즉 환경 관측과 행동이 이어진 이력에서 교사의 감독을 받는다. 기존 응답 모방은 harness가 있는 입력을 포함해 교사의 응답 전체를 따라가지만, 어떤 행동이 harness 기록을 이용해 달라졌는지 별도로 표시하지 않는다. HAD는 기존 응답 학습에 그 차이를 비교하는 행동 선호 항을 더한다.

2. 한 방문 이력에서 두 교사 입력을 만든다

환경 관측을 o_t, 현재 이력과 환경 상태에서 계산한 harness 정보를 h_t라 하면, 학생과 교사가 받는 harness 포함 관측은 \tilde{o}_t=(o_t,h_t)다. 학생은 harness가 포함된 이력 \tilde{x}_t에서 짧은 reasoning과 action을 생성한다. 여기서 reasoning은 Thought에 적는 설명이고, action은 환경이 실행하는 명령이다. 논문의 실험은 Thought: <brief reasoning>과 Action: <one command> 두 줄을 사용한다.

각 학생 rollout의 방문 상태에서 같은 교사에게 두 입력을 준다.

  • Positive 입력은 실제 rollout의 harness 포함 이력 \tilde{x}_t다.
  • Negative 입력은 그 이력에서 harness가 명시적으로 붙인 정보만 제거한 x_t다.

Negative 입력은 처음부터 harness를 끈 채 다시 실행해 얻은 새 궤적이 아니다. 과거에 harness 정보를 보고 선택한 행동과 그 행동 결과는 그대로 보존하고, 현재까지의 이력에서 harness 텍스트만 지운다. 따라서 두 교사 응답은 같은 학생 방문 이력의 서로 다른 입력 조건을 비교한다.

평가에서 harness를 끈 조건도 환경이 원래 내놓는 정보 전부를 지우지는 않는다. 예를 들어 환경의 admissible command와 prompt history는 남고, 별도로 요약·강조되는 harness 정보가 빠진다.

HAD의 학생 rollout, 교사 대조, 학습 구조

Figure 3. Choi et al. (2026), v1 PDF p.5. 학생 rollout 뒤 같은 교사에게 harness 포함·제거 이력을 주며, 학생 reasoning을 공통 prefix로 두고 두 action을 비교한다. 유효성 마스크는 preference 항에만 작용한다.

3. 전체 응답과 행동 선호를 나누어 학습한다

Harness를 본 교사의 전체 응답을 y^+=(z^+,a^+)라 하자. HAD의 response distillation은 teacher forcing으로 reasoning과 action의 모든 token을 평균 negative log-likelihood(NLL)로 학습한다.

\ell_{dist}=-\frac{1}{|y^+|}\sum_j \log\pi_\theta(y_j^+\mid\tilde x,y_{<j}^+)

이는 교사 응답의 token별 cross-entropy다. 이름에 on-policy distillation이 들어간다고 해서 비교 방법의 모든 손실이 같은 것은 아니다. 논문의 OPD 비교군은 학생 자신의 응답 위에서 교사와 학생의 token 분포 사이 reverse-KL을 계산한다. HAD의 response 항은 학생 방문 이력에서 샘플한 교사 전체 응답의 NLL이다.

Harness를 지운 입력에서 같은 교사가 만든 action을 a^-, harness를 포함한 입력에서 만든 action을 a^+, 학생이 실제 만든 reasoning을 z_s라 하자. 두 action은 동일한 학생 reasoning 뒤에서만 점수를 얻는다. 교사의 positive reasoning과 negative reasoning은 preference의 scored span에 들어가지 않는다.

\Delta_\theta= \frac{\log\pi_\theta(a^+\mid\tilde x,z_s)}{|a^+|} - \frac{\log\pi_\theta(a^-\mid\tilde x,z_s)}{|a^-|}, \qquad \ell_{pref}=-\log\sigma(\beta\Delta_\theta).

각 확률은 reasoning 다음에 나오는 action token만으로 계산하고 action 길이로 정규화한다. 교사의 reasoning은 각 action 후보를 생성할 때 사용된다. 이 중 positive 교사의 reasoning은 전체 응답 NLL의 표적에도 포함되지만, negative 교사의 reasoning은 그 NLL 표적이나 preference의 공통 prefix로 쓰이지 않는다. 학생의 reasoning을 정답으로 표시하는 것은 아니며, 학생이 실제로 생성한 prefix를 고정해 행동 후보를 비교한다.

HAD의 목적은 다음과 같이 response 항과 마스크를 곱한 preference 항으로 이뤄진다.

\mathcal L=\mathbb E_\nu[\ell_{dist}+\lambda m\ell_{pref}]

논문은 미니배치에서 response 손실 D를 전체 record 평균으로 계산하고, preference 손실 P는 accepted pair 평균으로 계산한다. Gradient norm balancing은 다음과 같다.

\lambda_{\mathcal B}=\operatorname{stopgrad} \left(\rho\frac{\|\nabla D\|_2}{\|\nabla P\|_2}\right), \qquad \rho=.5.

논문의 설정은 \beta=.5, \rho=.5다. \rho는 두 손실값의 혼합 비율이 아니라 preference gradient norm의 목표 비율이다. 두 gradient의 방향이 다르므로 이는 전체 학습 기여를 절반씩 나눈다는 뜻도 아니다. Preference gradient가 0인 batch에서는 \lambda를 0으로 둔다.

4. 유효성 마스크와 무보상 학습의 범위

현재 harness 기록과 positive action a^+를 비교해 유효성 마스크 m\in{0,1}를 만든다. 논문의 checker는 harness가 알려 주는 현재 상황과 모순되는 action을 거른다. 구체적인 규칙에는 사용 가능한 command 목록 밖의 action, 보유하지 않은 물체를 사용하는 action, 같은 상태에서 효과가 없다고 기록된 행동을 반복하는 경우가 포함된다.

마스크는 preference loss에만 곱해진다. Positive action이 invalid 판정을 받아도 그 교사의 전체 응답은 response NLL에 남는다. Negative action은 checker로 걸러내지 않는다. 따라서 두 action이 모두 좋거나 나쁠 수 있으며, checker는 task 성공 여부를 판정하지 않는다.

HAD의 loss와 현재 상태 validity checker에는 task reward, success label, 미래 trajectory가 들어가지 않는다. 다만 harness 경고 threshold를 정하는 보정에는 성공한 validation episode가 사용된다. 학습 전 모델의 성공한 validation episode에서 harness가 경고를 내는 step의 비율이 5% 이하가 되도록 threshold를 보정한다. 이 과정은 학습 데이터와 분리된 validation episode를 사용하며, evaluation task는 사용하지 않는다고 보고한다.

이 구분은 논문의 offline harness utilization (HU) 계산에도 중요하다. HU의 stall 규칙은 경고 이후 미래 5 step을 확인하지만 이는 보고용 지표다. 현재 이력과 harness record만 확인하는 training validity checker가 미래를 보는 것은 아니다.

5. 행동 확률비가 알려 주는 것

고정된 이력에서 교사의 reasoning을 주변화한 action 분포를 P_+(a)와 P_-(a)라 하자. P_+는 harness 정보를 포함한 이력의 action 확률이고, P_-는 같은 실현 이력에서 harness 텍스트를 제거한 입력의 action 확률이다. 논문의 Proposition A.1은 유한하고 공통인 action 집합, 양의 확률, 독립 추출, validity filter가 없는 고립된 reference-free preference loss, 제한 없는 score라는 조건에서 최적 score가 다음과 같음을 보인다.

f^*(a)=\log\frac{P_+(a)}{P_-(a)}+\kappa.

이 score는 action이 positive 조건에서 얼마나 자주 나오는지를 단독으로 나타내지 않는다. Negative 조건과 비교한 확률비다. 이는 환경의 reward나 실제 action utility의 추정치가 아니라, 주어진 preference 구성 아래의 최적 score다.

Action 길이가 같을 때 해당 고립 목적의 학생 확률은

q^*(a)\propto\left(\frac{P_+(a)}{P_-(a)}\right)^{L/\beta}

와 같이 된다. 따라서 optimal score와 student action probability는 서로 다른 양이다. Action 길이가 다르면 길이 정규화에 따른 항도 순서에 영향을 준다. 이 성질은 결합된 HAD 전체나 환경 성공률에 대한 보장은 아니다.

이론 분석에서 preference의 두 응답은 같은 teacher가 서로 다른 입력에 대해 독립적으로 샘플한 것이다. 논문은 두 입력 간 action 불일치율을 ALFWorld 15.5%, WebShop 25.6%, ScienceWorld 19.3%로 보고한다. 이 값은 sampled action이 달랐던 비율이다. 샘플링 차이가 포함되므로 harness가 인과적으로 행동을 바꾸는 “중요한 상태”의 비율과 같지 않다.

환경별 교사 action 불일치율

Figure 9. Choi et al. (2026), v1 PDF p.28. ALFWorld 15.5%, WebShop 25.6%, ScienceWorld 19.3%는 harness 포함·제거 입력에서 독립 샘플한 교사 action의 관측 불일치율이다.

6. 세 환경의 결과와 평가 조건

세 benchmark에서 학생이 방문한 상태의 teacher supervision을 비교한다. ALFWorld에는 Qwen3-1.7B 학생과 8B 교사를, WebShop·ScienceWorld에는 Qwen3-0.6B 학생과 30B-A3B 교사를 사용한다. 학습 pool은 각각 3,553, 11,587, 3,592 task다.

환경 Test 및 task 조건 최대 step / reply token Context 상한
ALFWorld unseen 134, seen 140 30 / 2,048 24,576
WebShop 500 goals, 1,000-product 버전 15 / 512 24,576
ScienceWorld 149 variations, 30 task types, v1.2.3 teleport simplification 15 / 128 16,384

WebShop에는 최근 2 step을, 다른 두 환경에는 전체 history를 context에 넣는다. Rollout과 teacher sampling은 temperature 1.0, 평가는 0.4다. ALFWorld 평가 274개 중 10개는 첫 human annotation과 template goal이 다르며, 논문은 모든 방법에 같은 텍스트를 제공했다고 보고한다.

아래는 논문 Table 2의 harness를 유지한 조건이다. SR은 success rate이며 표의 단위는 %다. ALFWorld SR은 task 완료, WebShop SR은 reward=1, ScienceWorld SR은 final task score가 100 이상인 비율이다. WebShop score는 평균 final reward×100이고, ScienceWorld score는 음수도 가능한 final task score이므로 두 score 열은 같은 척도가 아니다.

방법 ALF unseen SR ALF seen SR Web score Web SR Science score Science SR
Teacher 51.49 50.00 49.96 18.80 20.26 20.13
Student 9.70 20.71 20.95 9.80 −16.47 3.36
OPD 47.01 40.00 41.59 19.00 −0.82 8.05
SAGE-OPD 31.34 41.43 42.21 17.00 0.77 6.04
Guided-OPD 46.27 35.71 43.89 16.60 −2.52 6.04
SOPD 45.52 41.43 39.97 13.80 −8.45 6.71
HAD 63.43 51.43 47.19 19.60 4.17 9.40

ALFWorld에서는 split별 최강 학생 baseline인 unseen 47.01, seen 41.43과 비교해 HAD가 unseen에서 +16.42 percentage points(pp), seen에서 +10.00 pp 높다. Qwen HAD는 8B zero-shot teacher의 51.49/50.00도 넘어선다. WebShop에서 HAD의 score 47.19는 가장 높은 학생 baseline score 43.89보다 3.30점 높고, SR 19.60%는 최고 baseline SR 19.00%보다 0.60 pp 높다. ScienceWorld에서는 HAD score 4.17이 최고 학생 baseline score 0.77보다 3.40점 높으며, SR 9.40%는 최고 baseline 8.05%보다 1.35 pp 높다. 두 환경에서 HAD 수치가 teacher를 모두 넘지는 않는다.

ALFWorld의 headline 57.4%는 표에 표시된 unseen·seen SR의 산술평균 57.43%를 반올림한 값과 일치한다. 반면 표시값에 각 test 규모 134·140을 가중치로 적용해 계산하면 약 57.3%다. 두 집계 방식을 구분한다.

7. Harness utilization과 stall 지표

HU는 다섯 harness rule—available action, held-object situation, budget warning, failure, stall—각각에 대해 적용 가능한 step에서의 준수율을 구한 뒤 다섯 rule 점수의 비가중 평균을 낸다. ALFWorld seen/unseen step은 pool한다. 방문 이력과 단순 budget counter처럼 올바른 반응이 task에 좌우되는 규칙은 이 계산에 포함하지 않는다. HAD의 다섯 구성 점수는 각각 93.3, 99.0, 87.7, 91.1, 33.8이며, 평균 80.98을 반올림한 HU가 81.0이다. 따라서 HU 81.0은 전체 action의 81%가 정답이라는 뜻이 아니다.

Stall HU는 warning 직후 action 한 개만 평가하지 않는다. 경고 뒤 5 step 안에 episode에서 처음 보는 상태에 도달하거나 task를 성공하면 일관적 행동으로 센다. 상태 key는 location, held objects, admissible commands다. 이 5-step window는 offline metric 정의다.

논문은 episode에 stall이 없었던 비율을 prevention, 관측된 stall에서 빠져나온 비율을 recovery로 보고한다.

방법 Prevention Recovery
Teacher 64.6 47.0
Student 20.4 46.8
OPD 64.2 42.9
SAGE-OPD 60.2 32.4
Guided-OPD 60.6 18.8
SOPD 62.0 50.0
HAD 75.9 59.7

Table 3. Choi et al. (2026), v1 PDF p.8. Prevention은 stall 없는 episode 비율이고, recovery는 stall 발생 후 회복한 비율이다.

Prevention은 episode 수준, recovery는 stall 탈출 수준의 지표다. Stall에서 새 상태에 도달하는 것과 task를 끝내는 것은 별도 결과다. 논문이 제시한 HAD 회복 예시는 cup을 다시 집은 뒤 가열하는 행동을 보여 준다.

HAD의 cup 재획득과 가열 행동을 보여 주는 회복 예시

Figure 4. Choi et al. (2026), v1 PDF p.7. 에이전트가 비어 있는 손으로 가열을 시도한 뒤 cup을 다시 집어 진행하는 한 rollout의 행동을 보여 준다.

8. 절제 실험과 교사 예산 비교

ALFWorld 절제 실험은 validity filter, negative action contrast, preference term의 변형을 비교한다.

ALFWorld 변형 보고 SR HU
HAD 57.4 81.0
Validity 없음 50.8 78.9
Negative 없음, positive-only 52.4 74.4
Preference 없음, \lambda=0 43.5 73.1

Table 6. Choi et al. (2026), v1 PDF p.9. SR은 ALFWorld split 평균이며, HU는 다섯 규칙별 step 준수율의 macro-average다.

기본 비교는 같은 loop, task pool, update 수로 구성되지만 HAD는 방문 상태마다 교사에게 harness 포함·제거 입력을 물어 두 응답을 만든다. OPD나 SOPD 기본 비교보다 teacher query가 두 번이다. Table 7은 OPD와 SOPD에 2× trajectory 및 2× update를 허용한 비교다.

방법 Unseen SR Seen SR
OPD 47.0 40.0
OPD, 2× 47.8 45.7
SOPD 45.5 41.4
SOPD, 2× 50.8 42.9
HAD 63.4 51.4

Table 7. Choi et al. (2026), v1 PDF p.9. 2× 조건은 해당 baseline의 trajectory와 update 예산을 늘린다.

이 비교는 동일한 optimizer update 수와 동일한 총 token 수, GPU 시간, wall-clock 비용을 동시에 맞춘 설정은 아니다. 논문 부록의 Table 15에서는 full-response contrast가 59.7/47.1, teacher-reference 조건이 56.0/46.4이며 HAD는 63.4/51.4다. Table 16의 gradient-norm 목표 \rho=.25/.5/1/2 비교에서는 .5가 가장 높은 결과를 보인다.

학습 설정에는 AdamW, full fine-tuning, batch 60, ALFWorld 250 update, 다른 환경 150 update가 포함된다. 각 round는 16개 task를 사용하며 record는 두 policy version 동안 한 번씩 사용한다. OPD 계열 KL은 teacher top-64 token 위에서 두 분포를 다시 정규화한다. 이 논문의 Guided-OPD 비교 설정은 해당 방법의 원래 forward-KL 대신 teacher turn에 decoded-token cross-entropy를 사용한다. 모든 비교 방법의 learning rate는 1\mathrm{e}{-5}다.

9. Harness 정보를 감춘 조건과 유지한 조건

Harness ablation은 정보 범주를 가리거나 행동 실행 규칙을 바꾼 평가 조건을 비교한다. Qwen HAD의 ALFWorld unseen SR은 전체 harness에서 63.43이다. State tracking 정보를 숨긴 조건은 37.31, behavior monitoring을 숨긴 조건은 55.97이다. Seen에서는 두 조건의 점수가 각각 전체 조건보다 10.72 pp, 6.43 pp 낮다. Harness가 거부하는 action을 hard-block한 별도 조건은 unseen/seen에서 55.22/46.43이다.

ALFWorld harness 정보 범주를 숨기거나 action을 차단한 조건

Table 4. Choi et al. (2026), v1 PDF p.8. State tracking·behavior monitoring 정보를 감춘 조건과 harness가 거부한 action을 hard-block한 조건의 ALFWorld 점수를 비교한다.

Harness가 켜진 Qwen HAD unseen SR은 63.43이고, harness를 끈 조건은 40.30이다. ScienceWorld score는 harness on에서 4.17, off에서 4.37이다. Gemma-4-E2B 학생과 12B 교사를 사용한 ALFWorld harness-on 결과는 37.31/36.43으로 보고되며, teacher는 51.49/49.29다. Harness-off unseen 결과에서는 SOPD 29.85가 HAD 23.88보다 높다. 이 결과는 harness 정보를 일부 행동에 활용하는 학습 결과와 harness 전체를 학생 가중치로 대체하는 결과가 같은 설정이 아님을 보여 준다.

10. 저자가 밝힌 적용 범위

논문은 텍스트 기반 세 환경에서 작은 학생과 최대 30B급 교사, 손으로 설계한 harness를 평가한다. 저자들은 더 큰 모델, tool-calling·software agent, 학습 또는 자동 최적화되는 harness로 확장하는 일을 향후 연구 범위로 적는다. 평가 horizon은 환경별 15–30 step이다.

HAD는 배포에서도 남는 harness를 없애는 방법이 아니다. 학생이 방문한 상태에서 harness를 포함한 전체 teacher response를 배우고, 같은 이력에서 harness 정보가 빠진 teacher action과 비교해 학생 자신의 reasoning 다음에 어떤 action을 택할지를 학습한다. 현재 harness record와 모순되는 positive action은 선호 pair에서만 제외된다. 이 구조가 세 환경에서의 성능·harness utilization·stall 측정으로 평가된다.

References

Choi, M., Moon, T., Nam, G., & Lee, J. (2026). Harness-aware distillation for small language model agents [Preprint]. arXiv. https://arxiv.org/abs/2610.02858v1