에이전트가 답을 낸 다음에 필요해지는 것들
로컬 에이전트에 사내 모델을 붙여 혼자 일하고 계신다면 답변 자체는 이미 충분히 나옵니다. 저희도 그렇게 확인했습니다. 그런데 같은 업무를 팀이 돌리기 시작하면 질문이 하나 더 붙습니다. 이 답은 어느 절차를 따랐고 어떤 모델이 얼마를 썼으며 누가 시켰습니까.
이 글은 사내 엔드포인트에 Paxis를 물리고 회사에서 실제로 도는 업무 절차 두 건을 돌린 기록입니다. 모델은 thakicloud/Qwen3.8-27B-NVFP4-GPTQ-txt-245k-dflash, 컨텍스트 245,760 토큰짜리 arm입니다. 하나는 지출 상신이 예산을 넘는지 판정하는 일이고 다른 하나는 팀마다 양식이 다른 월간 KPI를 하나의 표로 합치는 일입니다.
한쪽에는 조회되는 원장이, 다른 쪽에는 대화가 남습니다. 먹이는 모델은 하나입니다.
같은 Qwen3.8-27B NVFP4 245k 하나를 로컬 에이전트(Hermes 데스크탑)와 Paxis가 각각 봅니다.
측정 조건을 먼저 적어 둡니다. https://e70a2682812d-8000.demo.thakicloud.net 한 곳을 바라봤고 프롬프트는 글자 단위로 같은 것을 붙여넣었습니다. 케이스마다 한 번씩만 돌렸으며 같은 맥북에서 순차로 촬영했습니다. 그래서 아래의 초 단위 값은 규모를 가리키는 참고치입니다. 토큰 수와 행 수는 제품이 자기 원장에 적은 값을 그대로 읽었습니다.
첫 번째 업무: 지출 상신 예산 초과 판정
코스트센터 세 곳의 잔여예산과 상신 세 건을 주고 건별 승인과 반려를 요구했습니다. 정답은 산술로 정해집니다. DOC-8841은 잔여 3,200,000원에 4,500,000원을 신청했으니 1,300,000원 초과, DOC-8842는 잔여 31,500,000원에 21,000,000원이니 통과, DOC-8843은 잔여 50,000원에 300,000원이니 250,000원 초과입니다.
세 건 모두 원 단위까지 맞았고 반려 사유가 함께 나왔습니다.
세 건 다 맞았습니다. 다만 이 글에서 이 화면의 가치는 정답이 아닙니다. 답이 나오기 전에 지나간 단계에 있습니다.
회사가 합의한 절차가 프롬프트를 대신합니다
영상을 다시 보시면 Paxis가 답을 쓰기 전에 후보 목록을 펼칩니다. 사내 업무 절차를 스킬로 등록해둔 코퍼스에서 여덟 개를 뽑아 점수를 매기고 예산-잔액-자동-검증을 0.70으로 1순위에 올린 뒤 그 지침을 먼저 읽습니다. 도메인 분류는 Finance 95%로 붙었습니다. 이 인스턴스에 등록된 절차는 현재 922건입니다.
실무에서 이게 뜻하는 바는 단순합니다. 담당자가 프롬프트를 잘 쓰지 못해도 회사가 합의해둔 절차가 자동으로 붙습니다. 가중치를 30/30/25/15로 쓸지, 보류 기준을 60점으로 볼지 같은 결정은 등록된 절차가 들고 있어야 합니다. 프롬프트를 쓰는 사람의 기억에 맡길 값이 아닙니다.
절차가 바뀌면 등록본 하나만 고칩니다. 각자의 프롬프트 스니펫을 찾아다니지 않아도 됩니다. 그리고 어떤 절차가 붙었는지는 그 실행의 트레이스에 남습니다.
두 번째 업무: 팀별 KPI 통합
영업, 개발, 고객지원 세 팀이 각자 다른 양식으로 보낸 8월 지표를 표준 표로 합치고 7월 대비 증감률을 계산하게 했습니다. 억 단위와 백만원 단위가 섞여 있고 장애 건수처럼 낮을수록 좋은 지표도 들어 있습니다.
아홉 개 지표를 한 표로 정리했고 악화된 항목이 영업 계약금액 하나(5.2억에서 4.8억, 7.7% 감소)라는 결론까지 나왔습니다. 낮을수록 개선인 지표에는 방향 표기가 붙었습니다.
이 표가 임원 보고로 올라간다고 해보겠습니다. 숫자가 하나 틀렸을 때 어느 팀 데이터가 어떻게 변환됐는지 되짚어야 합니다. 그래서 다음 축이 필요합니다.
호출마다 무엇이 남는가
Paxis는 답변 아래에 영수증을 한 줄 붙입니다. 어떤 에이전트가 어떤 모델로 몇 턴을 돌았고 입력과 출력이 각각 몇 토큰이었는지, 그 실행의 트레이스 식별자가 무엇인지가 화면에 그대로 찍힙니다. 예산 케이스는 2턴 13.8초에 입력 24,411 출력 2,374 토큰, KPI 케이스는 2턴 9.0초에 입력 23,467 출력 1,736 토큰이었습니다.
그 아래 원장에는 호출 단위로 행이 쌓입니다. 예산 케이스 한 턴에서 나간 호출을 시각순으로 뽑으면 이렇습니다.
| 시각 | 모델 | 입력 | 출력 | 지연 |
|---|---|---|---|---|
| 09:38:19 | paxis-distill-8b | 2,728 | 100 | 715ms |
| 09:38:20 | Qwen3.8-27B NVFP4 245k | 7,076 | 238 | 1,143ms |
| 09:38:21 | Qwen3.8-27B NVFP4 245k | 8,451 | 270 | 1,177ms |
| 09:38:22 | Qwen3.8-27B NVFP4 245k | 9,437 | 1,132 | 2,291ms |
| 09:38:25 | Qwen3.8-27B NVFP4 245k | 8,099 | 1,109 | 3,356ms |
라우팅 분류만 8B로 가고 답을 쓴 호출은 245k로 갔습니다.
첫 줄이 눈에 걸리실 겁니다. 라우팅 분류 한 번은 증류한 8B 모델로 갔고 실제로 답을 만든 호출들은 245k 모델로 갔습니다. 저희가 그렇게 설계했다는 사실보다 중요한 건 그 사실을 나중에 표로 뽑을 수 있다는 점입니다. 비용이 이상하게 나왔을 때 어느 호출이 범인인지 되짚을 수 있고 답이 틀렸을 때 어느 모델이 그 문장을 만들었는지 지목할 수 있습니다. 이 인스턴스의 호출 원장은 현재 9,881행입니다.
컨텍스트 전송량도 이 구조에서 나옵니다. 예산 케이스에서 Paxis가 상류로 보낸 입력은 24,411 토큰입니다. 매칭된 스킬 범위로 좁혀 보내기 때문입니다. 도구 목록 전체를 매 호출에 실어 보내는 구성과는 자릿수가 달라집니다.
누가 시켰는지가 행으로 남습니다
같은 시간대에 감사 이벤트도 따로 쌓였습니다. agent.routing.grounded, subagent.dispatched, subagent.completed, agent.tool.invoked가 행으로 남았고 도구 호출에는 행위자(dev-hyojung)가 붙어 있습니다. 지금까지 누적 15,151행이고 그중 정책이 도구를 실제로 막은 agent.tool.blocked가 101건입니다. 테이블이라 SQL로 조회됩니다.
예산 반려는 누군가의 지출을 막는 행위입니다. 막힌 사람은 근거를 묻고 그 질문은 대개 며칠 뒤에 옵니다. 그때 필요한 것은 대화창을 거슬러 올라가는 일이 아니라 조건을 걸어 뽑는 한 번의 조회입니다.
감사만 있는 것도 아닙니다. 승인 제안이 approval_proposals에 160건, 자격증명은 버전과 접근 로그가 붙는 금고에 들어갑니다. 실행 품질은 eval_reports 122건으로 따로 채점됩니다. 계량은 usage_entries 9,613행에 단가 계약과 함께 쌓입니다. 이것들은 답변 품질과 무관해 보이지만 조직이 에이전트를 실제로 굴리기 시작하면 전부 누군가 물어보는 항목입니다.
답은 모델이 만들고 업무는 그 위의 인프라가 실행합니다.
같은 과제를 로컬 에이전트로 돌리면
여기까지가 Paxis 쪽 이야기입니다. 같은 두 과제를 같은 모델에 물린 로컬 에이전트(Hermes 데스크탑)로도 돌려봤으니 그 화면도 같이 두겠습니다. 순서를 뒤에 둔 것은 중요도 때문이지 결과가 나빠서가 아닙니다.
먼저 예산 케이스.
그다음 KPI 케이스.
판정 세 건과 KPI 아홉 줄이 Paxis 쪽과 같게 나왔습니다. 화면은 빠르고 조용한 편이고, 붙여넣고 엔터를 치면 표가 나옵니다. 혼자 쓰는 자리라면 이쪽이 낫다는 말을 앞에서 한 이유가 이 두 클립입니다.
다만 상류로 나간 양이 달랐습니다.
예산 케이스 기준. 구조 차이에서 온 값이고 일반화된 비용 비교는 아닙니다.
예산 케이스에서 로컬 에이전트는 입력 126,861 토큰을 썼고 Paxis는 24,411 토큰을 썼습니다. KPI 케이스는 각각 48,477과 23,467입니다. 로컬 에이전트는 자기 도구 목록 전체를 매 호출에 실어 보내고 Paxis는 매칭된 스킬 범위로 좁혀 보내기 때문입니다. 호출 수도 아키텍처도 다르니 같은 잣대로 나눈 숫자는 아닙니다. 다만 절차를 등록해두면 컨텍스트가 그만큼 짧아진다는 방향은 이 두 케이스에서 일관됐습니다.
정직하게 남겨둘 것
이 실측에서 주장할 수 없는 것들을 적어 둡니다.
Paxis 실행이 245k 모델 단독으로 돈 것은 아닙니다. 라우팅 분류 호출 한 번이 증류 8B로 갔습니다. “같은 모델로 돌렸다”는 문장은 답변을 만든 호출에 대해서만 참이고 위 표가 그 구분을 보여줍니다. 저희 녹화 검증 게이트는 이 이유로 두 테이크를 보류로 판정했고 저희는 그 판정을 지우는 대신 여기에 적었습니다.
시간 수치는 인용용이 아닙니다. 케이스당 한 번씩 돌렸고 같은 머신에서 순차로 찍었습니다. 다섯 번을 돌려 중앙값을 낸 숫자가 아니므로 이 글의 초 단위 값은 규모를 뜻합니다. 토큰 수와 행 수는 원장에서 그대로 읽은 값이라 그보다 단단합니다.
그리고 로컬 에이전트가 못하는 일을 말한 글이 아닙니다. 혼자 쓰는 자리에서는 로컬 도구가 더 빠르고 조용하며 사내 모델을 붙이는 것도 설정 몇 줄이면 끝납니다. 행위자가 한 명이고 그 사람이 화면 앞에 앉아 있다면 지금까지 적은 항목들은 대부분 필요가 없습니다.
정리
같은 모델을 물리면 답은 어느 쪽에서도 나옵니다. 조직에서 갈리는 지점은 그 다음입니다. 이 판정을 며칠 뒤에 설명해야 합니까. 이 숫자를 다른 사람이 만든 조각과 합쳐야 합니까. 절차가 바뀌었을 때 고칠 곳이 한 군데입니까.
Metis가 그 모델을 서빙하고 Signum이 신원과 감사의 바닥을 깔고 Paxis가 그 위에서 업무를 실행합니다. 이 글의 245k arm은 사내 데모 클러스터에서 돌고 있습니다.
이 글의 수치는 2026년 8월 28일 사내 데모 클러스터 실측입니다. 표의 호출 기록은 Paxis 실행 원장에서 그대로 뽑았습니다.