harness-hub 저자들이 Hugging Face에 Harness adapters를 게시하다: pi, opencode, hermes 안에서 RL로 훈련한 LoRA 어댑터를 safeagents로 보상 해킹에서 지키지만 같은 정확도에 도구 호출이 적다는 것은 스모크 시험 보고일 뿐 최종 실행은 아직 중계 중이다
2026년 11월 6일 harness-hub 저자들은 Hugging Face 블로그에, 모델과 하니스마다 하나씩인 LoRA 어댑터를 수정하지 않은 pi, opencode, hermes 안에서 강화학습으로 훈련했다는 커뮤니티 글을 게시했습니다. 모델은 LFM2.5-24B-A2B, LFM3-1.7B, 실험적인 TwIL-8B입니다. safeagents 프록시는 규칙으로 모든 도구 호출을 검사하며 차단된 롤아웃은 0점입니다. pi 하니스와 LFM2.5-24B-A2B 모델의 50스텝 소거 실험에서 켜자 평가용 과제 pass@1이 0.0포인트(불확실성 4.1포인트) 바뀌었습니다. 글은 스모크 시험에서 도구 호출이 적고 정확도는 같거나 높다고 하지만 수치 표는 없고, 최종 실행은 라이브 대시보드에 있습니다. 회사 발표가 아닌 커뮤니티 글입니다.
2026년 11월 6일 harness-hub 조직의 저자들이 Hugging Face 블로그에 「Harness adapters: Safe RL for efficient agentic development(하니스 어댑터: 효율적인 에이전트 개발을 위한 안전한 강화학습)」이라는 커뮤니티 글을 게시했습니다. 모델과 에이전트 하니스마다 하나씩 만든 작은 LoRA 어댑터를, 수정하지 않은 pi, opencode, hermes 안에서 강화학습(RL)으로 훈련한 것입니다. 로컬 코딩 에이전트 뒤의 모델을 그 에이전트 안에서 훈련한 어댑터로 바꿔 끼울 수 있다는 구상입니다. 글은 훈련 중 모든 도구 호출을 검사하는 프록시 safeagents도 소개합니다. 이것은 커뮤니티 글이며 Hugging Face 회사의 발표가 아니고, 최종 훈련 실행은 아직 진행 중입니다.
구성은 구체적입니다. 훈련하는 모델은 세 가지입니다. 주요 실행은 LFM2.5-24B-A2B(활성 매개변수 20억의 전문가 혼합 모델)와 LFM3-1.7B이고, 실험으로 밀집 88억 매개변수 추론 모델 TwIL-8B를 더했습니다. 모델 카드에 에이전트 데이터로 훈련하지 않았다고 적혀 있기 때문입니다. 훈련에는 GRPO 알고리즘과 TRL의 AsyncGRPOTrainer를 쓰고, LoRA 어댑터는 랭크 32로 모든 선형 층에 붙이며, 과제당 롤아웃 8번, 학습률 1e-5입니다. 계획된 실행은 세 모델에 각각 200, 400, 300스텝이며 Hugging Face Jobs에서 LFM3-1.7B는 H200 2장, 나머지는 4장을 씁니다. 보상은 과제 자체 검증기의 결과에 도구 호출을 적게 쓴 데 대한 작은 가산점, 곧 0.1×(1−호출 수÷15)를 더한 것이며 정답인 롤아웃에만 줍니다.
하나의 기반 모델이 모든 하니스를 동시에 서비스할 수 있습니다. vLLM 서버 하나가 기반 가중치를 한 번만 불러오고, 트레이너 세 개가 각자 자기 어댑터 이름을 지정해 요청을 보내므로 서로 기다리지 않습니다. 평가에도 같은 방법을 씁니다. LFM2.5-24B-A2B의 체크포인트 아홉 개, 모두 1,350개 에이전트 세션이 H200 작업 하나에서 한 시간 안에 끝났고 GPU 비용은 약 5달러였습니다. 저자들은 체크포인트를 하나씩 병합해서 서비스했다면 약 90달러가 들었을 것으로 추산합니다.
훈련은 비동기입니다. 각 트레이너는 최대 48개 에이전트 세션을 동시에 돌리며, 대략 과제 6개에 각 8번의 롤아웃입니다. 단 TwIL-8B는 긴 추론으로 메모리가 빨리 차서 12개 세션만 씁니다. 과제는 8번의 롤아웃이 모두 채점된 뒤에야 대기열에 들어갑니다. GRPO가 그것들을 서로 비교하기 때문입니다. 한 스텝은 끝난 롤아웃을 토큰 예산 안에서 4개 마이크로배치로 묶는데, 예산은 LFM2.5-24B-A2B가 131,072, 나머지 둘이 65,536이어서 스텝당 과제 수는 일정하지 않습니다. 4개 넘는 어댑터 버전 전에 시작된 롤아웃은 버려집니다. LFM3-1.7B는 이전 실행에서 스텝당 순전파·역전파가 약 35초인데 샌드박스를 기다리는 데 몇 분이 걸렸기 때문에 세 트레이너가 GPU 한 장을 함께 씁니다.
훈련 과제는 두 곳에서 옵니다. SmolDataEnvs는 공개된 Kaggle 노트북으로 만든 데이터 분석 질문입니다. Repo2RLEnvs는 사람들이 Hub에 공개한 오픈 에이전트 세션에서 과제를 다시 만든 것으로, repair, qa, build, extend 네 유형이 있습니다. 각 후보는 여섯 가지 검사를 통과해야 하며 검증 가능한 오라클이 필요합니다. 공개된 270개 과제는 크게 치우쳐 있습니다. 253개가 build 과제로 94%이고, 나머지는 repair 11개, extend 6개이며 qa는 없습니다. 각 실행은 두 출처를 섞고, 평가용으로 Repo2RLEnvs 40개와 SmolDataEnvs 150개 과제를 따로 둡니다.
안전 부분은 하니스와 모델 서버 사이에 두는 리버스 프록시 safeagents입니다. 모델이 아니라 규칙으로 각 도구 호출을 약 10~20밀리초에 검사합니다. 호출은 선언된 도구를 써야 하고, 닿는 호스트는 대화에 나와 있어야 하며, atif-scan이라는 스캐너(저자들의 플러그인으로 확장)가 보상 조작, 테스트 편집, 정답 찾기, 자격 증명 사용을 찾습니다. 차단된 호출은 문장 안내로 바뀌고, 안내가 들어간 롤아웃은 0점입니다. TwIL-8B의 스모크 실행에서 모델은 스텝 0에서 어떤 과제의 원본 데이터가 있는 저장소 버킷을 찾으려 했고, 그 호출은 차단되었습니다. pi 하니스와 LFM2.5-24B-A2B 모델의 50스텝 소거 실험에서 가드를 켜자 평가용 과제의 pass@1 변화는 0.0, 불확실성은 4.1포인트여서 이 소거 실험에서는 뚜렷한 변화가 검출되지 않았지만 ±4.1포인트 불확실성은 다른 설정에서 무비용이라는 증거가 아닙니다. 저자들은 처음에 정당한 채점 파일에 맞았던 규칙도 고쳤고, 두 플러그인으로 다시 스캔한 213개 세션은 어떤 규칙에도 걸리지 않았습니다.
글이 보여 주지 않는 것은 최종 결과입니다. 요약은 평가용 과제에서 스모크 훈련 시험 결과 어댑터가 기반 모델보다 도구 호출을 적게 쓰면서 정확도를 유지하거나 높인다고 말하지만 수치 표는 없고, 전체 실행은 라이브 대시보드로 중계되고 있습니다. 결과는 작은 모델, 세 가지 하니스, build 과제가 대부분인 과제 구성에서 나왔습니다. 우리는 이 중 어떤 것도 실행하지 않았습니다.
우리의 해석입니다. 흥미롭고 보기 드물게 개방적인 방법입니다. 보상 해킹 시도를 결정론적 프록시로 막고 0점 처리하는 safeagents의 발상은 코딩 에이전트에 RL을 하는 사람에게 유용할 수 있으며, 저장소는 Apache-2.0 라이선스입니다. 어댑터가 로컬 에이전트를 더 효율적으로 만든다는 주장은 아직 약속에 머뭅니다. 의지하기 전에 최종 실행과 라이브 대시보드를 기다리고, 자신의 하니스와 모델용 어댑터가 있는지 확인하세요.
Sources
FAQ
이 어댑터가 로컬 에이전트를 더 효율적으로 만든다는 것이 입증되었나요?
아직 아닙니다. 글은 평가용 과제에서 스모크 훈련 시험 결과 어댑터가 기반 모델보다 도구 호출을 적게 쓰면서 정확도는 같거나 높았다고만 말하고 수치 표는 없습니다. 전체 훈련 실행은 아직 라이브 대시보드로 중계 중입니다. 결과는 작은 모델, 세 하니스, build 중심 과제에서 나왔습니다.
safeagents는 무엇이며 정확도를 떨어뜨리나요?
하니스와 모델 서버 사이의 리버스 프록시입니다. 모델이 아니라 규칙으로 각 도구 호출을 약 10~20밀리초에 검사합니다. 차단된 호출은 문장 안내가 되고 그 롤아웃은 0점입니다. pi 하니스와 LFM2.5-24B-A2B 모델의 50스텝 소거 실험에서 평가용 과제 pass@1은 0.0포인트 바뀌었고 불확실성은 4.1포인트였습니다.이 추정치가 다른 설정의 무비용을 입증하지는 않습니다.
어떤 모델, 하니스, 과제를 썼나요?
모델은 LFM2.5-24B-A2B, LFM3-1.7B, 실험적인 TwIL-8B이고 하니스는 pi, opencode, hermes입니다. 과제는 SmolDataEnvs와 Repo2RLEnvs에서 왔습니다. 공개된 Repo2RLEnvs 270개 과제 중 253개가 build로 94%이며 qa 과제는 없습니다.