SYS 03원리와 장점
llm-relay
에이전트가 사람에게 결정을 묻는 중계
여러 AI 세션이 동시에 일할 때, 사람이 PC 앞에 없어도 결정만큼은 사람이 내리게 하는 중계입니다. 세션은 묻고 기다리고, 사람은 휴대폰의 버튼으로 답합니다.
01문제
묻는 것보다 답을 오해 없이 받는 게 어려웠다
에이전트에게 배포, 삭제, 설치, 돈이 드는 일은 사람에게 묻도록 정해 두었습니다. 그런데 세션 여러 개가 동시에 돌면 질문은 여러 창에 흩어지고, 자리를 비운 동안 세션은 답을 기다리며 멈춥니다.
글로 받은 답은 더 위험했습니다. 시험 중에 나눈 잡담이 작업 요청으로 읽혀 Codex가 실제로 작업을 실행한 일이 있었고, 승인 대기 중에 보낸 N이 수정 요청으로 읽힌 일도 있었습니다. 결정은 오해할 수 없는 방식으로 받아야 했습니다.
02원리
어떻게 돌아가나
세션이 relay_ask로 묻습니다
결정이 필요한 세션은 MCP 도구 relay_ask를 부릅니다. 질문과 선택지는 비공개 GitHub 이슈에 기록되고, 작업마다 하나씩 만든 텔레그램 Topic으로 승인, 거부, 번호 버튼이 달린 메시지가 갑니다.
보내기 전에 거르고 확인합니다
기록하기 전마다 저장소가 비공개인지 다시 확인하고, 휴대전화 번호나 주민등록번호, 비밀값처럼 보이는 내용은 막습니다. 질문 직전까지 달린 댓글은 이미 본 것으로 표시해, 예전 답이 새 질문의 답으로 읽히지 않게 합니다.
기다리는 동안 모델은 쉽니다
세션은 도구 호출 하나 안에서 기다리고, 그동안 서버가 1분마다 답을 확인합니다. 한 번에 최대 8분을 기다리고, 답이 없으면 같은 질문으로 다시 기다리기만 하며 알림은 다시 보내지 않습니다.
버튼만 결정으로 인정합니다
버튼을 누르면 이 PC의 감시 프로그램이 누른 사람과 대상 이슈, 메시지마다 새로 만든 일회용 코드를 확인하고 이슈에 기록합니다. 기다리던 세션은 그 기록과 코드가 맞을 때만 결정으로 받아들이고, 예전 메시지의 버튼은 무시됩니다.
글은 메모로만 남습니다
텔레그램에 쓴 글, GitHub 댓글, 다른 AI가 단 댓글은 Y라고 적혀 있어도 결정이 아니라 출처가 붙은 메모입니다. 세션은 메모를 지시로 따르지 않고, 실행이 필요하면 선택지를 만들어 다시 버튼으로 묻습니다.
휴대폰에서 새 작업도 시작합니다
/control 명령으로 할 일을 보내면 감시 프로그램이 이 PC의 로컬 모델로 계획을 세우고, 모델과 강도를 고르는 버튼과 함께 보여 줍니다. 실행 버튼을 눌러야 Claude Code나 Codex 세션이 시작되고, 끝나면 결과가 돌아오며 그 알림에 답하면 같은 세션이 이어집니다.
03장점
그래서 좋은 점
자리에 없어도 결정은 사람이 합니다
휴대폰에서 버튼 하나로 승인하거나 고를 수 있습니다. 세션은 짐작으로 진행하지 않고 답을 기다립니다.
오해할 수 없는 결정
결정은 버튼으로만 받습니다. 글로 쓴 Y나 잡담, 다른 AI의 댓글이 승인으로 읽히지 않습니다.
모든 결정이 기록으로 남습니다
질문과 선택지, 버튼 결정이 비공개 이슈에 남아 언제 무엇을 정했는지 되짚을 수 있습니다. 기록 없이 실행되는 일은 없습니다.
기다리는 비용이 거의 없습니다
기다리는 동안 모델을 부르지 않고 서버가 확인만 합니다. 한 시간 뒤에 답해도 세션은 몇 번 다시 기다리기만 하면 됩니다.
세션이 몇 개든 한곳으로 모입니다
Claude Code와 Codex가 같은 MCP 도구를 씁니다. 질문은 텔레그램 한곳으로 모이고, 작업마다 Topic이 나뉘어 섞이지 않습니다.
겹치지 않고, 한쪽이 멈춰도 버팁니다
같은 계획은 두 번 실행되지 않고, 전달됐는지 모르는 알림은 다시 보내지 않습니다. GitHub가 멈춰도 버튼은 받아 두었다가 나중에 기록합니다.
04한계
아직 하지 않는 것
- 이 PC와 감시 프로그램이 켜져 있어야 버튼이 처리됩니다. 꺼져 있던 동안 누른 버튼은 실행하지 않고, 다시 보내 달라고 안내합니다.
- 결정은 확인 주기만큼 늦게 닿습니다. 버튼을 누른 뒤 세션이 알아채기까지 1분 안팎이 걸립니다.
- 개인정보 거름망은 정해진 형식만 막습니다. 주소나 생년월일까지 알아보지는 못합니다.
- 결정 기록을 따로 지키는 장치와 실행 시간 제한은 아직 설계 단계입니다.