인공지능

민감한 시스템에서 AI 에이전트를 예측 가능하게 만드는 방법

Stack Overflow Blog는 언어 모델을 비결정적 단일 노드로 제한하고 나머지 시스템은 테스트 가능한 일반 코드로 맡길 것을 제안한다. 이 방법론에는 고정 흐름도, 구조화된 출력, 독립적 검증, 인간 승인, 모든 결정을 삭제할 수 없는 기록이 포함된다.

2026-10-07
4 분 읽기
1 조회수
certi.news Editorial Team
민감한 시스템에서 AI 에이전트를 예측 가능하게 만드는 방법

자금 이체, 의료 또는 인프라를 다루는 시스템에서는 AI 에이전트가 대부분의 경우에 성공하는 것만으로는 충분하지 않다. 6단계로 구성된 프로덕션 환경 언어 모델 시스템 운영 성숙도 모델의 첫 번째 수준에서 핵심 아이디어는 모델을 하나의 노드 안에 가두어, 그 주변은 테스트하고 검토하며 감사할 수 있는 일반 코드로 유지하는 것이다.

이 자료는 이 접근법을 ‘결정성 계층’으로 설명한다. 시스템은 복잡한 입력에 대해 판단하는 모델의 능력을 유지하지만, 모델이 비즈니스 상태에 직접 권한을 행사하거나 민감한 작업을 실행하는 것은 막는다.

에이전트는 제안하지만 실행하지 않는다

에이전트는 컨텍스트를 제안된 결정으로 변환하는 순수 함수로 작동한다. 에이전트는 결정 식별자, 필요한 권한, 제안된 변경 사항, 신뢰도, 라우팅 경로, 근거와 증거를 생성하지만 비즈니스 상태를 변경하지는 않는다. 결과는 자료에서 substrate라고 부르는 별도의 구성 요소로 전달되며, 이 구성 요소는 필요한 승인을 받은 뒤에만 결과를 적용한다.

이러한 분리는 시스템에 세 가지 실질적인 특성을 부여한다. 외부 세계를 시뮬레이션하지 않고도 에이전트를 테스트할 수 있고, 잘못된 출력의 영향을 거부할 수 있는 제안으로 축소하며, 에이전트 간 숨겨진 부작용의 연쇄를 방지한다. 그 결과 감사 가능한 질문은 다음과 같이 된다. 모델은 무엇을 제안했는가, 누가 승인했는가, 실제로 무엇이 적용되었는가?

자유로운 루프 대신 고정된 흐름도

자료는 ReAct 모델이 매번 다음 단계를 결정하도록 두는 대신, 각 기능에 대해 고정된 흐름도를 제안한다. 예시에 따르면 요청은 결정 입력, 입력 검사, 컨텍스트 로딩을 위한 노드를 거친 다음, 언어 추론을 위한 단일 노드로 이동한다. 그 뒤에는 출력 가드레일과 검증, 선택적 중재, 신뢰도 집계, 라우팅, 제안 준비, 메모리 및 결정 로그 기록이 이어진다.

이 구조는 실행 경로를 사전에 알 수 있게 하고, 실행 시간과 비용을 제한하며, 각 노드를 개별적으로 테스트할 수 있게 한다. 비결정적 노드는 llm_decision이며, 구조화된 입력을 받아 구조화된 출력을 생성한다. 반면 허용된 값, 스키마 일치 여부, 비즈니스 규칙의 검증은 전문 코드가 담당한다.

구조화된 출력이 결정의 정확성을 의미하지는 않는다

자료는 자유 형식 텍스트에 의존한 뒤 그 안에서 결정을 추출하려는 방식을 경고한다. 대안은 JSON 스키마, 도구 호출 또는 문법 규칙에 따른 제한된 생성을 사용하는 것이다. 그런 다음 결과를 검증하고 일치하지 않을 경우 재시도하되, 재시도 횟수에는 제한을 두고 다음 단계에 추측을 전달하는 대신 안전하게 실패해야 한다.

그러나 이 절차는 출력의 형식을 통제할 뿐 판단의 정확성을 보장하지는 않는다. JSON 객체가 구문상 올바르더라도 잘못된 결정을 포함할 수 있다. 따라서 비즈니스 규칙 검증, 평가, 독립적인 신뢰도 신호는 이후 계층에 계속 유지해야 한다.

신뢰도, 에스컬레이션, 삭제할 수 없는 로그

신뢰도는 모델 신호, 검증 결과, 민감한 결정의 표본 추출 시 두 번째 모델의 검토 결과를 조합해 산출한다. 그런 다음 시스템은 결정을 자동 실행으로 라우팅하거나, 인간 검토를 권고하거나, 인간 검토를 강제하거나, 결정을 거부한다. 자료는 신뢰도 점수가 에이전트가 스스로 설정하는 필드가 되어서는 안 되며, 독립적인 신호를 바탕으로 계산된 결과여야 한다고 강조한다. 또한 임계값은 보수적으로 시작하고 데이터가 안전성을 입증할 때에만 낮춰야 한다.

또한 모든 결정은 삭제할 수 없는 별도의 로그에 기록해야 한다. 이 로그에는 모델 및 프롬프트 버전, 결정 입력의 요약, 결정과 신뢰도, 라우팅 경로가 포함된다. 수정 사항이 이전 기록을 변경해서는 안 되며, 대신 대체하는 결정을 가리키는 새로운 기록으로 추가되어야 한다. 자료는 민감한 입력을 원시 데이터 대신 해시로 저장하되, 부하가 걸리는 상황에서도 기록 작업을 누락하지 말 것을 권고한다. 로그는 단순한 모니터링 데이터가 아니라 기본 참조 자료이기 때문이다.

반복 루프는 언제 허용되는가?

이 방법론은 ReAct 루프를 완전히 거부하지는 않지만, 단계 수와 순서가 검색 중 모델이 발견하는 내용에 따라 달라지는 경우로 제한한다. 이 경우에도 반복 횟수에 대한 명시적인 한도, 각 기능에 허용되는 도구 목록, 모든 단계의 기록을 적용해야 하며, 출력을 동일한 가드레일, 검증, 신뢰도, 라우팅 절차로 다시 보내야 한다. 결과에 도달하기 전에 한도에 도달하면 무한 루프가 아니라 인간 검토 경로로 전환한다.

편집자 해설: 여기서 진정한 변화는 더 나은 모델을 선택하는 것이 아니라 신뢰의 중심을 ‘에이전트의 자율성’에서 에이전트를 둘러싼 경계의 설계로 옮기는 것이다. 이 설계는 판단의 정확성이나 신뢰도 보정 문제를 자동으로 해결하지는 않지만, 실패를 격리하고 재현하며 검토할 수 있게 한다. 따라서 지속적인 평가나 각 기능에 대한 전문 검증의 대체재가 아니라, 결과의 영향이 큰 시스템을 위한 기본 토대로 적합하다.

뉴스 출처
Stack Overflow Blog
원문 보기 ↗
c
작성자

certi.news Editorial Team

같은 카테고리

추천 기사

모든 뉴스 보기