당신의 AI는 만료된 규칙을 따릅니다. 당신도 마찬가지입니다.
요약
AI 에이전트의 메모리 감사 도구를 개발하며 겪은 시행착오를 다룹니다. 단순 키워드 매칭 방식이 가진 한계와 어휘 중심 탐지가 어떻게 오탐과 미탐을 유발하는지, 그리고 권위 관계를 파악하는 것이 왜 중요한지 설명합니다.
핵심 포인트
- AI 에이전트의 오래된 지침을 찾아내는 메모리 감사 도구 개발 과정 공유
- 단순 어휘(vocabulary) 기반 탐지는 오탐과 미탐의 근본 원인이 됨
- 단순 토큰 일치가 아닌 서술 구조와 권위 관계를 파악하는 것이 핵심
- 도구의 실패를 빠르게 식별하고 수정하는 교정 루프의 중요성
당신은 스스로 멈추겠다고 다짐했습니다. 손톱을 깨물거나, 휴대폰이 울리는 순간 바로 손을 뻗거나, 더 이상 가지 않는 길인데도 손이 저절로 핸들을 돌리는 것 말입니다. 당신은 뇌의 전두엽을 사용하여 의식적으로 그 규칙이 폐기되었다고 결정했습니다. 하지만 당신의 몸은 여전히 그 규칙을 실행하고 있었습니다.
여기에는 이유가 있으며, 그것은 의지력의 약함 때문이 아닙니다. 어떤 행동을 충분히 반복하면, 뇌는 이를 의도적인 회로에서 자동적인 회로로 옮깁니다. 이 분야를 수십 년간 연구해 온 Wendy Wood는 이를 다음과 같이 설명합니다. 성숙한 습관은 절차 기억 (procedural memory)에 거주하며, 이는 습관을 무효화하기 위해 사용하는 추상적인 지식이나 판단으로부터 습관을 보호합니다. 습관은 당신이 현재 알고 있는 것들로부터 보호받습니다. 당신은 머리 위쪽(상위 인지)의 지침은 업데이트했지만, 새로운 지식이 닿을 수 없는 아래쪽(하위 인지)에서는 오래된 지침이 계속 실행되고 있는 것입니다.
그것이 바로 제가 다루는 정확한 문제입니다. 다만 저는 보통 기계에서 그 문제를 다룹니다.
지난번에 말하지 않은 부분
저는 AI 에이전트의 메모리를 감사(audit)하는 도구를 만듭니다. 한 줄 요약하자면 "AI가 따르는 것을 중단해야 할 오래된 지침을 찾아내는 것"입니다. 제가 이 도구를 제 파일들에 적용했을 때, 도구가 제 제품 슬로건을 오래된 지침으로 표시했던 날에 대해 이미 글을 쓴 적이 있습니다. 그것은 재미있는 일이었고, 여기서 그 내용을 다시 전부 반복하지는 않겠습니다.
그 이후에 일어난 일은 지금까지 기록하지 않았지만, 이것이 더 나은 이야기입니다.
저는 오탐(false alarm)을 수정했습니다. 기존의 탐지기는 느슨한 어휘에 반응했기에, 작동하기 전에 실제 대체(supersession) 언어가 필요한 방식으로 기준을 강화했습니다. 합리적인 조치였습니다. 그러자 도구는 제가 수정한 내용을 설명하는 단락을 지목했습니다. 그 단락에 "superseded"라는 단어가 포함되어 있었기 때문입니다. 강화된 탐지기가 한 단계 높은 수준에서 원래의 버그를 재현한 것입니다. 그리고 바로 그날 오후, 도구는 다른 파일에 있는 정말로 오래된 계획을 그대로 지나쳐 버렸습니다. 몇 주 전 실제 작업의 방향을 거의 틀 뻔했던 진짜 폐기된 지침이었음에도 불구하고 말입니다. 왜냐하면 그 계획은 평범한 산문으로 작성되었고, 키워드를 통해 스스로가 오래되었다고 알리지 않았기 때문입니다.
Nazar Boyko는 이미 댓글을 통해 이를 지적했습니다. 그는 해당 키워드를 요구하도록 탐지기 (detector)를 강화하는 것이, 제가 더 어렵다고 표시했던 산문 (prose) 사례로 그대로 되돌아가는 것 아니냐고 물었습니다. 왜냐하면 오탐 (false positive)과 미탐 (false negative)이 동일한 근본 원인, 즉 권위 관계 (authority relationship) 대신 어휘 (vocabulary)를 읽는 것에서 비롯되기 때문입니다. 그의 말이 맞았고, 저의 재귀적 수정 (recursive fix)은 그가 예측한 바가 하루 만에 제 기계에서 증명된 것이었습니다. Mike Czerwinski와 mote는 다른 각도에서 동일한 메커니즘, 즉 토큰 일치 (token match) 대 서술 구조 (predicate structure), 단어를 사용하는 것과 단순히 언급하는 것 사이의 차이를 지적했습니다. 이것이 제가 실제로 여러분에게 제안하고자 하는 교정 루프 (correction loop)입니다. 결코 실패하지 않는 도구가 아닙니다. 때로는 저에게 반하는 방향일지라도, 하루 만에 식별되고, 게시되며, 그것을 발견한 독자들에게 공로가 돌아가는 실패들 말입니다.
그 모든 것의 밑바닥에 있는 단어
제 작업이 계속해서 되돌아오는 문장은 이것입니다: 관련성 (relevance)은 권위 (authority)가 아니다.
필요할 때 나타나는 기억이 그 기억이 주도권을 쥐고 있는 것과 같지는 않습니다. 적절한 음을 찾는 것과 적절한 음에 복종하는 것은 두 가지 서로 다른 행위이며, 그 사이의 간극이 모든 것이 잘못되는 지점입니다. 당신의 옛 직장으로 가는 길은 매일 아침 매우 관련성이 높습니다. 하지만 당신이 실제로 어디로 가고 있는지에 대해서는 아무런 권위도 가지고 있지 않습니다.
기계와 정신은 여기서 동일한 버그 (bug)로 작동합니다. 메모리 파일이든 신경계 (nervous system)든, 당신의 지침을 보유하고 있는 무엇이든, 그것들이 여전히 실행될 가치가 있는지 다시 도출 (re-derive)하는 무언가가 없는 한 만료 기한이 지나도 계속해서 실행합니다. 에이전트 (Agents)는 자신의 메모리를 자동으로 재승인 (re-authorize)하지 않습니다. 당신도 마찬가지입니다. 오래된 규칙은 아무도 다시 배지를 보여달라고 요구하지 않기 때문에 그 배지를 계속 유지합니다.
사각지대를 패치하는 것은 해결책이 아니다
따라서 뻔한 대응은 잘못된 규칙을 잡아내는 것입니다. 사각지대 (blindspot)를 패치하는 것이죠. 그리고 그것은 한 번은 통합니다. 하지만 곧 당신이 예상하지 못한 형태의 새로운 사각지대가 나타나고, 당신은 그것을 또 패치합니다. 당신은 사각지대를 패치하는 데 영원한 시간을 보낼 수도 있지만, 패치 자체가 불필요하게 만드는 무언가를 단 한 번도 구축하지 못할 수도 있습니다. 왜냐하면 당신은 항상 예상치 못한 사례보다 정확히 한 발짝 뒤처져 있기 때문입니다. 어느 시점에 이르면, 정직한 질문은 "어떤 규칙이 틀렸는가"에서 "왜 이 시스템은 하루가 계획대로 흘러갈 것이라고 아예 가정하는가"로 바뀝니다.
왜냐하면 하루는 결코 계획대로 흘러가지 않기 때문입니다. 그것은 예외가 아닙니다. 그것이 바로 업무(job)입니다.
심리학에는 여기서 중요한 차이를 일컫는 실제 명칭이 있습니다: 일상적 전문성 (routine expertise) 대 적응적 전문성 (adaptive expertise)입니다. 일상적 전문성은 익숙한 영역 안에서는 빠르고 깔끔하지만, 학습은 멈춥니다. 그저 이미 알고 있는 사례들에 대해 더 효율적으로 변할 뿐입니다. 적응적 전문성은 그 반대입니다: 당신이 연습해 온 지식이 눈앞에 놓인 실제 상황에 불충분하다는 것을 알아차리고, 실시간으로 그 너머를 추론하는 것입니다.
저는 제 본업에서 그 차이를 목격합니다. 시스템이 다운되면, 제 매니저는 우리에게 "우회 방법 (workaround)을 찾아내라"고 말합니다. 겉보기에는 미칠 노릇입니다. 시스템을 만든 사람들조차 고치지 못한다면, 제가 어떻게 고칠 수 있겠습니까? 하지만 그 지시는 정확히 무언가를 수행하고 있습니다. 그것은 적응적 전문성을 요구하는 것입니다. 그 순간 저는 얼어붙어 더 이상 적용되지 않는 대본을 읊으며 무력한 바보처럼 보이거나, 고객의 문제에 대해 실제로 이해하고 있는 바를 바탕으로 추론하여 교육 과정에서 한 번도 가르쳐준 적 없는 답을 만들어내야 합니다. 변칙 (anomaly)은 시험입니다. 암기된 절차로는 그 어떤 것도 통과할 수 없습니다. 변칙의 정의 자체가 절차 안에 존재하지 않는 것이기 때문입니다.
이것이 제가 실제로 기계가 할 수 있기를 바라는 일입니다. 제가 앉아서 영리한 질문을 던졌을 때 답하는 것이 아닙니다. 누군가를 위해 일하던 중, 한 번도 학습된 적 없는 비정상적인 상황이 나타났을 때 스스로 반응하며, 자신만만하게 실패하는 대신 다음과 같이 추론하는 것입니다: "나는 보통 이렇게 하지만, 이 사례는 다르다. 그러므로 내 파라미터 (parameters)를 넘어서 생각하고 지금 당장 정확한 답을 찾아내야 한다." 이것은 기계가 가질 수 있는 비판적 사고 (critical thinking)에 가장 가까운 것이며, "더 많이 기억하기"나 "지난 실수를 패치하기"와는 완전히 다른 목표입니다.
그것은 결코 기억을 삭제하는 것에 관한 것이 아니었습니다
한 가지 주의하고 싶은 점이 있습니다. 오해하기 쉽기 때문입니다. 해결책은 기억을 지우는 것이 아닙니다. 어차피 진짜 기억은 지울 수 없습니다. 저에게도 결코 말하지 않을 것이며 결코 지울 수 없는 것들이 있으며, 에이전트 (agent)의 기억 또한 함부로 건드려져서는 안 된다고 믿습니다. 흉터가 문제는 아닙니다. 오래된 길도 문제가 아닙니다. 문제는 다음 행동에 대한 권한 (authority)입니다. 기억은 정확히 그 자리에 머물러 있어도 됩니다. 실시간으로 다시 도출되어야 하는 것은, 그 기억이 단 한 번도 만들어진 적 없는 순간에 당신이 할 일을 지배할 수 있는지 여부입니다.
제가 실제로 보여드릴 수 있는 것
이 작업의 핵심은 과장하지 않는 것이기에, 현재 상황이 어디에 와 있는지 정확히 말씀드리고 싶습니다.
존재하는 것: 오탐 (false alarm)과 미탐 (miss)이 모두 기록된 위의 감사 (audit) 결과입니다. 발견된 버그는 근본적으로 수정되었습니다. 해결되지 않은 부분은 로드맵 (roadmap) 문구 뒤에 숨기는 대신, 눈에 보이는 실패한 테스트로 남겨두었습니다. 또한, 더 어렵고 추론적인 버전을 구축하기 전에 그것이 무엇을 증명해야 하는지를 미리 적어두었기에, 나중에 골대를 옮길 수 없습니다. 그리고 이를 실행하려 했던 초기 시도 중 하나는 빈 API 잔액과 손상된 출력 스트림 (output stream)이라는 평범한 이유로 실패했으며, 시스템은 결과를 지어내는 대신 두 가지 실패를 모두 정직하게 기록했습니다.
아직 존재하지 않는 것: 추론 버전이 작동한다는 증거. 제가 방금 설명한 실시간으로, 당신의 매개변수(parameters)를 넘어서 추론하는 능력은 목표이지, 영수증(receipt)이 아닙니다. 만약 그것이 마침내 실행되었을 때 실패한다면, 그 실패는 승리만큼이나 명확하게 공개될 것입니다.
이를 어떻게 다룰 것인가
중요한 감사를 수행하기 위해 반드시 제 도구가 필요한 것은 아닙니다.
당신을 실제로 지배하고 있는 것을 가져오십시오. 런북 (runbook), 팀의 "우리는 항상 이렇게 해왔다"라는 관행, 당신이 결코 의심하지 않는 개인적인 규칙 말입니다. 한 줄씩 짚어가며 각 항목에 대해 두 가지를 물으십시오: 이것이 마지막으로 재도출 (re-derived)된 것이 언제인가, 그리고 이것이 만료되었다면 과연 누가 알아차릴 것인가. 당신의 하루를 움직이는 대부분의 것들은 단 한 번도 자신의 신분증을 제시하라는 요구를 받은 적이 없습니다.
만약 당신이 에이전트 (agents)를 구축한다면, 더 날카로운 버전을 들으십시오. 당신의 메모리 레이어 (memory layer)에는 권한 레이어 (authority layer)가 필요하며, "모델이 알아서 알아차릴 것이다"라는 말은 해결책이 아닙니다. 검색 (Retrieval)은 찾는 문제를 해결했습니다. 하지만 권한 (permission) 문제를 해결하지는 못했습니다.
그리고 만약 당신이 삶 외에 아무것도 구축하지 않는다면, 인간적인 버전을 들으십시오. 다음에 규칙에 움찔하거나, 마땅히 그래야 한다는 의무감에 따르거나, 결정 없이 익숙한 길을 택하게 될 때, 멈춰 서서 지금까지 유일하게 중요했던 질문을 던지십시오: 누가 이것을 은퇴시켰는가, 그리고 그 누구도 나에게 말해주지 않았는가.
당신의 AI는 만료된 규칙을 따르기 때문입니다. 그리고 당신 또한, 조용히, 하루 종일 그렇게 하고 있습니다.
제가 공개해 둔 도구, 오보 (false alarm), 수정 사항, 그리고 실패한 테스트는 동반 기사에서 확인하실 수 있습니다: I Pointed My Memory Auditor At Itself. It Flagged My Own Slogan.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기