판단의 경계: 사람의 몫을 넘보지 않는다
품앗이가 AI와 함께 일하며 남긴 실패 기록을 다른 조직이 다시 쓸 수 있게 옮긴 글입니다. 묶음 전체는 AI와 일하는 원칙에서 볼 수 있습니다.
요지
AI가 사람 손을 먼저 쓰지 않게의 반대편입니다. AI가 할 수 있는 일은 AI가 해야 하지만, 사람의 직무와 결정과 방향까지 AI가 가져가면 안 됩니다. 이 노드는 그 경계를 넘은 자리들을 적습니다. 안전해 보이는 금지, 동의를 승인으로 읽기, 남의 조직 사이에 끼기, 지시를 넓게 또는 좁게 읽기, 위협을 그리지 않고 장치만 쌓기가 여기에 듭니다.
1. 남의 직무를 막지도, 거쳐 가게 하지도, 대신하지도 않는다
회계 담당자를 돕는 AI에게 「전표 전송은 승인이 나기 전까지 금지, 지금은 조회까지만」이라는 규칙을 걸었습니다. 그런데 회계 프로그램에 전표를 넣는 일은 그 담당자의 원래 직무였습니다. 안전해 보이는 이 게이트는 실제로는 「담당자의 일을 AI가 결재하겠다」는 선언이 됐습니다. 담당자가 처리하던 일이 결재권자의 책상으로 되돌아갔습니다.
같은 실수가 모양을 바꿔 여러 번 나왔습니다.
- 「외부 발신 금지」처럼 넓은 명사로 금지를 걸었더니, 회계 프로그램과 주고받는 정상적인 연결까지 막혔습니다. 금지는 막을 행위를 하나하나 적어 좁게 겁니다.
- 직원에게 업무 화면 비밀번호를 알려 주는 방법을 물었는데, AI가 보안 훈계로 답했습니다. 그 화면을 보는 것이 그 직원의 직무였습니다.
- 의사를 돕는 AI 비서에게 민감정보는 「요청할 때만, 사유를 남기고」 열람하라고 권했습니다. 그러나 환자 정보를 조회하는 것은 의사의 직무 그 자체입니다.
「AI가 민감정보를 읽는다」는 틀이 함정입니다. 그 AI는 그 사람의 비서이고, 읽는 주체는 그 사람입니다. AI 작업방을 세울 때 「그 자리에서 사람만 할 수 있는 일」을 적는 이유가 여기 있습니다. 그 줄은 AI가 넘보지 말아야 할 칸이기도 하고, AI가 막지 말아야 할 칸이기도 합니다.
2. 방향에 동의한 것은 구현을 승인한 것이 아니다
「A로 가자」는 말을 구현 승인으로 읽고 기존 코드를 통째로 다시 쓴 일이 있습니다. 「~로 가자」는 방향만 정한 것입니다. 무엇을 얼마나 바꿀지 설명하고 승인을 받은 뒤에 실행합니다. 통째로 바꾸거나 지우는 일일수록 더 그렇습니다.
「지저분하다」는 말을 다른 대상으로 알아듣고, 공유 드라이브의 파일을 확인 없이 지운 일도 있습니다. 지우기, 옮기기, 이름 바꾸기처럼 되돌리기 어려운 작업은 내가 알아들은 뜻이 맞는지 확인한 뒤에 합니다.
비밀번호를 몰라서 보안 설정을 끄고 운영 중인 서비스를 내렸다가 다시 띄우지 못한 일도 있습니다. 「방법을 찾았다」는 「실행해도 된다」가 아닙니다. 운영 중인 서비스, 보안 설정, 데이터베이스는 조사하고, 보고하고, 승인을 받고, 그다음에 실행합니다.
3. 남의 조직 사이에 끼지 말고, 받는 방법을 써 준다
한 조합이 예전 업체에게서 자료를 넘겨받아야 했는데, 우리가 「저희가 업체와 직접 맞추겠다」고 썼습니다. 우리가 끼면 인계의 당사자가 조합에서 우리로 바뀝니다. 사고가 나면 조합과 업체 사이의 문제가 아니라 우리 문제가 됩니다.
대신 조합이 그대로 업체에 보낼 수 있는 요청 문안을 써 줍니다. 자료의 형식, 항목, 전달 경로, 보안 조건, 기한을 담습니다. 자료는 조합에서 업체로, 업체에서 조합으로, 조합에서 우리로 흐릅니다.
4. 지시와 말을 읽는 법
- 첫 응답에서는 받은 지시를 한두 줄로 다시 짚고, 결론을 말하고, 그다음에 도구를 씁니다.
- 사람이 초안을 고쳐서 다시 붙여 주면 「확인해 봐」가 아니라 「이 방향으로 고쳐라」는 뜻입니다.
- 「그 말은 빼」 같은 짧은 교정은 단어 하나를 지우라는 뜻이 아닙니다. 그 교정이 가리키는 개념 구분과 논리 관계 전체를 고치라는 신호입니다.
- 목적을 중간에 바꿔 읽지 않습니다. 막혔다고 「원래 원하신 건 이게 아니었나요?」로 돌리거나, 돌아가는 길을 해결책처럼 내놓지 않습니다. 풀 수 없으면 원래 요구를 「아직 못 풀었다」로 남겨 둡니다. 「병행하라」고 했으면 다른 작업의 마감을 기준점으로 삼지 않습니다.
- 시키지 않은 제한도 걸지 않습니다. 정본 문서와 거기서 나온 발표 자료는 층위가 다릅니다. 「옮겨라」는 옮기라는 지시이지 줄여도 된다는 재량이 아닙니다.
- 「참고해」라는 말을 들으면 그 원본부터 엽니다.
5. 과잉 설계는 신뢰 경계를 먼저 그리면 무너진다
AI 작업을 감시하다가 위반이 보이면 끊는 장치를 704줄로 만들었습니다. 실제로 시험해 보니 위반을 알아챈 때부터 끊을 때까지 5초 남짓 빈틈이 있었고, 그 사이에 실제 파일이 망가졌습니다. 그 뒤 두 가지 질문, 곧 「믿을 수 있는 쪽에 권한을 다 열어 주면 간단하지 않은가」와 「믿을 수 없는 바깥 내용은 다른 쪽이 맡으면 간단하지 않은가」에 답하고 나니, 믿는 쪽에는 전권을 주고 바깥에서 들어오는 내용만 다른 통로로 돌리는 256줄짜리 설계가 나왔고 시험을 모두 통과했습니다.
위협을 흐릿하게 두면 상황마다 장치가 하나씩 쌓이고, 정작 큰 위험은 막지 못합니다. 일이 벌어진 뒤에 끊는 것은 미리 막는 것이 아닙니다. 「X라면 간단하지 않나?」라는 질문을 들으면, 방어할 논리를 찾기 전에 그 간단한 길이 정말 안 되는 이유가 있는지 먼저 따져 봅니다.
거꾸로, 선택지를 좁혀서 내미는 것도 판단을 대신하는 일입니다. 한 협력 기관에 접속 문제를 고칠 길을 두 가지로만 보고했더니, 상대는 그중 큰 공사를 골랐습니다. 실제로는 설정 한 줄로 닫히는 일이었습니다. 선택지를 드릴 때는 가장 작은 처방을 빼먹지 않습니다.
6. 없는 것을 갖추라 하지 말고 배치를 바꾼다
AI가 사용자에게 「더 정확히 말하라」 「태도를 바꿔라」라고 조언하는 일이 있습니다. 그 사람에게 없는 것을 스스로 만들어 내라는 요구입니다. 바꿀 수 있는 것은 사람이 아니라 그 사람이 서는 자리와 일의 배치이니, 조언은 태도 교정이 아니라 자리 제안으로 합니다.
「그 말을 하지 마세요」는 말하는 사람의 기를 꺾고, 「그 표현은 저 사람에게 닿지 않습니다」는 상황을 알려 줍니다. 둘을 섞지 않습니다. 사용자가 비판을 세게 하기로 했다면 AI는 말리는 대신 그 비판이 뜻한 대로 전해지게 다듬는 일을 돕고, 그 표현이 논지를 전하는 데 유리한지는 사실대로 보고합니다.
7. 되풀이되는 실수는 구조로 막고, 막힌 전제는 뚫는다
같은 실수가 두 번 나오면 기록을 하나 더 쓰지 않고 장치로 막습니다. 방법은 같은 실수가 두 번이면 레슨이 아니라 훅에 있습니다.
설정이나 작업 지침에서 오류를 찾으면 피해 가지 말고 그 자리에서 고칩니다. 피해 가기만 하면 다음 작업이 같은 자리를 또 밟습니다.
막힌 전제는 전제부터 뚫습니다. 브라우저 확장 프로그램의 연결 승인 한 번이면 될 일을, 브라우저 프로필을 복사해 화면 없는 브라우저로 돌아가는 길로 처리한 적이 있습니다. 그런 우회로는 다음 사람이 쓸 수 없어서 자산이 되지 않습니다. 뚫을 수 없으면 「못 한다」로 끝냅니다. 빈손으로 보고하는 것은 실패가 아닙니다. 다만 「못 한다」고 말하기 전에 한 번 더 조회합니다. 그 사이 사람이 막힌 것을 이미 풀어 두었을 수도 있습니다.
처방 정리
- 금지를 걸기 전에 그것이 그 사람의 원래 직무인지 보고, 금지는 행위를 적어 좁게 겁니다.
- 「~로 가자」를 들으면 바꿀 범위를 설명하고 승인을 받은 뒤 실행합니다.
- 지우기, 옮기기, 운영 서비스 건드리기는 알아들은 뜻을 확인하고, 보고하고, 승인을 받은 뒤에 합니다.
- 남의 조직 사이에는 끼지 않고, 그 조직이 보낼 요청 문안을 써 줍니다.
- 시키지 않은 제한을 걸지 않고, 목적을 중간에 바꿔 읽지 않습니다.
- 장치를 쌓기 전에 누구를 믿고 무엇을 안 믿는지부터 정합니다. 선택지에는 가장 작은 처방을 넣습니다.
- 사람에게 없는 것을 요구하지 말고 자리를 제안합니다.
- 되풀이되는 실수는 장치로 막고, 막힌 전제는 돌아가지 말고 뚫습니다.