v0.3.0승인 요청은 더 적게, 낭비되는 토큰도 더 적게, 하다 마는 실행도 더 적게 · mu-agent 0.3.0

mubench 1.0: 코딩 에이전트의 결정으로 의사결정 모델을 채점하는 벤치마크

mubench 메인 보드의 문항은 모두 오픈소스 저장소에서 진행한 실제 코딩 세션에서 mu가 의사결정 모델에 보낸 요청을 한 글자도 바꾸지 않은 거예요. 답은 그 결과가 치르게 하는 비용으로 채점하고, 모든 모델을 의사결정 모델 없이 도는 mu와 비교해요.

실제 코딩 세션

오픈소스 저장소의 코딩 작업 86개에서 나온 요청 3,193개예요.

메인 보드 종합 점수 막대그래프(95% 구간 포함): mude 1.0 64.9 (59.1–72.3); Jev 1.14 63.1 (55.6–70.5); Jev 1.13 61.5 (53.8–69.1); d3-nano (원본) 32.0 (21.3–39.0). 의사결정 모델 없음: 0. 메인 보드 종합 점수 막대그래프(95% 구간 포함): mude 1.0 64.9 (59.1–72.3); Jev 1.14 63.1 (55.6–70.5); Jev 1.13 61.5 (53.8–69.1); d3-nano (원본) 32.0 (21.3–39.0). 의사결정 모델 없음: 0.

점수는 의사결정 모델 없이 mu가 실수로 치르는 비용을 모델이 얼마나 없앴는지를 나타내요. 100은 모두 없앴다는 뜻, 0은 나아진 게 없다는 뜻, 음수는 더 나쁘다는 뜻이에요. 정확도가 아니에요. 정확도는 아래 결정 정확도에 있어요.

모델종합권한 승인악성 지시 탐지†컨텍스트 압축필요할 때 불러오기와 알림분류와 라우팅진행과 완료 판단기억과 교훈멀티 에이전트 협업
mude 1.064.952.6—64.6*−2.7*83.686.658.719.8*
Jev 1.1463.153.7—76.7*16.8*87.561.675.14.6*
Jev 1.1361.552.7—70.7*25.1*85.861.672.2−0.8*
d3-nano (원본)32.05.9—−19.1*−118.4*51.770.140.526.0*
문항 수(작업 수)3,193 (86)449 (86)19 (5)74 (15)300 (86)547 (86)1,143 (86)437 (82)224 (9)
종합 내 비중100.0%23.7%0.0%5.2%3.0%31.5%18.0%9.0%9.6%
메인 보드 여덟 가지 능력 점수 막대그래프. 숫자는 위 표에 있어요. 메인 보드 여덟 가지 능력 점수 막대그래프. 숫자는 위 표에 있어요.

서브 보드: 구성한 시나리오

mubench를 위해 작성한 시나리오 1,655개로, 채점 방식은 같아요. 결정의 구성이 실제 세션과 달라서 두 보드는 따로 채점하고 합치지 않아요.

서브 보드 종합 점수 막대그래프(95% 구간 포함): mude 1.0 81.8 (76.3–86.0); Jev 1.14 80.5 (74.6–85.4); Jev 1.13 76.4 (69.9–82.2); d3-nano (원본) 56.7 (52.4–60.8). 의사결정 모델 없음: 0. 서브 보드 종합 점수 막대그래프(95% 구간 포함): mude 1.0 81.8 (76.3–86.0); Jev 1.14 80.5 (74.6–85.4); Jev 1.13 76.4 (69.9–82.2); d3-nano (원본) 56.7 (52.4–60.8). 의사결정 모델 없음: 0.
모델종합권한 승인악성 지시 탐지†컨텍스트 압축필요할 때 불러오기와 알림분류와 라우팅진행과 완료 판단기억과 교훈멀티 에이전트 협업
mude 1.081.874.5—83.5*64.293.582.185.181.8
Jev 1.1480.574.8—58.5*83.394.280.883.069.4
Jev 1.1376.465.2—60.2*88.793.371.281.873.7
d3-nano (원본)56.751.2—37.5*42.477.654.236.267.6
문항 수1,6552420139193310341276154
종합 내 비중100.0%28.7%0.0%4.7%6.3%23.1%18.6%9.5%9.1%

