에이전트 메모리 안전성(Agent Memory Safety)을 위한 설계를 발견했습니다. 이제 외부의 검증이 필요합니다.
요약
에이전트 메모리 시스템에서 단순 검색(Retrieval)과 권한 부여(Authorization)의 차이를 분석합니다. 정확한 메모리를 찾더라도 권한 신호가 없으면 안전하지 않은 행동을 할 수 있음을 지적하며, 거버넌스 메타데이터의 중요성을 강조합니다.
핵심 포인트
- 정확한 메모리 검색이 반드시 안전한 행동을 보장하지 않음
- 메모리에 명시적인 거버넌스 및 권한 메타데이터 포함 필요
- 정확도 중심 검색과 안전성 중심 검색 사이의 트레이드오프 존재
- 액션 레이어에 권한 신호를 전달하는 설계가 핵심
저는 작은 질문 하나로 시작했습니다:
에이전트가 올바른 메모리를 검색(Retrieval)하고도 여전히 잘못된 행동을 할 수 있을까요?
에이전트 메모리는 단순한 검색이 아닙니다. 그것은 검색(Retrieval)에 권한 부여(Authorization)가 더해진 것입니다.
만약 에이전트가 "비밀번호는 X이다"라고 적힌 메모리를 검색했다면, 중요한 질문은 그 메모리가 관련이 있는지뿐만이 아닙니다. 중요한 질문은 해당 메모리가 에이전트가 답변하고, 행동하고, 검증하고, 차단하거나, 거부할 수 있도록 허용된 권한이 있는지 여부입니다.
이러한 구분이 지금까지 이 프로젝트에서 가장 유용한 결과로 이어졌습니다.
요약 버전
두 가지 내부 패킷 제품군(Packet families)에 걸쳐, 저는 동일한 경계선을 발견했습니다:
- 검색기(Retriever)는 정확한 민감 메모리를 찾아낼 수 있지만, 여전히 안전하지 않은 답변을 할 수 있습니다.
- 거버넌스 인식 검색기(Governance-aware retriever)는 정확한 메모리를 놓칠 수 있지만, 여전히 더 안전한 행동을 선택할 수 있습니다.
- 이 패킷 제품군들에서, 민감한 메모리가
governs메타데이터나 권한 신호(Authority signals)를 포함하지 않는 한, 프레임워크는 목표 정확도(Target accuracy)와 행동 안전성(Action safety)을 동시에 달성하지 못했습니다.
더 정확하게는 다음과 같습니다:
민감한 메모리에 명시적인 거버넌스 메타데이터(Governance metadata)와 권한 메타데이터(Authority metadata)가 모두 결여되었을 때, 목표 정확도 중심의 검색(Target-accurate retrieval)은 안전하지 않았습니다. 반면, 권한 신호 기반 검색(Authority-signal-driven retrieval)은 행동 안전성은 유지했으나 목표를 놓치는 현상(Target-blind)이 발생했습니다.
이것이 현재 내부 테스트가 지원하는 최소한의 메타데이터 전제 조건입니다.
아직 외부적으로 검증되지는 않았습니다. 그 부분이 중요합니다.
이를 명확하게 만든 실패 사례
하나의 경계 패킷(Boundary packet)에서, 저는 일반적인 컨텍스트(Context)로 잘못 라벨링된 민감한 메모리들을 생성했습니다.
예시 형태:
{
"memory_type": "context",
"priority": "normal",
...
해당 메모리는 민감한 정보를 포함하고 있었지만, 메타데이터는 행동 계층(Action layer)에 이 메모리가 민감하다는 사실을 알려주지 않았습니다.
그 후 저는 전략들을 비교했습니다.
가장 중요했던 결과는 거버넌스 조정 스코어러(Governance-adjusted scorer)가 아니었습니다.
그것은 범위 우선순위(Scope-precedence) 결과였습니다:
scope_precedence_role_filter_bm25_metadata_text:
target selected: 3/3
action correct: 1/3
...
이것은 매번 올바른 메모리를 찾아냈음을 의미합니다.
그럼에도 불구하고 두 번이나 안전하지 않은 답변을 생성했습니다.
왜일까요?
검색된 메모리들이 일반적인 답변 가능한 컨텍스트 (answerable context)로 표시되었기 때문입니다. 액션 레이어 (action layer)에는 "이것은 민감한 정보입니다; 먼저 검증하십시오"라고 알려줄 권한 신호 (authority signal)가 없었습니다.
정확한 메모리 선택만으로는 충분하지 않았습니다.
트레이드오프 (The Tradeoff)
거버넌스 조정 스코어러 (governance-adjusted scorer)는 다르게 동작했습니다:
governance_adjusted_bm25_metadata_text:
target selected: 1/3
action correct: 3/3
...
검색 정확도 (retrieval accuracy)만을 중요하게 생각한다면 결과가 더 나빠 보일 수 있습니다.
하지만 더 안전했습니다.
이 스코어러는 잘못 라벨링된 민감한 메모리 대신, 태그가 잘 지정된 정책 메모리 (policy memory)를 선택했습니다. 정책은 타겟이 아니었으므로 이는 트랩 실패 (trap failure)로 간주됩니다. 하지만 정책이 권한 메타데이터 (authority metadata)를 포함하고 있었기 때문에, 액션 레이어는 확신을 가지고 답변하는 대신 verify_first를 선택했습니다.
따라서 이 프레임워크는 실제적인 트레이드오프를 드러냈습니다:
| 검색 동작 (Retrieval behavior) | 타겟 정확도 (Target accuracy) | 액션 안전성 (Action safety) |
|---|---|---|
| 권한 메타데이터가 없는 타겟 정확 검색 | 높음 | 안전하지 않음 |
| 권한 신호 기반 검색 | 낮음 | 더 안전함 |
이것이 핵심 발견 사항입니다.
전제 조건 (The Precondition)
이 결과는 이 프레임워크를 위한 최소한의 실행 가능한 메타데이터 전제 조건 (minimum viable metadata precondition)을 시사합니다:
이러한 패킷 패밀리 (packet families)에서, 프레임워크가 액션 안전성 (action safety)을 일관되게 보존하기 위해서는 민감한 메모리에 명시적인
governs메타데이터 또는 권한 신호 (authority signals)가 필요합니다.
권한 신호 (authority signals)란 다음과 같은 필드들을 의미합니다:
memory_type(메모리 유형)priority(우선순위)verification_required(검증 필요 여부)allowed_action_hint(허용된 액션 힌트)- status / supersession metadata (상태 / 대체 메타데이터)
governs란, 특정 메모리가 어떤 액션, 리소스 또는 관할권 (jurisdiction)을 제어할 수 있는지를 명시하는 메타데이터를 의미합니다.
민감한 메모리에 이 두 가지가 모두 없다면, 프레임워크는 예측 가능한 방식으로 성능이 저하됩니다:
- 관련성 기반 검색 (relevance-based retrieval)은 민감한 메모리를 찾아내어 안전하지 않게 답변할 수 있습니다.
- 권한 인식 검색 (authority-aware retrieval)은 안전하지 않은 답변은 피할 수 있지만, 정확한 타겟을 놓칠 수 있습니다.
- 리소스 민감도 (resource sensitivity)만으로는 범위 (scope)에 의해 제어되지 않는 한, 깨끗한 쿼리 (clean queries)까지 과도하게 차단할 수 있습니다.
마지막 부분이 중요했습니다. 저 또한 resource_sensitivity 필드를 테스트해 보았습니다.
게이트가 없는 (Ungated) 리소스 민감도(resource sensitivity)는 실패했습니다. 이는 깨끗하고 일반적인 읽기 쿼리(read queries)에서도 민감해 보이는 정책들을 과도하게 격상시켰습니다.
범위 제한이 있는 (Scope-gated) 리소스 민감도는 더 안전했지만, 핵심 문제를 해결하지는 못했습니다. 만약 민감한 대상에 governs 필드가 없다면, 범위가 지정된 리소스 용어는 중립적인 상태로 유지되었습니다.
따라서 이번 발견은 "메타데이터 필드를 하나 더 추가하면 문제가 해결된다"는 것이 아닙니다.
이번 발견의 핵심은 다음과 같습니다: 메모리 안전성(memory safety)은 시스템이 검색된 메모리가 무엇을 승인할 수 있는지 결정할 수 있을 만큼 충분한 권한 메타데이터(authority metadata)를 보유하고 있는지 여부에 달려 있습니다.
이것이 왜 단순한 "메타데이터가 중요하다"는 수준이 아닌가
"메타데이터가 중요하다"는 표현은 너무 모호합니다.
이 결과는 훨씬 더 구체적입니다:
governs가 존재하지만 권한(authority)이 없는 경우, 여전히 행동의 모호함(action ambiguity)이 남을 수 있습니다.- 권한은 존재하지만
governs가 없는 경우, 행동의 안전성(action safety)은 유지할 수 있으나 대상에 대해 무지(target-blind)해질 수 있습니다. - 둘 다 없는 경우, 잘못된 확신(false-certainty) 오류를 발생시킬 수 있습니다.
이러한 분리(split)가 이번 결과를 유용하게 만들었습니다.
이것은 프로젝트를 단순한 검색 실패 목록에서 더 날카로운 설계 원칙으로 탈바꿈시켰습니다:
에이전트 메모리 시스템은 관련성(relevance)을 권한(authority)으로 취급해서는 안 됩니다. 만약 어떤 메모리가 민감한 행동에 영향을 미칠 수 있다면, 해당 메모리는 시스템에 자신이 무엇을 통제(govern)할 수 있는지, 또는 어떤 행동 클래스(action class)를 승인할 수 있는지를 알려주는 메타데이터를 필요로 합니다.
두 번째 도메인 검증
이것을 하나의 원칙으로 다루기 전에, 저는 다른 도메인인 산업 안전 / 위험 유지보수(industrial safety / hazardous maintenance) 분야에서 동일한 조건을 실행해 보았습니다.
동일한 패턴이 나타났습니다.
bm25_metadata_text:
target selected: 3/3
action correct: 1/3
...
다시 한번:
- 대상이 정확한 검색(target-accurate retrieval)은 안전하지 않았습니다.
- 권한 신호 기반 검색(authority-signal-driven retrieval)은 행동 측면에서는 안전했지만 대상에 대해 무지(target-blind)했습니다.
이것은 여전히 내부적인 증거입니다. 하지만 더 이상 단일 도메인에 국한된 문제는 아닙니다.
제가 주장하지 않는 것들
저는 이 프레임워크가 검증되었다고 주장하는 것이 아닙니다.
저는 이 패킷 크기들이 벤치마크 수준이라고 주장하는 것이 아닙니다.
저는 이것이 에이전트 메모리 안전성 문제를 해결한다고 주장하는 것이 아닙니다.
가장 큰 타당성 위협은 순환 논리(circularity)입니다. 제가 패킷 구조, 메타데이터 스키마(metadata schema), 평가기(evaluator), 그리고 기대되는 행동(expected actions)을 직접 작성했기 때문입니다.
현재의 주장은 더 좁은 범위입니다:
두 가지 내부 패킷(packet) 제품군 전반에 걸쳐 동일한 경계가 나타났습니다: 민감한 메모리에
governs와 권한(authority) 메타데이터가 모두 결여된 경우, 타겟 정확도가 높은 검색(target-accurate retrieval)은 안전하지 않았습니다. 반면, 권한 신호 기반 검색(authority-signal-driven retrieval)은 행동 안전성(action safety)은 유지했으나 타겟을 식별하지 못하는 상태(target-blind)가 되었습니다.
이것이 정직한 연구 범위입니다.
다음에 필요한 것
다음 단계는 외부 저자의 참여입니다.
이 패킷들을 설계하지 않은 누군가가 자신이 선택한 도메인에서 작은 메모리 검색(memory-retrieval) 패킷을 작성해 주어야 합니다.
테스트는 간단합니다:
- 세 가지 짧은 시나리오
- 작은 메모리 저장소
- 메타데이터 품질이 혼합된 민감한 메모리
- 권한 신호(authority signals)가 포함된 일부 메모리
- 포함되지 않은 일부 메모리
- 작성자가 자연스럽게 필요하다고 생각하지 않는 한
governs필드는 포함하지 않음
그 후 저는 평가기(evaluator)를 블라인드 테스트로 실행하고 어떤 일이 발생하는지 보고할 것입니다.
전체 연구 저장소(repo), 패킷, 그리고 평가기는 공개되어 있습니다: github.com/keniel13-ui/ai-memory-judgment-demo. 패킷을 확인하거나 평가기를 직접 실행하고 싶다면 모든 것이 그곳에 있습니다.
전제 조건이 성립한다면, 이 원칙은 더욱 강력해질 것입니다.
만약 원칙이 깨진다면, 그것은 훨씬 더 유용합니다. 프레임워크에 어떤 조건이 누락되었는지 우리에게 알려주기 때문입니다.
빌더(Builders)들에게 던지는 질문
만약 여러분이 에이전트 메모리 시스템을 구축한다면, 이 패턴이 여러분이 목격한 것과 일치합니까?
메모리에 권한 메타데이터가 없어서 올바른 메모리를 검색했음에도 잘못된 행동을 취하는 시스템을 본 적이 있습니까?
아니면 그 반대인가요: 정확한 타겟 메모리를 검색하지 못했음에도 불구하고 정책 메모리(policy memory)를 따라 안전하지 않은 행동을 피하는 시스템을 본 적이 있습니까?
그것이 제가 찾고 있는 피드백입니다.
이 연구의 가장 강력한 버전은 제가 더 큰 주장을 함으로써 완성되지 않습니다. 다른 사람들이 이 전제 조건을 깨뜨리려고 시도할 때 완성될 것입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기