n8n과 Telegram을 이용한 휴먼-인-더-루프 자율 코딩 에이전트 구축
저자는 개발 머신에서 원격으로, 인간이 개입하는 자율 코딩을 가능하게 하는 개인 자동화 프로젝트를 구축했습니다. 이 시스템을 통해 사용자는 휴대폰에서 Telegram을 통해 코딩 작업을 보낼 수 있으며, AI 에이전트(Codex)가 로컬에서 작업을 실행합니다. 아키텍처의 핵심은 Cloudflare Tunnel로, 로컬 n8n 인스턴스를 외부 서비스 배포 없이 Telegram 통신을 위한 브릿지 역할을 하며 안전하게 공개 인터넷에 노출시킵니다.n8n은 오케스트레이터 역할을 하며, Telegram 명령을 수신하고 워크플로우를 관리합니다. 여기에는 지침 파싱 및 로컬 Codex 러너 호출이 포함됩니다. 경량 Express.js 서비스는 Codex 러너 역할을 하며, 지정된 로컬 리포지토리 내에서 Codex를 시작하고 통신합니다 (임의 파일 시스템 접근 방지).핵심 과제는 Codex가 작업을 일시 중지하고 민감한 작업에 대한 권한을 요청한 후 승인 시 재개하도록 하는 것이었습니다. 이는 Codex App Server를 사용하여 해결되었으며, Express가 승인 요청과 같은 라이프사이클 이벤트를 수신할 수 있도록 합니다. 승인이 필요할 때 요청은 Codex에서 Express로, 그런 다음 n8n, Cloudflare Tunnel을 거쳐 최종적으로 사용자의 결정을 위해 Telegram으로 전달됩니다.Telegram을 통한 승인 시 응답은 시스템을 통해 Codex로 다시 흐르고, Codex는 중단된 지점에서 작업을 계속합니다. n8n 요청은 승인 여부에 관계없이 전체 Codex 작업이 완료될 때까지 동기적으로 대기하여 결과 파이프라인을 단순화합니다.작업 실행을 정확하게 프로파일링하기 위해 총 경과 시간과 Codex가 실제로 작업하는 활성 시간을 구분하여 인간 승인 대기 시간을 고려합니다. 이 원격 설정은 사용자 제어를 유지하면서 독립적인 자율 작업을 가능하게 합니다.