가상의 팀이 주간보고를 자동화합니다. 기록을 모으고, 수치를 합산하고, 쟁점을 요약하면 됩니다. 그런데 AI가 매번 조회·계산 같은 기능(도구)을 골라야 하도록 구현하니 이미 가져온 기록을 다시 찾고, 합계 뒤에 다른 자료를 조회하면서 실행 경로가 늘어납니다. 필요한 결과는 같은데 실행 시간과 오류를 추적할 부담이 늘어난 것입니다.
반대로 지연 원인을 조사하다 새 쟁점이 드러나는 업무는 처음부터 조회 순서를 정하기 어려울 수 있습니다. 오류는 이미 해결됐는데 일정이 계속 밀리고, 읽은 기록에서 다른 팀의 선행 작업이 새로 드러났다고 해 봅니다. 무엇을 추가로 확인해야 할지는 그 내용에서 판단해야 합니다. 미리 정한 몇 가지 분기로 충분한지부터 살펴볼 수 있습니다.
두 장면의 차이는 AI를 사용하는가보다 누가 다음 단계를 정해야 하는가에 있습니다. 공개 연구와 개발 글을 바탕으로, 에이전트의 자율성이 필요한 지점과 그 자율성에 따라 추가되는 설계를 살펴봅니다. 보고서 장면은 설명용 가상 예시입니다.
01순서를 미리 정할 수 있는 일은 고정 절차로 시작할 수 있습니다
Anthropic은 2024년 Building effective agents에서 워크플로와 에이전트를 구분했습니다. 워크플로는 미리 정한 코드 경로로 모델과 도구를 연결하고, 에이전트는 모델이 실행 흐름과 도구 사용을 동적으로 정합니다. 모든 제품에 통일된 정의는 아니지만 설계 선택에 유용한 구분입니다. 워크플로와 에이전트의 구분
보고서의 “기록 수집→합계 계산→요약”은 다음 단계를 미리 정할 수 있습니다. 요약 단계에서 언어모델을 사용해도 흐름 자체를 모델이 고를 필요는 없습니다. 단계별 입력과 출력을 확인하며 정해진 순서로 실행하는 구조를 먼저 검토할 수 있습니다.
이때 단계를 나누는 목적은 호출을 많이 만드는 데 있지 않습니다. 숫자 계산과 문장 작성처럼 확인 방법이 다른 작업을 분리하면 오류가 어디서 생겼는지 보기 쉬워질 수 있습니다. 반면 너무 잘게 나누면 중간 결과를 전달하고 검사하는 비용이 늘어납니다. 실제 실패가 분리로 줄어드는지 보아야 합니다.
규칙으로 분류할 수 있는 입력을 상황별 경로로 보내는 방식도 가능합니다. 매번 다른 순서를 새로 고르게 하는 대신, 지연 유형이 분명하면 해당 경로로 보내도록 정할 수 있습니다. 이 분류가 얼마나 정확한지, 예외가 얼마나 자주 생기는지는 별도의 확인 대상입니다. 고정 절차에도 분기와 실패 처리는 필요합니다. 테스트 지연이면 오류 기록을 읽는다는 두 갈래 규칙만으로 충분하다면 고정 경로로 처리할 수 있습니다. 본문의 에이전트 검토 대상은 조회 중 새 쟁점이 드러나 미리 정한 경로로 충분히 다루기 어려운 부분입니다.
02관찰한 결과가 다음 행동을 바꾸면 에이전트의 판단을 검토합니다
2022년 ReAct 논문은 모델의 판단과 자료 조회 같은 행동을 연결해 새로 관찰한 내용을 다음 판단에 사용하는 접근을 연구했습니다. 이 연구를 모든 에이전트의 유일한 정의나 출발점으로 보지는 않습니다. 다만 모델이 답을 만드는 과정에 외부 환경의 관찰을 연결하는 방향을 이해할 수 있습니다. ReAct 논문
지연 조사에 적용하면 “자료를 읽는다→관찰한 내용에서 부족한 근거를 정한다→다음 자료를 선택한다”는 흐름을 생각할 수 있습니다. 앞 절의 “테스트 지연이면 오류 기록 조회”는 미리 정할 수 있는 분기입니다. 에이전트 검토 대상은 그 뒤입니다. 오류가 이미 해소됐는데 일정은 여전히 밀리고, 새로 읽은 기록에서 예상하지 못한 다른 팀의 선행 작업이 드러났다면 그 내용을 바탕으로 다음에 확인할 자료와 질문을 골라야 합니다. 미리 정한 분기로 충분하지 않은 부분에서 이 판단을 검토할 수 있습니다.
요리로 비유하면 정해진 계량대로 따르는 조리와 재료가 없을 때 대체재를 고르는 조리의 차이입니다. 뒤의 경우에는 현재 재료와 주문 조건을 보고 다음 행동을 정해야 합니다. 그렇다고 모든 조리 단계를 자유롭게 바꾸는 것이 필요한 것은 아닙니다.

