GraphQL로 AI 환각을 완화하고 개인정보를 보호하기

F5 에코시스템 | 2023년 11월 09일

생성형 AI는 운영 및 개발 환경에서 많은 기회를 제공하지만, 생성형 AI를 보안 솔루션에 통합하려는 이들에게는 수많은 과제를 안겨주기도 합니다.

이러한 과제 중 하나는 애플리케이션과 API를 사기 및 악용으로부터 보호하는 데 사용되는 보안 정책처럼 제3자 AI 서비스와 공유할 수 없는 민감한 콘텐츠에서 LLM(대규모 언어 모델)을 통해 인사이트를 얻는 방법입니다.

LLM의 두 번째 과제는 환각을 일으키는 경향이 있다는 점이며, 특히 LLM이 잘 알지 못하는 주제와 관련된 콘텐츠를 분석하거나 생성하도록 요청받을 때 더욱 그렇습니다. 이는 DEX와 같은 도메인 특화 언어에서 흔히 발생합니다. DEX는 명확하게 정의되어 있지만 널리 사용되지는 않는 순수 함수형 정적 타입 비튜링 완전 언어입니다.

첫 번째 과제인 데이터 프라이버시는 처음에는 극복하기 어려운 문제처럼 보입니다. 보안 기업은 정책을 포함한 모든 고객 데이터의 프라이버시와 보안을 매우 중요하게 다뤄야 합니다. 따라서 LLM을 활용해 정책에서 인사이트를 도출하면 운영 방식과 고객 모두에게 도움이 되지만, 민감한 데이터를 제3자 LLM과 공유하지 않으면서도 인사이트를 얻을 수 있는 솔루션이 필요합니다. 즉, LLM이 해당 데이터를 직접 처리할 수 없도록 해야 합니다. 두 번째 과제인 환각은 현재 업계 전체가 해결하기 위해 고군분투하고 있는 문제이며, 특히 정책, 구성 및 코드에 관한 답변에서 두드러집니다.

사람은 프로그램을 일련의 문자로 보지만, 컴파일러는 다르게 인식합니다. 컴파일러에서 DEX 프로그램은 AST(추상 구문 트리)라는 데이터 구조의 한 유형입니다. 이 트리는 방향성 비순환 그래프이므로 해당 정책을 그래프로 표현하기에 적합합니다. 이에 따라 저희가 찾은 솔루션은 그래프 데이터베이스(Neo4j)를 활용하고 GPT 에이전트를 사용해 이 데이터베이스에 대한 GraphQL 쿼리를 생성합니다. 이 접근 방식은 데이터가 포함된 그래프 데이터베이스를 GraphQL로 쿼리하면서도 제3자 LLM에 데이터가 노출되지 않도록 개인정보를 보호할 수 있으므로 첫 번째 과제를 효과적으로 해결합니다.

두 번째 과제인 환각은 극복하기가 더 어렵지만, 여기에서도 여러 AI 기법을 활용해 위험을 완화하는 당사의 접근 방식이 효과적입니다. 또한 GraphQL은 널리 사용되고 문서화가 잘된 쿼리 언어로, 대부분의 GPT 모델에 익숙하며 다양한 도구를 사용해 구문을 쉽게 검증할 수 있습니다. 이를 통해 환각이 발생할 가능성을 줄이고 사용 전에 정확성을 확인할 수 있습니다.

AI 환각이란 무엇인가요?

AI 환각은 생성형 AI가 실제 데이터나 패턴에 근거하지 않고 조작되거나 왜곡된 결과를 생성하는 현상을 말합니다. 이러한 환각은 AI 학습 데이터의 한계나 편향으로 인해 발생하거나, AI가 이전에 접해 보지 못한 상황에 대한 결과를 생성하려 할 때 흔히 나타납니다. 환각은 조작되거나 무의미한 콘텐츠 또는 논리적으로 타당하지 않거나 입력 데이터와 일치하지 않는 결론의 형태로 나타날 수 있습니다. 예를 들어 텍스트 생성 AI는 그럴듯해 보이지만 실제로는 무의미하거나 주어진 맥락과 관련이 없는 문장을 생성할 수 있습니다.

GraphQL이란 무엇인가요?

GraphQL은 API(애플리케이션 프로그래밍 인터페이스)를 위한 오픈 소스 쿼리 언어이자, 데이터에 정의된 타입 시스템을 사용하여 이러한 쿼리를 실행하는 서버 측 런타임입니다. Meta(Facebook)에서 개발했으며, 기존 RESTful API보다 더 효율적이고 강력하며 유연한 대안을 제공하도록 설계되었습니다. GraphQL API는 조회하거나 변경할 수 있는 데이터 타입을 명시하는 스키마로 정의됩니다. 이러한 강력한 타입 지정 덕분에 더 나은 도구 지원, 인트로스펙션 및 유효성 검사가 가능합니다.

