最近Padawan(Github Copilot Coding Agent)をお仕事で使っているのだがめちゃくちゃ開発体験が良い。
- イシュー作成(要件、設計の記述、実装方針の指示)
- →コーディング(エージェントに丸投げ)
- →レビュー、修正指示
のサイクルが簡単に回せてしまうのが良い。まあ結局PRのレビューの手間はかかってしまうわけで人間相手にレビューしているのと同じだけの大変さはあるのだけれど。
他のコーディングエージェントと比べて何が違うのかというとGithubのはサンドボックス環境がついていることとGitの差分レビュー用のUIが用意されていることの2点なんだろうなと思っている。
とくにサンドボックス環境は重要で、これがあるから複数並列でエージェントを動かして人間は指示書を書いて結果をレビューするだけという動き方ができる。これが楽しいかどうかは別としてテックリードやプレイングマネージャをやっていた人は元々似たような動き方をしていたんじゃないだろうか。サンドボックス環境が自動で用意されるというのが大きなメリットで、エディタでエージェントを動かすと結局ユーザーのローカル環境を占有してしまうので並列に動作させるということが出来ない。Dockerなどでコンテナを作れば並列稼働させられるけれど、周辺サービスも含めて複数コンテナで同じ環境のクローンを並行稼働させるのは結構面倒である。そう考えるとPRごとに環境を作ってくれるPadawanはめちゃくちゃ並行稼働の準備が楽である。Githubは元々CI環境を持っていたしユーザー側も環境を作っていたチームが多いだろうから自然にサンドボックスを提供できたのだろう。
サンドボックスの中でエージェントに自由にコードを書かせているときに考慮しないといけないのが外部アクセスで、セキュリティに気を使うなら勝手にアクセスされないように制限はかけておきたいものである。この点でもローカルで外部アクセスを制限した環境を用意するのは結構面倒で、Padawanのようにサービス側で環境を用意してもらうほうが楽である。
並列でエージェントを動作させるとアウトプットの確認が大変だが、Padawanの場合はPRベースのため、通常のPRのレビューと同じようにGithubでコメントを返していくだけで確認と修正指示が出せてしまう。このあたりも良いと思っているところで人間に対するワークフローと変わらないため、メンタルモデルを変える必要なくレビュープロセスを回していける。
あと、コードレビュー中に指示出しが大変だなと感じたらその場でブランチをチェックアウトして修正してそのままプッシュすれば反映されるのもよい。Padawanはそのまま引き継いで作業してくれる。
上で人間に指示出ししてタスク割り振ってレビューするのと変わらないと書いたけれど、人間と違って横からタスクを奪ったり、何度もやり直しさせたり、頭から作り直させても文句を言わないところがよい。新卒にこれをやると100%ふてくされるかモチベーションをなくすので気をつかう。
一方でイシューでの説明や指示についてはきちんとやらないといい感じのニュアンスをくみ取って作ってくれたりしない。この辺りは実は人間相手でも同じなのだけれどAI相手だとより意識的にやるようになったのでそこは良かったのかなと思う。
こういったフローを実現しているのは、ここまで書いたようにサンドボックス環境の提供とDVCSによるコードレビュー・プロセスとそれ用のUIを備えていてAIコーディングも提供しているからなのだけれど、これらを一式提供できるのは現状GithubだけなのでPadawanはすごく強みのあるプロダクトだと感じている。自分はClaude Codeも使っているけれどローカルで補助的に動かしている。自分が主でClaude Codeは従だ。一方でPadawanはエージェントが主体で自分は指示者、評価者ではあるけれど作業に対しては補助的な役割だととらえている。メインで操縦しているのはCopilotの方で自分は後ろから見守っていたり、手助けしたりしているイメージだ。まだイシューを並行で動かすのに慣れていなくて、アウトプットが遅いけれど使いこなせれば1チーム丸々引っ張っているくらいの状態を一人で作れるんじゃないかと思っている。自分の上司はかなり並列でアウトプットさせていてめちゃくちゃ効率的に開発しているので自分も早くそのような状態になれればと考えている。
AIにコードを書かせる時代になって面白みが減った部分と新しい時代を楽しんでいる部分と両方あるけれど少なくともPadawanについては早く使いこなせるようになりたいと思っている。もちろん今の時点でもとても良い体験だと感じているしおすすめできる良いプロダクトだと思う。