대화 검색에서 'Friday'가 발견되더라도, 그것만으로는 마감일이 확정되었다고 간주할 수 없습니다. 조건이 붙은 발언을 다음 Agent에게 어떻게 전달해야 할까요? 제가 영어로 작성했던 글의 예시를 Python으로 작동하는 작은 확인 처리 과정으로 만들어 보았습니다.
저는 Memoket의 공동 창업자 겸 CTO입니다. 이 기사의 코드는 설명용 가상 데이터를 다루는 독립적인 예시이며, Memoket의 제품 API나 구현된 메모리 스키마가 아닙니다. 표준 라이브러리만으로 실행할 수 있으며, 녹음, MCP(Memory Context Processor), LLM(Large Language Model) 접근은 수행하지 않습니다.
월요일에 다음과 같은 발언이 있었다고 가정해 봅시다.
We can deliver on Friday, if the client approves the revised scope.
우리가 남겨두고 싶은 것은 단순히 'Friday'라는 문자열뿐만 아니라, 대상 고객, 제안 버전, 승인이라는 조건, 그리고 원래의 기록입니다. 게다가 스코프 승인과 마감일을 확약한 기록도 분리합니다. 승인이 발견되지 않았다는 사실을 승인되지 않은 증거로 취급하지 않는 점도 중요합니다.
[IMG:N]
이 예시는 설명용이며, 앱 화면이나 자동 추출의 실제 측정값은 아닙니다.
여기서는 대화에서 필요한 항목들을 올바르게 구조화한 이후의 과정을 다룹니다. 확인하는 순서는 다음과 같습니다:
- 요청 대상 고객이 특정되었으며, 후보 고객과 일치하는지.
- 후보 발언에 출처(source)가 첨부되어 있는지.
- 동일한 고객・제안・스코프 버전을 대상으로 하는 승인 기록이 있는지.
- 그 승인과는 구별되는 마감일 확인 기록이 있으며, 날짜도 후보와 일치하는지.
source는 가상의 참조 문자열입니다. 단순히 문자열이 존재한다고 해서 인용 내용의 정확성을 보장할 수는 없으며, 실제 시스템에서는 원래 기록을 열어 확인하는 별도의 과정이 필요합니다.
아래 내용을 conditional_handoff.py에 저장하고, python3 conditional_handoff.py로 실행할 수 있습니다. 입력 예시와 출력은 영어로 되어 있습니다.
"""Fictional, manually structured records; no model, MCP or product API calls."""
import json
proposal = {
...
실행 결과는 다음과 같습니다.
{"case": "unknown client", "state": "client_unresolved"}
{"case": "no approval record", "state": "approval_evidence_unverified"}
{"case": "approval for old scope", "state": "approval_evidence_unverified"}
...
승인만 있는 경우에는 approval_recorded_commitment_unverified 상태가 됩니다. 동일한 승인 레코드를 마감일 확인 대용으로 전달하더라도, kind 값이 다르기 때문에 통과하지 못합니다. 마감일 확인 기록이 다른 날짜를 가리키는 경우에도, 확인 완료 처리로 진행할 수 없습니다.
마지막의 matching_approval_and_commitment_records_found는 주어진 항목들이 일치하는 두 종류의 기록을 발견했다는 의미입니다. 현실적인 마감일이 확정되었다고 증명한 것은 아닙니다.
자연어로부터 추출된 내용이 정확한지, 고객 ID 대응付け가 올바른지, 기록에 접근할 권한이 있는지, 나중에 취소나 변경이 있었는지 등은 다루지 않았습니다. 입력 데이터를 만드는 처리의 평가나 후속 기록과의 대조는 별개입니다.
작은 예시이지만, '추출된 문장'과 '현재 판단에 사용 가능한 전제' 사이에 어떤 확인 과정이 남아있는지를 명확히 할 수 있습니다. MCP 연결이 된 이후에도 그 경계를 남겨두고 싶습니다.
英語版의 ChatGPT 예시에서는 여러 회의에서 우려 사항 후보는 가져올 수 있었지만, 어느 고객인지는 유일하게 특정할 수 없었습니다. 따라서 이 예시의 첫 번째 확인 과정도 생략할 수 없습니다. 여기서 새로이 ChatGPT나 Memoket의 실제 계정을 사용한 검증은 하지 않았습니다.
배경이 되는 원문: You Have Become Your AI Assistant’s Memory
코드 작성, 확인, 문장 편집에는 AI 어시스턴트를 사용했습니다.