(01)

문서를 넣어도 중요한 내용을 놓칠 수 있습니다

긴 보고서를 AI에 주고 그 결과를 내 프로젝트에 적용해도 될지 물었습니다. 답은 그럴듯하지만 조사 대상이 다르다고 밝힌 문장을 놓쳤습니다. 내가 준 자료에 그 문장이 있었는데도 말입니다. 입력에 포함했다고 답에 반영되는 것은 아닙니다.

모델이 답을 만들 때 참고할 수 있는 정보를 컨텍스트라고 합니다. 한 번에 받을 수 있는 양에는 한도가 있는데, 이 한도를 context window라고 부릅니다. 보통 텍스트나 다른 입력을 나눈 작은 단위인 토큰으로 양을 셉니다. 「Lost in the Middle」에서는 시험한 모델이 긴 입력의 중간에 놓인 관련 정보를 덜 안정적으로 활용하는 경우가 많았습니다.[1] 정보를 연결하거나 합치는 등 더 복잡한 과제를 다룬 RULER에서도 입력이 길어질수록 성능이 떨어졌습니다.[2]

실제로 쓸 모델과 과제에서도 이런 문제가 생기는지 확인해 봅니다. 문서가 한도 안에 들어가는지만 보지 말고, 답에서 결론을 바꿀 만한 세부 내용을 짚는지 확인합니다. 우선 그런 내용을 찾기 쉽게 배치하되 정확히 해석하는 데 필요한 앞뒤 설명도 함께 줍니다.

문서를 넣었는지와 답에서 중요한 내용을 활용했는지를 함께 확인합니다.
(02)

전체 자료와 지금 필요한 자료를 나눕니다

프로젝트에는 인터뷰 녹취록과 보고서, 이전 초안, 검색 결과, 몇 주 치 대화가 쌓일 수 있습니다. 조사 결과 두 개를 비교할 때 이 모든 자료가 한꺼번에 필요한 경우는 드뭅니다. 전부 넘기면 폐기한 계획과 더는 맞지 않는 옛 요약도 따라갑니다.

지금 입력할 자료를 책상 위에 놓고 나머지는 가까운 보관함에 둔다고 생각해 봅니다. 책상에는 질문과 계속 지켜야 할 규칙, 지금 필요한 근거, 진행 상황을 적은 메모를 둡니다. MemGPT 같은 시스템도 작업 중 참고하는 정보와 필요할 때 다시 가져오는 저장 정보를 구분합니다.[6]

현재 프롬프트에서 뺀 자료도 삭제하지 않고 보관합니다. 바뀌지 않는 파일명이나 식별자로 저장하고 다시 불러올 수 있는지 확인합니다. 권한 제한과 안전 규칙은 계속 유지합니다. 그 밖의 자료는 빠졌을 때 이번 답이 달라지거나 다음 작업을 검증하기 어려워질지 따져 고릅니다.

(03)

지시와 진행 메모, 원자료를 구분합니다

AI에 자료를 줄 때는 각각 어떤 용도로 쓰는지 표시합니다. 지시에는 할 일을, 진행 메모에는 확인한 내용과 미해결 사항을 적습니다. 원문 구절은 근거로, 예시는 원하는 답의 형식을 보여 주는 용도로 둡니다. 이렇게 구분하면 이전에 AI가 쓴 요약을 원자료처럼 취급하고 있지는 않은지 알아차리기 쉽습니다.

각 정보는 쓰임에 맞춰 갱신합니다. 계속 적용되는 규칙은 유지하고 새 지시가 이전 지시와 충돌하지 않는지 확인합니다. 작업이 진행되면 메모를 고치고, 답할 질문에 맞는 근거를 가져옵니다. 예시는 원하는 답의 형식이나 구분해야 할 차이가 드러나는 것으로 몇 개만 고릅니다. 도구 설명은 그 도구가 필요할 수 있을 때 불러옵니다.