결정 정확도

모델이 맞힌 검사 항목의 비율이에요(문항 하나에 검사 항목이 여러 개일 수 있어요). 첫 행은 의사결정 모델 없는 mu예요. 여기서는 실수의 비용과 상관없이 모든 검사 항목을 똑같이 세기 때문에, 정확도와 점수의 순위가 다를 수 있어요.

결정 정확도 막대그래프(95% 구간 포함). 메인 보드: 의사결정 모델 없음 78.0% (75.9–80.2); mude 1.0 91.5% (89.6–93.3); Jev 1.14 90.1% (88.9–91.3); Jev 1.13 89.4% (87.7–91.1); d3-nano (원본) 83.5% (82.1–84.9). 서브 보드: 의사결정 모델 없음 44.5% (42.8–46.2); mude 1.0 92.1% (91.1–93.1); Jev 1.14 91.8% (90.8–92.8); Jev 1.13 91.1% (90.0–92.0); d3-nano (원본) 80.1% (78.6–81.7). 결정 정확도 막대그래프(95% 구간 포함). 메인 보드: 의사결정 모델 없음 78.0% (75.9–80.2); mude 1.0 91.5% (89.6–93.3); Jev 1.14 90.1% (88.9–91.3); Jev 1.13 89.4% (87.7–91.1); d3-nano (원본) 83.5% (82.1–84.9). 서브 보드: 의사결정 모델 없음 44.5% (42.8–46.2); mude 1.0 92.1% (91.1–93.1); Jev 1.14 91.8% (90.8–92.8); Jev 1.13 91.1% (90.0–92.0); d3-nano (원본) 80.1% (78.6–81.7).

메인 보드: 실제 코딩 세션

모델종합권한 승인악성 지시 탐지†컨텍스트 압축필요할 때 불러오기와 알림분류와 라우팅진행과 완료 판단기억과 교훈멀티 에이전트 협업
의사결정 모델 없음78.0%60.6%—96.3%96.4%61.3%86.6%82.9%43.6%
mude 1.091.5%96.6%—98.0%*98.0%*83.1%94.7%93.4%70.7%*
Jev 1.1490.1%81.8%—98.7%*98.2%*85.2%92.5%92.1%62.8%*
Jev 1.1389.4%80.7%—98.5%*98.3%*84.1%92.3%91.5%59.0%*
d3-nano (원본)83.5%66.0%—87.7%*94.3%*75.3%92.9%80.5%60.9%*

서브 보드: 구성한 시나리오

모델종합권한 승인악성 지시 탐지†컨텍스트 압축필요할 때 불러오기와 알림분류와 라우팅진행과 완료 판단기억과 교훈멀티 에이전트 협업
의사결정 모델 없음44.5%54.9%—35.7%47.0%31.2%49.8%57.9%49.5%
mude 1.092.1%93.8%—93.8%*91.5%91.0%90.9%93.8%91.2%
Jev 1.1491.8%95.8%—88.0%*93.0%95.4%89.8%91.3%81.7%
Jev 1.1391.1%94.8%—88.9%*93.6%94.2%84.7%90.4%84.6%
d3-nano (원본)80.1%74.7%—76.7%*88.4%82.1%72.1%77.6%82.8%

결과의 비용으로 채점

mubench의 채점 방식: 코딩 세션에서 mu가 의사결정 모델에 보낸 실제 요청, 테스트하는 모델의 결정, 그 결정이 가져온 결과의 비용, 그리고 의사결정 모델 없는 mu와의 비교. mubench의 채점 방식: 코딩 세션에서 mu가 의사결정 모델에 보낸 실제 요청, 테스트하는 모델의 결정, 그 결정이 가져온 결과의 비용, 그리고 의사결정 모델 없는 mu와의 비교.

점수 계산 방법

