
에이전트가 연락처 두 개를 잘못 합쳤을 때, 이후 사람이 고친 주소나 다른 에이전트가 추가한 전화번호까지 잃지 않고 복구할 수 있어야 한다. 니콜라 발리치(Nikola Balić)는 에이전트에 더 많은 권한을 주기 전에 이런 복구가 가능한지 확인해야 한다고 말한다.
잘못 합쳐진 연락처를 되돌리는 동안에도 사람과 에이전트는 계속 기록을 바꾼다. 어제 상태로 돌아가면 오늘 이뤄진 올바른 수정까지 사라질 수 있다. 따라서 되돌리기는 과거 상태를 그대로 복원하는 대신 현재 상태를 기준으로 새 변경을 제안하는 방식이어야 한다.
발리치가 만드는 작업 공간에서는 수정 제안에도 다른 변경과 같은 권한·검토·검증 절차를 적용한다. 예를 들어 연락처를 분리하면서 주소는 원래 속한 연락처에 남기고, 새 전화번호는 어디에 둘지 결정하도록 할 수 있다. 어느 연락처에 속하는지 판단할 수 없다면 출처와 이력을 보존한 채 미해결 상태로 남긴다. 잘못 합쳐진 기록에 함께 들어 있었다는 사실만으로 소유자를 정할 수는 없다.
적용 전에는 수정 후의 기록을 보여줘야 한다. 검토 중 에이전트가 전화번호의 배정 대상을 바꾸거나 다른 에이전트가 연락처를 수정하면 작업을 멈추고 변경 사항을 다시 검토하게 해야 한다. 승인한 내용과 실제 적용할 내용이 달라졌다면 새 승인이 필요하며, 적용 직전에도 입력 정보와 권한이 여전히 유효한지 확인해야 한다.
모든 결과를 되돌릴 수 있는 것은 아니다. emailSent 같은 필드를 원래대로 바꿔도 이미 발송된 이메일은 취소되지 않는다. 잘못된 병합 때문에 엉뚱한 사람에게 정보가 전달됐다면 연락처를 복구해도 정보 공개라는 결과는 남는다. 되돌리기 기능은 이런 한계도 분명히 알려야 한다.
발리치는 잘못된 병합 뒤에 올바른 정보가 추가된 상황과, 되돌리기를 검토하는 중 기록이 다시 바뀌는 상황을 시험해 보라고 제안한다. 나중의 수정은 보존되는지, 판단할 수 없는 정보는 미해결 상태로 드러나는지 확인해야 한다. 에이전트가 확실한 항목은 스스로 고치고 논란이 있는 전화번호는 검토를 기다리도록 하는 등, 확인된 복구 범위에 맞춰 자율성을 넓힐 수 있다.
git revert도 이전 변경을 되돌리는 새 커밋을 기록해 이력을 보존하지만, 이후 작업과 충돌할 수 있다. git revert 문서
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요