같은 내용을 프롬프트 곳곳에 복사하지 않습니다. 마감일이 바뀌었는데 옛 대화와 요약, 작업 메모에 서로 다른 날짜가 남아 있을 수 있습니다. 현재 기준이 되는 기록에 출처와 갱신 날짜를 적고, 이전 날짜는 새 정보로 대체됐다고 표시합니다. 누가 이 기록을 관리할지도 정해야 수정 내용이 사라지지 않습니다.

(04)

지금 질문에 답하는 구절을 고릅니다

검색 도구는 비슷한 단어가 있다는 이유로 구절을 가져올 수 있습니다. 하지만 나라나 연도, 대상 집단, 제품 버전이 다를 수 있습니다. 자료를 쓰기 전에 다음에 할 일이 비교인지, 인용인지, 계산인지, 주장 확인인지부터 정합니다.

비교할 때는 두 사례의 지표와 기간이 맞는지 봅니다. 인용할 때는 앞뒤 문장과 한계 조건을 함께 가져옵니다. 정책 변경을 확인할 때는 해당 버전의 시행일과 예외를 남깁니다. 인터뷰를 해석할 때는 생각 중인 주제에 들어맞는 이야기와 그에 반하는 이야기를 함께 포함합니다.

진행 메모에 링크나 파일 위치를 남겨 두고, 다음 과제에 필요해지면 상세 자료를 열 수 있습니다. Anthropic은 이를 필요한 시점에 자료를 가져오는 ‘just in time’ 방식으로 설명합니다.[4] 매 단계에 넘기는 양은 줄지만 정확한 출처를 다시 찾을 수 있어야 합니다. 문서 대신 링크나 파일 위치만 남기려면, 그 정보로 원문을 다시 열 수 있는지 먼저 확인합니다.

지금 답할 질문에 맞춰 근거를 고릅니다.
(05)

무관한 자료를 빼되 반대 근거는 남깁니다

정보를 더 줬는데 답이 나빠질 수도 있습니다. Shi 등이 문장으로 제시된 산술 문제를 풀게 한 실험에서는 관련 없는 내용이 언어 모델을 방해할 수 있었습니다.[3] 리서치에서는 관련 있어 보이지만 다른 사례를 다룬 문서가 문제일 수 있습니다. 작년 제품 보고서가 현재 버전의 작동 방식을 설명해 주지는 않을 수 있습니다.

각 자료를 왜 넣는지 확인합니다. 질문에 답하는 데 도움이 되나요? 지금 하려는 주장의 근거가 될 수 있나요? 대상과 날짜, 정의가 맞나요? 홍보 페이지에서 기술 보고서를 찾을 수는 있어도 제품 효과가 입증되는 것은 아닙니다. 옛 보고서는 비교 자료라고 역할을 밝혀 두면 유용할 수 있습니다.

지금까지의 답과 다르다는 이유만으로 출처를 빼지는 않습니다. 그 차이가 이번 과제에 꼭 필요할 수 있습니다. 무관하다고 확인한 자료를 제외하고, 중요한 예외가 남아 있는지 살핍니다. Shi 등의 일부 시험에서는 무관한 내용을 무시하라는 지시가 도움이 됐습니다.[3] 그래도 그런 지시 하나로 모든 혼란스러운 입력을 올바르게 처리한다고 보장할 수는 없습니다.

(06)

요약으로 흐름을 잡고 세부 내용은 원문에서 봅니다

입력을 줄이면 비용을 낮추고 때로는 결과도 개선할 수 있습니다. LongLLMLingua는 프롬프트를 압축해 시험한 긴 입력 과제에서 성능 향상을 보고했습니다.[5] 그렇다고 짧은 요약이면 무엇이든 더 좋은 것은 아닙니다. 요약은 특정 목적에 맞춰 어떤 내용은 남기고 다른 내용은 뺍니다.