접근 방식

보안에 생성형 AI를 안전하게 통합하기 위해 저희는 GPT 에이전트 방식을 채택했습니다. 문서화가 잘된 언어를 사용하면 환각의 위험을 줄이는 데 도움이 되지만, 민감한 데이터를 OpenAI에 전송하지 않으면서도 오류를 프로그래밍 방식으로 검사할 수 있는 형식으로 에이전트의 출력 범위를 제한할 방법이 필요했습니다. GraphQL은 대부분의 질문에 답할 수 있을 만큼 표현력이 뛰어난 동시에 알려진 스키마를 기준으로 프로그래밍 방식의 검증이 가능한 추상화 계층이므로, 출력 형식으로 사용하기에 적합합니다.

이 접근 방식을 DEX에 적용했지만, 소셜 네트워크, 네트워크 및 인프라 토폴로지, 공급망, 지리 공간(매핑) 데이터처럼 상호 연결성과 관계성이 충분한 모든 데이터 세트에도 적용할 수 있습니다.

PC 그래프 아키텍처

PC-그래프 아키텍처는 DEX를 그래프 표현으로 변환하는 구성 요소로 이루어져 있습니다. 이렇게 생성된 그래프 데이터는 Neo4j 데이터베이스에 저장됩니다. GPT 에이전트의 출력은 API를 통해 GraphQL Apollo 서버로 전송할 수 있으며, 이 서버는 그래프 데이터베이스를 대상으로 쿼리를 실행합니다.

당사의 에이전트는 GPT4를 사용하여 DEX로 작성된 정책에 관한 자연어 정보 요청에 응답합니다. 에이전트는 pc-graph API를 이해하고, 사용자가 검토한 후 실행할 수 있는 적절한 쿼리 또는 뮤테이션을 생성하여 응답합니다.

pc-graph API뿐만 아니라, 에이전트는 사용되는 라이브러리와 DEX 언어의 일부 개념도 이해합니다. 최적의 결과를 제공할 수 있도록 런타임에 컨텍스트에 포함할 정보를 신중하게 선별합니다.

이로 인해 발생하는 한 가지 문제는 에이전트가 스키마의 관련 부분뿐만 아니라 라이브러리에서 생성되는 추가 타입, 쿼리, 뮤테이션을 포함하는 neo4j-graphQL 문서와 같은 보충 자료까지 담기 위해 큰 컨텍스트를 필요로 한다는 점입니다. GPT4-8k를 사용하면 적절한 인컨텍스트 학습을 수행할 공간이 부족해집니다. 32k 컨텍스트를 사용하면 만족할 만한 결과를 얻을 수 있지만, 추가 비용이 발생합니다. 예를 들어 OpenAI에 요청할 때마다 GraphQL SDL(스키마 정의 언어)을 전송해야 합니다. GPT4 대화형 모델을 스키마로 미세 조정하여 컨텍스트에 스키마를 포함할 필요를 없앨 수 있다면 문제가 되지 않겠지만, 현재 OpenAI에서는 이를 지원하지 않습니다.

GPT4의 결과를 개선하는 세 가지 AI 접근 방식을 확인했습니다:

  1. 사고의 연쇄
    • 사고의 연쇄(CoT)는 인간과 유사한 사고 과정을 모방하는 AI 개념으로, 인간이 생각을 사슬처럼 연결하는 방식과 유사하게 시스템이 아이디어나 개념의 논리적 흐름을 따를 수 있도록 합니다. 이는 자연어 이해, 추론 및 맥락 파악에 도움이 됩니다. 이 기법은 최첨단 모델인 GPT-4에 적용할 때 최상의 결과를 냅니다.
  2. 성찰형 AI
    • 성찰형 AI는 자기 인식 AI 또는 성찰 능력을 갖춘 AI라고도 하며, 자신의 행동과 처리 과정을 스스로 성찰하고 이에 관해 의사 결정을 내릴 수 있는 인공지능 시스템을 의미합니다. 이러한 수준의 AI는 더 높은 수준의 자기 인식과 자기 평가를 수반하므로 기존의 머신러닝과 기본적인 의사 결정 능력을 뛰어넘습니다. 언어적 강화 학습을 활용하는 언어 에이전트 프레임워크인 Reflexion은 “작업 피드백 신호를 언어로 성찰한 다음, 이후의 시도에서 더 나은 의사 결정을 내릴 수 있도록 자체 성찰 텍스트를 일화 기억 버퍼에 보관합니다."
  3. 자기 자신과 대화하기
    • 대화 기반 해결 에이전트(DERA)는 피드백을 주고받아 LLM의 출력을 반복적으로 개선하는 방법으로 제시되었습니다. 이 기법은 정보 처리를 담당하는 연구자와 최종 판단을 내리는 결정자라는 두 에이전트를 사용합니다. 두 에이전트의 상호작용은 대화 형식으로 이루어지며, 결정자에게 최종 출력에 대해 자율적으로 판단할 권한을 부여합니다.

