
「총액이 결정된 후, 어디에 얼마를 배분할 것인가」가 소장의 머릿속에만 있다——건설업체의 실행 예산을 유사한 완공 안건에서 배분하여 “예비비의
요약
건설업체의 실행 예산 배분 과정을 자동화하는 AI 툴 개발 사례를 소개합니다. 숙련된 소장의 암묵지에 의존하던 예산 배분 방식을 과거 유사 안건의 데이터를 활용하여 시스템화하는 과정을 다룹니다.
핵심 포인트
- 특정 개인의 암묵지에 의존하는 예산 배분 프로세스의 문제점 지적
- 과거 유사 안건의 비목 비율을 활용한 자동 배분 알고리즘 구현
- 예비비를 우선 확보하여 리스크를 관리하는 배분 로직 적용
- 총액을 유지하면서 비목별 최적 밸런스를 제안하는 툴 개발
이 기사는 가상의 회사 「쇼에이 건설(松栄建設)」을 무대로 한
공개된 시나리오입니다. 등장하는 기업·인물은 실재하지 않습니다. 또한, 업계의 실무(건설업체의 실행 예산·원가 관리의 절차 등)에 대한 기술은 해당 업계 종사자가 아닌 필자가 "있을 법하다"고 상정한 것이므로, 실태와 다를 수 있습니다. 확실한 것은 두 가지뿐입니다——만든 프로그램은 실제로 구동한 것이며, 출력물도 실물이라는 점입니다. "있을 법한 고민"을 상정하여 풀어본다——그런 연재의 7일째입니다.