표현이나 숫자가 중요하다면 정확한 원문 구절을 남깁니다. 결정 사항과 미완료 작업은 날짜가 있는 목록으로 정리하기 좋습니다. 서술형 요약은 프로젝트를 이해하는 데, 출처 목록은 세부 내용을 찾는 데 도움이 됩니다. 어느 형식이든 원자료를 찾을 수 있는 링크나 파일 위치를 붙입니다.

할 일을 정리하려고 만든 회의 요약에는 망설임이나 이견, 결정에 이른 논의가 빠질 수 있습니다. 나중에 참여자의 태도를 해석할 때 그 요약만 근거로 삼아서는 안 됩니다. 요약의 목적과 원자료의 버전을 표시합니다. 새 질문에 답하려면 요약에서 빠진 세부 내용이 필요할 수 있습니다. 그때는 원문을 다시 읽습니다.

한 가지 목적의 요약에는 다음 질문에 필요한 내용이 빠질 수 있습니다.
(07)

작업이 바뀌면 입력 자료도 갱신합니다

관련 근거를 모으고, 각 주장이 어떤 조건에서 성립하는지 바로 옆에 적습니다. 현재 과제를 찾기 쉽게 표시하고 원문과 내 해석을 구분합니다. 「Lost in the Middle」에서는 입력 순서에 따라 성능이 달라졌습니다.[1] 한 가지 배치가 모든 과제에 똑같이 통한다고 가정하지 말고, 중요한 시험 사례에서는 순서도 바꿔 봅니다.

검색이 끝나면 유용한 출처와 미해결 단서, 다음 질문을 저장합니다. 계산이 끝나면 결과와 검증 방법을 보관하고 계속 작업하는 데 필요한 실행 기록만 다음 단계로 넘깁니다. 연구 질문이 바뀌면 고른 자료를 다시 살핍니다. 오래된 계획 밑에 새 지시만 붙이면 둘 다 답에 영향을 줄 수 있습니다.

LongMemEval은 예전 문장을 기억하는 능력 외에도 바뀐 사실을 반영하고 사건의 시간 순서를 파악하며 정보가 없을 때 답을 보류하는 능력 등을 평가합니다.[7] 실무에서는 사실을 정정한 뒤 다음 답에 반영되는지 확인해 볼 수 있습니다. 바뀌는 기록에는 날짜와 어떤 정보를 대체하는지 적고 갱신 담당자를 분명히 합니다.

(08)

중요한 정보를 실제로 쓰는지 시험합니다

정확한 답이 무엇을 짚어야 하는지 아는 실제 과제를 몇 개 고릅니다. 연구의 핵심 한계를 유지하거나, 날짜가 다른 두 정책을 구분하거나, 저장한 메모로 작업을 이어가도록 요청합니다. 필요한 기록이 없어 무엇을 확인할 수 없는지 밝혀야 하는 사례도 넣습니다.

한 번에 입력의 한 부분씩 바꿉니다. 요약을 빼거나 문서 순서를 바꾸거나, 그럴듯하지만 적용할 수 없는 출처를 넣어 봅니다. 모델이 작업 중 참고할 정보를 조정하는 controllable working memory 연구도 있습니다. 이 연구는 모델이 주어진 관련 사실을 활용하고 무관한 정보의 영향을 피하는지를 다룹니다.[8] 여기서 제안하는 시험은 그 연구 결과가 그대로 적용된다고 가정하지 않고 내 작업에서 직접 확인하는 방법입니다.

답을 원래 근거와 대조합니다. 어떤 자료와 요약을 입력했고 전체 원문은 어디에 있는지 간단히 기록합니다. 확인 결과에 따라 불필요한 자료를 줄입니다. 생략한 내용 때문에 답이 달라진다면 더 남기거나 다시 가져옵니다. 정확한 결과를 내고 검토할 수 있을 만큼 자료를 주는 것이 적절합니다.