n8nとTelegramを用いたヒューマン・イン・ザ・ループ... ノート

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が実際に作業に費やすアクティブ時間を区別し、人間の承認待ち時間を考慮します。このリモートセットアップにより、重要な決定に対するユーザー制御を維持しながら、独立した自律的な作業が可能になります。