실행은 격리하고, 세션은 이어간다: 망분리 환경의 Agent Platform 설계기

1 hour ago 3

초기 Agent Platform의 대화 화면. 사용자가 Agent를 선택하고 업무를 요청합니다.“지난달과 같은 기준으로 이번 달 데이터도 비교해줘.”데이터를 분석하다 보면 자주 받는 요청입니다. 지난번에 쓴 쿼리를 찾아 기간을 바꾸고, 실행 결과를 비교해야 하죠. 빠진 데이터는 없는지, 집계 기준은 그대로인지도 확인해야 합니다. AI Platform 팀은 사람이 매번 반복하던 이 과정을 에이전트가 처리하도록 만들고 싶었습니다.토스는 「전자금융감독규정」의 망분리 요건에 따라 금융 업무를 처리하는 내부망과 인터넷 업무 환경을 분리해 운영하고 있습니다. 자동화하려던 분석에 필요한 데이터도 내부망에 있었고, 외부로 옮길 수 없었습니다. 사람이 내부 도구로 하던 조회와 가공을 대신하려면, 에이전트가 내부망에서 코드를 실행하고 데이터를 분석할 수 있어야 했습니다.그렇다고 에이전트에게 내부망의 모든 파일과 시스템을 열어줄 수는 없었습니다. 모델이 만든 코드가 작업과 관계없는 데이터를 읽거나 파일을 잘못 수정할 수도 있기 때문입니다. 프롬프트로 주의를 주는 것만으로는 이런 실수를 막기 어려웠습니다. 그래서 에이전트의 코드를 샌드박스 안에서 실행하고, 작업에 필요한 파일과 시스템에만 접근하도록 제한했습니다.이전에 하던 작업을 이어가는 것도 중요했습니다. “지난달과 같은 기준으로 비교해줘”라는 요청을 처리하려면, 지난번에 사용한 코드와 집계 기준을 알아야 하니까요. 매번 새 환경에서 시작한다면 사용자는 코드를 다시 준비하고 분석 기준도 다시 설명해야 합니다. 사용자가 같은 내용을 매번 준비하지 않아도 되도록, 작업 파일과 대화 상태를 보관하기로 했습니다.이 글에서는 이 두 가지 요구를 바탕으로 Agent Platform을 설계한 과정을 소개합니다.샌드박스에서 파일과 네트워크 접근을 어떻게 제한했는지실행 환경이 바뀌어도 작업을 계속할 수 있도록 파일과 대화 상태를 어떻게 관리했는지모델이 만든 코드는 어디에서 실행할까플랫폼 관리 기능은 Workspace 밖에 두고, 모델이 만든 코드와 명령은 Workspace 안의 제한된 환경에서 실행합니다.*구조도에 나오는 GenAI Gateway와 MCP Gateway의 역할이 궁금하다면 이전 글을 참고해 주세요.모델은 어떤 코드를 실행할지 결정할 수 있지만, 스스로 프로세스를 띄우거나 파일을 고치지는 않습니다. 모델의 응답에 따라 도구를 실행하고, 그 결과를 다시 모델에 전달하는 프로그램이 필...

Read Entire Article




피플앤툴즈 네트워크
🛍 샵