마지막 단계로, GraphQL 쿼리의 구문 오류를 정적으로 검사하는 도구를 활용하여 초기 완화 조치를 통과했을 수 있는 환각을 찾아냅니다.

GPT 에이전트 다이어그램

이 설계는 동일한 프롬프트에서 먼저 세 가지 잠재적 답변을 생성함으로써 더욱 개선됩니다. 이렇게 하면 주어진 프롬프트에 드는 시간과 비용을 줄일 수 있을 뿐만 아니라, 답변의 올바른 요소가 나타날 가능성이 높아져 일관성도 향상됩니다. 또한 가능성은 낮지만 정확한 선택지를 탐색할 수 있도록 무작위 변형을 적용할 여지도 확보할 수 있습니다.

이러한 접근 방식을 통해 비공개 데이터를 공유하지 않고도 정책에서 인사이트를 얻을 수 있었습니다. 또한 쿼리 결과의 품질과 일관성이 크게 향상되었으며, 특히 여러 필터 및/또는 집계 함수를 포함하는 대규모 또는 복잡한 쿼리를 작성하는 작업에서 환각 현상이 눈에 띄게 감소했습니다.

어떤 면에서는 두 마리 토끼를 모두 잡는 셈입니다. 창의적인 에이전트와 결정론적인 에이전트 중 하나를 선택해야 할 때, 우리는 그저 두 가지 방식을 모두 사용합니다.

공유

관련 블로그 게시물

AI 시대의 새로운 애플리케이션 제공 원칙으로 복잡성 극복하기
F5 에코시스템 | 2025. 02. 20.

AI 시대의 새로운 애플리케이션 제공 원칙으로 복잡성 극복하기

보안, 일관성, 완전 자동화에 중점을 둔 애플리케이션 제공의 새로운 6가지 원칙을 도입하여 복잡성 없이 하이브리드 멀티클라우드의 유연성을 누리세요.

디지털 혁신을 가속화하는 6가지 기술 역량
F5 에코시스템 | 2023. 01. 05.

디지털 혁신을 가속화하는 6가지 기술 역량

오늘날의 엔터프라이즈 아키텍처에는 기술 변화를 주도하는 데 핵심적인 민첩성, 확장성, 보안 및 관찰 가능성이 부족하지만, 이 여섯 가지 핵심 역량은 기업이 디지털 혁신 전반에 걸쳐 위험과 과제를 관리하는 데 도움이 될 것입니다.

하이브리드 근무가 ID 중심 보안으로의 전환을 이끌고 있습니다
F5 에코시스템 | 2021. 08. 16.

하이브리드 근무가 ID 중심 보안으로의 전환을 이끌고 있습니다

자동화와 디지털화의 폭발적인 성장에 하이브리드 근무 모델로의 전환 추세가 더해지면서, IP 기반 보안에서 벗어나 ID 기반 액세스 전략으로 전환하는 움직임이 더욱 가속화될 것입니다.

관점의 현대화: 애플리케이션에서 경험으로
F5 에코시스템 | 2021. 04. 05.

관점의 현대화: 애플리케이션에서 경험으로

그리스와 로마의 신들처럼, 여러 신화에서도 동일한 존재가 다양한 모습으로 나타나는 것을 볼 수 있습니다. 본질적으로 각각의 화신은 기존 존재가 새로운 얼굴로 드러난 것입니다. 디지털 세계에서도 이와 비슷한 양상이 나타납니다. 우리가 ‘애플리케이션’이라고 부르는 것들은 흔히 기존 기능이 새로운 형태로 구현된 것이라 볼 수 있습니다.

코로나19 이후 기업 결제의 디지털 전환
F5 에코시스템 | 2020. 06. 01.

코로나19 이후 기업 결제의 디지털 전환

디지털 결제는 과거의 현금만큼이나 보편화되었습니다. 코로나19 팬데믹으로 인한 봉쇄 조치는 소비자의 디지털 결제 서비스 의존도를 더욱 빠르게 높였습니다. 기업의 디지털 결제 도입 역시 가속화되었습니다. 대중을 상대로 영업하든 하지 않든 기업에는 여전히 지급해야 할 대금과 받아야 할 대금이 있기 때문입니다.

공급망 해킹과 보안에서 하드웨어의 역할
F5 에코시스템 | 2018. 10. 08.

공급망 해킹과 보안에서 하드웨어의 역할

수석 아키텍트 Dave Schmitt와 CTO 오피스가 최근 Bloomberg의 Super Micro 관련 기사를 계기로 하드웨어 보안 전문성의 중요성을 되짚어봅니다. 또한 이 글에서는 시스템이 안전하게 보호되고 있는지 확인하기 위해 공급업체에 물어봐야 할 질문도 소개합니다.