서론: 그릇의 크기는 이미 결정되어 있다
"『그 사람만이 할 수 있는 것』을 해소한다."라는 30일간의 연재 중, 7일째입니다. 지금까지의 AI는 「읽어내기」(Day01) 「기억하기」(Day02) 「앞서 예측하기」(Day03) 「대조하기」(Day04) 「굳이 사용하지 않기」(Day05), 그리고 어제는 「유사한 것을 찾아내기」(Day06)였습니다.
어제의 이야기는 단가 하나를 "범위"로 산출하는 이야기였습니다. 오늘은——여러 개의 비목(費目)을 더했을 때 결정된 총액에 딱 맞도록 배분하는 이야기입니다. 비슷해 보이지만, 머리를 쓰는 방식이 완전히 다릅니다. 어제는 한 장을 측정했다면, 오늘은 전체를 동시에 깎아 나갑니다. 이 부분이 오늘의 핵심입니다.
📎
먼저 솔직히 말씀드리면: 건설 실행 예산에 대해 저도 초보입니다. 따라서 건설 그 자체에 대해 여기서 해설하지는 않겠습니다(할 수도 없습니다). 오늘 이야기에서 필요한 것은 단 한 가지입니다——실행 예산이란, "얼마에 수주할 것인가(견적)"가 결정된 후에, 그 금액을 "목수 얼마, 재료 얼마, 외주(전기나 설비) 얼마..."와 같이 사내에서 나누는 작업을 말합니다. 견적과는 별개인, 수주 후의 준비 단계입니다. 이 "수주 후에 총액을 비목으로 배분한다"는 점만 머릿속에 두어 주세요. (건설업에 정통하신 분들께: 비목의 분류나 비율도 상당히 간략화된 예시라는 점을 미리 말씀드립니다.)
Before: 「이 공사라면 목수에게 이 정도」가 소장의 머릿속에만 있다
지역 건설업체 「쇼에이 건설」(가상·약 25명 규모). 수주 금액이 결정되면, 소장인 미야모토 씨가 "그럼 목수는 이 정도, 재료는 이거, 설비 외주는 여기까지"라며, 총액을 비목으로 한꺼번에 배분해 나갑니다. 20년 동안 몸에 익은 배분의 감각입니다.
하지만 그 근거는 어디에도 적혀 있지 않습니다. 미야모토 씨가 현장에 나가 있는 동안, 젊은 직원은 실행 예산을 짜지 못해 손을 놓고 있습니다. 젊은 직원이 짜면 배분을 하나 잘못하여——예를 들어 설비 외주를 너무 과하게 잡는 바람에 그만큼 다른 곳을 너무 깎아버려——정신을 차려보면 현장이 적자로 빠집니다. "총액을 비목으로 분해한다"라는 암묵적인 함수가 한 사람의 머릿속에만 있는 것입니다.
이것은 미야모토 씨가 잘못한 것도, 젊은 직원이 잘못한 것도 아닙니다. 20년에 걸쳐 몸에 스며든 것은 그렇게 쉽게 말로 표현되지 않습니다. 회사도 그에 안주해 왔습니다. 속인화(属人化, 특정 개인에게 업무가 집중되는 현상)는 언제나 본인과 주변의 "2인 3각"으로 이루어집니다. 아무도 잘못하지 않았는데, 그 사람이 없는 날에만 예산을 짤 수 없습니다.
만든 것: 총액의 그릇을 지키면서, 유사한 안건의 비율로 배분하기
만든 것은, 안건의 조건(타입·연면적·수주 총액)을 입력하면, 과거의 "유사한 완공 안건"의 비목 밸런스를 바탕으로, 총액에 딱 맞게 들어가는 배분안을 2개 제시하는 툴입니다.
중요한 것은 순서입니다.
- 우선
예비비의 하한선(예를 들어 총액의 5%)을 가장 먼저 따로 떼어둡니다. 하자 보수·날씨·추가 사항이 발생했을 때를 대비한 여유분으로, 이 부분은 마지막까지 깎지 않습니다. - 나머지를,
이 안건과 유사한 과거 안건(타입과 규모가 비슷한 완공 건)의 비율로 각 비목에 배분합니다. - 합계는,
반드시 총액과 일치합니다. 1원도 늘릴 수 없는 그릇이므로, 이 부분은 결정론적 계산(할당 및 잔액 맞추기)으로 고정합니다.
그리고 각 안건에는 "이 배분대로라면 어느 비목이 (전형적인 배분에 비해) 부족한가"라는 경고를 붙입니다. 유사한 안건이 2건 있다면 배분안도 2개입니다. 어느 것을 채택할지는 사람이 결정합니다.
「유사도」를 측정하는 부분(어떤 과거 안건이 이 안건에 가까운가)은 오늘 데모에서는 단순한 특징량(타입·연면적)으로 처리했습니다. 실전이라면 이 부분을 언어 모델(LLM)을 사용하여 "현장의 특기 사항·고객사의 사정"까지 포함한 의미론적 유사도로 만들 수 있습니다. 오늘은 그 전 단계까지입니다.
솔직하게 만들면 토대가 약해집니다 (= 숨겨진 "다듬기")
"과거 완공 데이터가 있다면, 비목별로 평균 %를 구해서 그것을 총액에 곱하면 되는 것 아닌가?" —— 그렇게 생각하여, 모든 안건의 비목 점유율을 단순 평균하여 배분하는 것. 이것이 가장 솔직하면서도, 가장 토대를 무너뜨리는 방식입니다. 이유는 두 가지가 있습니다.
① 안건의 타입을 평균으로 녹여버린다. 개수(목수=노무비가 높음)도, 신축이나 외장(재료·가설비가 높음)도, 전부 섞어서 평균을 내면, 개수인데도 노무비가 낮은 배분이 나옵니다. 부족해진 목수의 인건비는 결국 어딘가에서——대개 예비비에서——끌어다 쓰게 됩니다.
② 과거의 “예비비 부족”까지 평균으로 계승해 버린다. 이것이 가장 치명적인 함정입니다. 과거 실적에서 예비비가 평균 2~3%밖에 쌓이지 않았다면, 평균은 그 부족함을 충실히 재생산합니다. 예비비가 적으면 그만큼을 다른 비목으로 돌릴 수 있어, 겉보기에는 어디든 여유가 있어 보입니다. 하지만 그것은 수정 사항이나 추가 요청이 오는 순간——도망갈 곳이 없어, 수주액에 포함했을 터인 매출총이익(Gross Profit)을 갉아먹으며——**적자로 반전하는 “가짜 여유”**입니다.
이 부분이 이 연재에서 가장 강조하고 싶은 경계선입니다.
「과거 데이터를 평균하여 배분한다」는 것은 숨겨진 “평활화(Smoothing)”로 수렴하기 쉽습니다. 실행 예산(Execution Budget)에서 가장 하지 말아야 할 일은, 과거의 실수(부족한 예비비)까지 평균해 버리는 것입니다. 진정한 가치는 총액이라는 그릇을 지키면서, 예비비를 하한선까지 먼저 쌓아두고, 안건의 성격에 맞춰 비목들을 서로 깎아 나가는 것입니다.
실제로 구동해 보기
가상의 합성 데이터(과거 완공 12건)로 구동해 보겠습니다. 새로운 안건 = 개수·연면적 100㎡·수주 총액 3,000만 엔. 회사의 이익과 본사 경비 15%를 제외한, 현장에서 사용할 수 있는 실행 예산 총액은 ¥25,500,000. 예비비의 하한선은 5%입니다.