가상의 보고서 시스템에서도 기록 수집과 합계는 정해진 절차로, 원인 조사는 제한된 범위의 에이전트로 나눌 수 있습니다. 한 업무 안에서 두 구조를 함께 쓰는 선택입니다. 자율성을 업무 전체의 속성으로 보기보다 어느 판단을 맡길 것인지 정하면 비교가 구체적입니다.
03다음 행동을 맡길수록 도구와 권한의 의미가 중요해집니다
에이전트가 사용할 도구에는 무엇을 할 수 있는지와 어떤 결과를 돌려주는지가 드러나야 합니다. 비슷한 도구가 여러 개 있거나 결과가 모호하면 선택과 해석의 부담이 커집니다. “조회 실패”를 빈 결과로 돌려주면 모델이 자료가 없는 것으로 판단할 수도 있습니다. 이는 도구를 업무에 연결할 때의 설계 고려 사항입니다.
가상 지연 조사에서 자료를 읽는 권한, 담당자에게 질문하는 권한, 일정표를 수정하는 권한은 다릅니다. 원인 조사를 맡겼다고 일정 변경까지 자동으로 허용한 것은 아닙니다. 어디까지 읽고 어디부터 변경할 수 있는지, 어떤 결과는 사람이 확인해야 하는지 정해야 합니다.
원인을 찾지 못했을 때의 행동도 필요합니다. 미확인으로 남길지, 추가 자료를 요청할지, 사람에게 넘길지 선택합니다. “반드시 원인을 찾아라”만 남겨 두면 확인되지 않은 추정이 근거처럼 쓰이는지 살펴야 합니다. 가상 업무에서는 승인 계획과 작업 기록의 읽기만 허용하고, 사람에게 질문하거나 일정을 수정하는 일은 넘길 수 있습니다. 필요한 근거를 찾지 못한 채 같은 조회가 반복되면 확인한 범위와 미확인 질문을 남기고 사람에게 넘기는 식으로 경계를 정할 수 있습니다.
도구 응답은 다음 행동의 근거가 됩니다. 따라서 어떤 자료를 보았고 무슨 결과로 다음 조회를 골랐는지 추적할 수 있으면 오류를 분석하기 쉽습니다. 최종 보고서가 틀렸을 때 검색 대상이 잘못됐는지, 읽은 내용을 오해했는지, 근거가 없는 결론을 내렸는지 나눌 수 있어야 합니다. 모델이 긴 판단 설명을 남겨도 어떤 자료를 근거로 삼았는지 연결되지 않으면 추적이 어렵습니다.
04자율성을 늘리면 비용과 멈출 조건도 늘어납니다
에이전트는 결과에 따라 경로를 바꾸므로 같은 종류의 업무에서도 조회 횟수와 실행 시간이 달라질 수 있습니다. 이미 확인한 자료를 반복 조회하거나 초기 가설을 확인하는 자료만 찾는다면 비용이 늘어도 새로운 근거가 생기지 않을 수 있습니다. 언제 계속하고 언제 멈출지 정하는 이유입니다.
멈출 조건은 업무의 목적과 연결해야 합니다. 필요한 쟁점의 근거가 확인됐는지, 새로운 정보가 더 이상 나오지 않는지, 주어진 시간 안에 어디까지 확인했는지 살펴볼 수 있습니다. 시간이나 호출 한도에 닿았을 때에는 완료라고 쓰기보다 확인한 범위와 미확인 항목이 구분되어야 합니다.
이런 조건은 실제 사례에서 평가해야 합니다. 자율성을 너무 좁히면 필요한 조사를 끝내지 못할 수 있고, 너무 넓히면 목적과 관계없는 조회가 계속될 수 있습니다. 제한을 강하게 두었다는 사실만으로 좋은 설계라고 판단할 수 없습니다. 해당 업무에서 중요한 실패를 줄였는지 확인해야 합니다.
도입을 비교할 때에는 다음 행동이 달라지는 사례를 포함합니다. 정해진 순서로 충분한 사례만으로 평가하면 에이전트가 주는 이점을 보기 어렵고, 반대로 예외 사례만 보면 일반적인 실행 비용을 놓칠 수 있습니다. 두 종류를 나누어 결과 품질, 대기 시간, 호출 비용, 사람의 개입과 복구를 살펴야 합니다.
Anthropic의 설계 글도 더 복잡한 구조에 따른 유연성을 얻는 대신 시간과 호출 비용이 늘 수 있음을 다룹니다. 다만 특정 벤더의 권고가 우리 업무에서의 개선을 증명하지는 않습니다. 같은 입력과 성공 기준으로 비교하고, 얻은 품질이 운영 비용을 감당할 만큼 필요한지 판단해야 합니다.
05마치며: 업무 전체보다 판단 하나의 자율성을 정합니다
업무 단계를 적고 각 단계 옆에 순서를 미리 정할 수 있는지, 결과를 보아야 다음 행동을 정할 수 있는지 표시해 보시길 권합니다. 뒤의 부분에서 에이전트의 판단이 도움이 되는지 검토하면 도입 범위가 구체적입니다.
그다음 사용 가능한 도구와 권한, 근거가 없을 때의 처리, 멈출 조건, 최종 확인을 연결합니다. 에이전트를 도입했다는 사실보다 어떤 판단을 맡겼고 어떤 실패를 줄였는지가 설계의 성과입니다.
다음 편에서는 이런 업무가 중간에 멈춘 뒤에도 이어질 수 있도록 도구와 진행 기록, 검사를 연결하는 실행 환경인 하네스를 살펴봅니다.
이 글은 AI의 도움을 받아 작성했습니다.