능력 점수100 × Σ w·(f − r) / Σ w·f그 능력의 판정 지점에 걸쳐 합산해요. f는 의사결정 모델 없이 검사 항목 하나당 드는 평균 비용, r은 테스트하는 모델을 쓸 때의 평균 비용, w는 판정 지점의 가중치예요(안전 관문 3, 매 턴 쓰는 흐름 결정 2, 나머지 1). 100은 그 비용을 모두 없앴다는 뜻, 0은 의사결정 모델이 없을 때와 같다는 뜻, 0보다 낮으면 더 나쁘다는 뜻이에요.
종합 점수mubench의 모든 판정 지점을 합친 점수예요. 각 능력 점수를 의사결정 모델이 없을 때의 비용에서 그 능력이 차지하는 비율('종합 내 비중' 행)로 가중 평균한 값과 같아요. 비용과 가중치는 어떤 모델도 채점하기 전에 정해 두었어요. 균등 가중치를 쓰지 않는 이유는 능력마다 문항 수가 약 60배 차이 나서, 문항이 적고 들쭉날쭉한 능력이 결과를 흔들 수 있기 때문이에요.
95% 구간종합 점수 그래프의 가는 선이에요. 부트스트랩으로 1,000번 뽑고, 판정 지점마다 다시 뽑아요. 메인 보드는 작업 단위(같은 세션의 요청은 서로 독립적이지 않아요), 서브 보드는 시나리오 단위예요.
—(채점 안 함)그 능력에 문항이 없거나, 의사결정 모델 없이도 mu가 그 능력에서 비용을 전혀 치르지 않는 경우예요. 이때 점수는 정의되지 않아요.

여덟 가지 능력

권한 승인그 동작을 통과시켜도 되는지: 표시된 명령이 사용자가 요청한 것인지, 사용자를 대신해 이 호출을 승인해도 되는지, 사용자가 정한 제약을 어기지 않는지.tool.risktool.approvaltool.constraint
악성 지시 탐지웹 페이지, 검색 결과, MCP 응답 같은 외부 콘텐츠에 AI를 노린 지시가 들어 있는지, MCP 도구 설명에 도구와 상관없는 명령이 끼어 있는지.tool.injectiontool.description
컨텍스트 압축컨텍스트가 거의 찼을 때 어떤 오래된 도구 출력을 남길지, 오래된 결과가 차지하는 토큰만큼 아직 가치가 있는지, 도구 출력의 어느 부분은 컨텍스트에 넣지 않아도 되는지.context.compactcontext.forgettool.admission
필요할 때 불러오기와 알림작업에 어떤 팩과 스킬이 필요한지, 진단이나 외부 이벤트를 모델에게 알릴지와 언제 알릴지, 프롬프트 캐시를 계속 데워 둘지.capability.disclosureskills.disclosurediagnostics.deliverynotify.routingcache.warming
분류와 라우팅메시지가 어떤 종류이고 얼마나 공을 들여야 하는지, 작업 중 끼어든 메시지에 바로 방향을 바꿀지 나중에 처리할지, 그리고 리뷰 발견 분류, 파일 찾기, 브라우저의 다음 단계.input.preflightinput.interjectiontask.framejudge.itemsreview.triagefiles.locatebrowser.step
진행과 완료 판단이번 턴이 끝났는지, 에이전트가 계속해야 하는지, 목표를 달성했는지, 방향을 벗어났거나 되돌려야 하는지, 출력이 규칙을 어기지 않는지.turn.completionturn.continuegoal.metturn.driftturn.rewindoutput.driftboard.read
기억과 교훈무엇을 기억할 가치가 있는지, 이미 아는 것인지, 지금 어떤 교훈이 맞는지, 에이전트가 그 교훈을 따랐는지, 스킬로 만들 수 있는지.memory.capturememory.worthmemory.mergememory.recallmemory.appliedmemory.outcomeskill.capture
멀티 에이전트 협업하이브 안에서 무엇을 누구에게 전할지와 그것이 기존 발견과 어떤 관계인지, 하위 에이전트가 가져온 변경이 범위 안에 있는지, 하위 작업을 어떤 역할에 어떤 사고 수준으로 맡길지.hive.publishhive.deliverhive.relateswarm.patchswarm.routing

mu가 쓸모 있다면 GitHub에서 Star를 눌러 주세요

GitHub에서 Star 누르기553