제약 조건부 배분 (유사한 개수 안건 베이스) —— 예를 들어 안 A는,
- 노무(목수) ¥10,136,000 / 재료 ¥6,674,000 / 외주(설비) ¥4,449,000 (낮음)
/ 가설·중장비 ¥1,730,000 / 현장 경비 ¥1,236,000 / 예비비 ¥1,275,000 (하한선 확보) - 합계 =
¥25,500,000 딱 맞음.
유사한 다른 한 건에서 만든 안 B는, 외주(설비)를 안 A보다 ¥248,000, 현장 경비를 ¥247,000 늘린 대신 재료에서 (-¥247,000) 깎았습니다. 비중을 높인 비목의 이면에는 반드시 다른 비목이 얇아진다 —— 이것이 「상호 의존」입니다. 설비가 많은 개수라면 안 B, 목수 중심이라면 안 A. 그 판단은 현장을 아는 사람이 쥐게 됩니다.
반면 단순 평균은,
- 노무 ¥9,350,000 (개수 근접 안건보다 ¥786,000이나 낮음) / … / 예비비 ¥573,750 = 하한선 미달 -¥701,250.
합계는 똑같이 ¥25,500,000에 수렴합니다. 하지만 내용은 개수에 맞지 않는 배분이며, 심지어 예비비가 하한선의 절반 이하입니다. 착공 전부터 줄타기를 하는 예산입니다. 미야모토 씨가 머릿속에서 지키고 있었던 것은, 평균으로는 절대 나올 수 없는, 이 「그릇을 지키면서 진행하는 상호 깎아내기」였습니다.
이것만큼은, 초보인 저도 알 수 있습니다
잠시 개인적인 이야기를 하자면, 저는 건설 분야의 초보입니다. 하지만 “견적으로 세운 숫자와 실제로 쓰는 돈은 별개다” —— 이것만은, 이전에 완전히 다른 분야에서 제 사업을 했을 때 몸소 깨달았습니다. 견적은 그럴싸하게 냈습니다. 하지만 사업을 시작하니 자잘한 잡비가 쌓이고, 시간은 예상보다 길어지며, “하는 김에 이것도”라는 상대방의 요구에 응하다 보니 내용이 부풀어 올라, 끝나고 보니 이익은 거의 남아 있지 않았습니다.
그때 저에게 없었던 것이 바로 이 “예비비라는 도망갈 곳을 처음에 확보해 둔다”라는 발상입니다. 도망갈 곳이 없으면 예상치 못한 상황(수정·연장·추가)이 발생한 만큼 그대로 이익에서 깎여 나갑니다. 그래서 미야모토 씨가 머릿속에서 지키고 있던 규율 —— 총액이라는 그릇을 지키고, 도망갈 곳을 먼저 확보하며, 부족해지면 비목을 서로 깎아 나간다 —— 의 가치는 업종이 달라도 저에게 와닿습니다. 이것은 이익을 지키는 방파제입니다.
설계의 혼: 단정 짓지 말 것 · 예비비 하한선은 사수할 것 · 확정은 사람이 한다
오늘의 중요한 포인트 3가지입니다.
- 단정 짓지 말 것 (決めつけない): AI는 '정답의 한 가지 안'을 제시하지 않습니다. 제시하는 것은 '총액 내에 들어오는 후보'를 여러 개와, 각 안의 '부족한 비목 (費目)'뿐입니다. 같은 조건이라도 현장의 준비 상황이나 고객의 사정에 따라 정답은 움직이기 때문입니다. -
예비비의 하한선은 사수할 것 (圧縮させない): 툴은 예비비를 마지막 조정 변수로 사용하지 않습니다. 하한선을 먼저 따로 떼어 놓은 뒤에 배분합니다. 예비비를 깎으면 숫자는 깨끗해 보이지만, 그것은 '겉치레뿐인 여유'입니다. AI에게 그것을 제안하게 하지 않는 것이 오늘의 가장 중요한 설계 판단입니다. -
확정은 사람: 외주를 늘릴 것인가, 노무비를 늘릴 것인가. 마지막으로 도장을 찍는 것은 현장을 아는 사람입니다. 이 툴은 '늘린다면 어디가 부족해지는가'를 보여줄 뿐입니다. 미야모토 씨의 업무를 빼앗는 도구가 아니라, 미야모토 씨의 머릿속을 젊은 직원들이 열어볼 수 있는 형태로 전달하는 도구입니다.
어디서 움직이는가 (구현과 설치)
'대단한 AI 서버'는 필요 없습니다.
- 형태:
HTML 파일 1장 (이번 데모는 더블 클릭해서 열기만 하면 되며, 인터넷 없이도 작동합니다). 실전이라면 담당자의 PC 안에서 돌아가는 작은 도구입니다. - 데이터의 소재:
과거의 완공 데이터 (총액·연면적·공종·비목별 실적)는 외부로 유출하지 않습니다 (로컬에서 완결). 원천 데이터는 원가 관리 소프트웨어의 공사 대장이 있다면 그대로 사용하고, 없다면 과거의 실행 예산 표가 수십 장 정도 있으면 충분합니다. 오히려 진짜 수고스러운 작업은 계산이 아니라, 흩어져 있는 실적 (외주 청구서·기술자의 일당·자재 전표)을 '1공사 = 1행'으로 모으는 작업이라고 생각합니다. 수주가 결정되었을 때 잠시 실행하여, 배분안을 2~3개 제시합니다. 상주하지는 않습니다. - 하지 않는 것: 원가 고등의 자동 반영이나 '이익이 최대가 되는 배분' 같은 거창한 것은 만들지 않습니다. 하루 만에 정직하게 만들 수 있는 것은 '총액 내에 들어오는 배분안 + 부족한 비목에 대한 경고'까지입니다.
사용 방법: 데이터 가져오기 → 정답 확인 → 개방
이 도구는 만들었다고 끝이 아닙니다. 오히려 순서가 품질을 결정합니다.
- 가져오기 (取り込み): 과거의 완공 데이터를 읽어 들여, 회사마다 제각각인 비목의 명칭 ('목수/인공/수공' 등)을 공통된 비목으로 통일합니다. -
정답 확인 (答え合わせ): 가장 중요한 공정입니다. 미야모토 씨 본인에게 나온 배분안을 확인받는 과정입니다. "이 2개 안 중에는 이쪽이 낫다, 이유는 이렇다"라고 수정해 줄 때마다, 미야모토 씨의 감각이 도구 쪽으로 옮겨갑니다 —— 정확도를 확인하는 것이 곧 '머릿속을 풀어내는' 작업이 됩니다. 과거 공사로 정답 확인을 반복하며 미야모토 씨의 감각과 맞을 때까지 조정합니다. -
개방 (開放): 미야모토 씨가 승인(OK)을 내린 후에야 비로소 젊은 직원들이 초안 작성에 사용하기 시작합니다. 이후 미야모토 씨는 확인만 하면 됩니다. 그리고 완공할 때마다 데이터가 1행씩 늘어나며 조금씩 똑똑해집니다.
두 가지만은 양보할 수 없는 전제가 있습니다. 하나는, 정답 확인은 '그 사람이 있는 동안'에만 가능하다는 것입니다. 그 사람이 떠나고 나면 확인해 줄 상대가 없습니다. 다른 하나는, 마지막 도장은 개방한 후에도 계속 사람이 찍어야 한다는 것입니다. 도구는 어디까지나 초안일 뿐입니다.
마치며
"저 소장님이라면 총액을 보는 순간 비목별로 배분할 수 있을 텐데"라는 부분을 툴이 아주 조금 대신해 주는 이야기였습니다. 평균값으로 나누면 안건의 타입도, 예비비의 여유 정도도 모두 '평탄화'되어 버립니다. 그릇을 지키고, 하한선을 쌓아 올리고, 서로 깎아 나가는 것 —— 그것이 베테랑이 머릿속에서 하던 일이었습니다. 그리고 마지막 도장은 지금까지처럼 사람이 찍습니다.
내일도 업종을 가리지 않는 "있을 법한 고민"을 하나씩 풀어보겠습니다.
※ 이 연재 「'그 사람밖에 할 수 없는 것'을 풀어내다.」는 특정 개인이나 특정 회사의 이야기가 아닙니다. 가상의 현장을 상정하여, "나밖에 할 수 없다"가 한 사람에게 쌓여가는 구조 그 자체를 매일 하나씩 풀어가려는 시도입니다.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기