Agent-OSでGitHub PRの自動レビューを構築した話 | TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
手動レビューの工数削減が目的だが、技術的には二つの課題があった。第一に、ngrokの無料版利用に伴うWebhook URLの頻繁な変更。第二に、OpenClaw CLIがTTY(疑似端末)を要求するため、通常のsubprocess実行ではタイムアウトが発生するという、CLIツール特有の制御問題である。
// Approach
ngrokのAPIとGitHub APIを連携させ、URL変更を自動検知・更新するスクリプトを実装。また、pexpectライブラリを用いて疑似端末を確保することで、対話型CLIの挙動を制御し、タイムアウト問題を解決した。運用面ではsystemdにより、ローカル環境でのデーモン化を実現している。
// Result
PR作成から30〜60秒でレビュー結果をTelegramへ通知する仕組みが完成した。一方で、AIの判断精度、大規模な差分(diff)に対する処理遅延、およびngrokの接続制限といった、実運用に向けた課題も明確化されている。
Senior Engineer Insight
> 実戦的な「泥臭い」解決策が光る構成だ。特にpexpectを用いたCLIの制御は、APIが未整備なツールをラップする際の定石と言える。しかし、ngrokへの依存やローカル実行は、スケーラビリティと可用性の観点から本番環境には適さない。大規模開発に導入するなら、GitHub Actionsやクラウド上のコンテナ環境へ移行し、Webhookの受信からAI推論までを完全にマネージドな環境で完結させるべきである。あくまでプロトタイプ、あるいは小規模チームの補助ツールとしての評価が妥当だ。