
potpro (ぽとぷろ)
Full-stuck engineer(Not Full-stack)
JS/PHP/Go/Docker/Nginxなど。技術または趣味寄りの発信ブログです。
全 86 記事
GitHub上で依頼してPR作成する自律型AIエージェントを作った

GitHub上で依頼してPR作成する自律型AIエージェントを作った:CodeAgent
AIコーディングの現状と私が感じる課題
みなさーん、AIコーディングを使ってますか?
最近はCopilotやClaude Code、Cline、Cursorなど、色々なAIコーディングアシスタントが登場していて、開発の効率化に一役買っています。
私も色々とAIを活用したアプリを作って公開したりしなかったりしています。ClaudeのGo SDKだったり、AIとリアルタイムで喋れるソフトウェアだったり。
で、最近仕事では一人で開発をしていることが多いので、AIコーディングアシスタントはかなり重宝しているんですよね。
コードの提案やリファクタリングの手助けなど、パートナーとして働いてくれる感じがとても良い。でも、こうしたツールを使えば使うほど、「もっと先があるはず」と思うようになりました。
つまり、「ちょっとこれ作って」と依頼したら全部やってくれるAIがほしいんですよね。考えてみれば、私たちエンジニアの日常業務の多くは「この機能を追加して」「このバグを直して」というタスクの連続です。そういったタスクをAIに丸投げできたら、自分はもっと創造的な仕事や設計に集中できるじゃないですか。
そんな自律型AIの代表格といえば、最近話題のDevin AIですよね。
他の職場ではテストしているようなのですが、いかんせん導入コストが高い。以前は500ドルからのスタートで、最近は安いプランも出てきたようですが、「500ドル払って本当に期待通りのパフォーマンスが出るのか?」という疑問もあり、一旦は導入を見送りました。
Devin AIのオープンソース版であるOpenHandsも導入がなんか簡単そうじゃない・・・。やっぱりサーバが必要と言う時点で手軽さは無くなってしまう。
でも、やっぱり自律的にコードを書いてくれるAIは欲しい。もっと手軽で、かつ高性能なもの。そして自分は仕事をしたくない、と言う気持ちがありました。
Claude Codeを活用したCodeAgentの開発
そんな中で出会ったのがClaudeを作ってるAnthropicが公開したClaude Codeです。これがなかなか面白い。他のAIコーディングツールと違うのは、CLIで動作するコーディング向けAIエージェントという点。
Claude Codeはかなり自律的な動作をします。プロジェクトのコードを見て、構造を理解し、自動的に処理を進めていく。
しかもCLIベースなので、CI/CDパイプラインで動かせるんですね。これは大きな可能性を秘めています。
「え、待てよ。CLIで動くなら、GitHub Actionsでも動くんじゃない?」
そうです、GitHub上のCI/CDで動作させることができるんです。そこで開発したのがGithub CodeAgentです。カッコつけた名前にしました。
https://github.com/potproject/code-agent
CodeAgentは、Claude Codeをバックエンドに使いながら、GitHub上のイシューやプルリクエストから直接指示ができるようにしたActionsで動作するカスタムアクションです。最大の特徴は**「全てコーディングがgithub上で完結する」**ということ。
GitHubのイシューに「このバグを直して」と書くだけで、AIが自動的にコードを解析し、修正し、プルリクエストを作成してくれます。
これって、もはやジュニアエンジニアを雇ったようなものじゃないですか?もともと自律的に動いていたClaude Codeを、さらにGitHub上で動かせるようにすることで、「依頼するだけで作業をやってくれる」という理想的な状態に一歩近づけたんです。
導入も超簡単です。Github設定とGitHub Actionsを使用するコードを追加するだけ。これだけで自律型AIエンジニアがあなたのプロジェクトに参加します。
name: Code Agent
permissions:
contents: write
pull-requests: write
issues: write
on:
issues:
types: [opened]
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
jobs:
code-agent:
runs-on: ubuntu-latest
if: ${{ github.event.sender.type != 'Bot' }}
steps:
- uses: potproject/code-agent@main
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}
ここには書いてないですが、AWS Bedrockに対応していたり、セキュリティ面も考えて作ってます。Write権限がないユーザは使用できなくしたり。
この数行を追加するだけで、もうあなたのプロジェクトにはジュニアエンジニアが1人増えます。しかも、元になるClaude Codeの性能が良いので、結構高度な依頼にも対応してくれます。
実際の使用感と将来への展望
すでに社内のプロダクトに試験導入して1週間ほど使用していますが、想定以上の働きをしてくれています。「このバグを直して」でちゃんと問題の特定と修正を行ったものが5分後にPRが上がってきましたし、機能の作成もclineと同じような感じで対話式で行えるので体験がいいです。
実行例
これは実際に仕事で依頼しているスクショ。issueの作成、issueコメント、PRコメント、PRレビューコメントに/claude
という文字を最初につけてると指示することが可能。これはフォームの内容を変更したいという感じ。
そしたら、目玉のアイコンが付けられて数分後にPRが上がってきます。シンプルかつ最高です。
でも、当然これじゃ駄目という場合もあると思うので、その場合はPRのコメントで同じように指示。レビューコメント(行を指定してコメント)もできます。
無事完成。いよいよエンジニア要らなくね? となってきましたね。
その他所感
Devinとの大きな違いを考えると、導入の簡単さと初期コストです。Devinはそれ自体がプラットフォームで、導入にはそれなりのコストと時間がかかります。一方、CodeAgentはGitHub ActionsとAPIキーがあれば、数分で導入できます。サーバを建てたりも不要。しかもオープンソースで公開しているので、透明性も高いと思います。
現時点での制約としては、環境を作って実行している訳では無いので、実際にその言語のコードを実行する機能は含まれていません。コードを書いて変更を提案するところまでです。これは簡単であれば主要な言語の対応してもいいかなと思いつつ・・・。
後はセキュリティ面には懸念があります。AIが途中にソースコードや機密情報をどこかにAIが勝手に送ってる可能性はないとは言えません。とはいえこれは本家Claude Codeや他のAIエージェントも同じ問題を抱えていそうですが。機密情報をコメントとしてうっかり出さないようにみたいな最低限の対処はしてます(付け焼刃感もある)。
後はエラーに関してはClaude Codeがブラックボックスなので修正が困難、そもそもClaude Code自体がまだPreview・・・とまあこうした安定性の向上も課題です。でも今のところはまあまあ動いてくれてます。
まとめ
自律型AIを使ってみたいけどコストが高い、ジュニアエンジニアを雇いたいけど人員を増やせない、そんな方々にCodeAgentはぴったりのソリューションだと思います。GitHub Actionsに数行追加するだけで、自律型AIエンジニアがあなたのプロジェクトに参加してくれます。
実際に社内プロジェクトに導入してみて、その効果に驚いています。Devinのような高価なAIと比べても、実用的な場面で十分に活躍してくれますし、何より手軽に始められるのが大きな利点です。機密性の高いリポジトリにはまだ導入は怖いけど。
もちろん、高度な判断が必要なタスクはまだまだ失敗することも多いんですが、日々の小さなタスクや改善点、バグ修正などは、CodeAgentに任せることで、あなたはより創造的な仕事に集中できるようになるはず。
ぜひ試してみてください!リポジトリのリンクはこちらです。
今後も継続的に開発を進めていく予定なので、フィードバックやコントリビューションをお待ちしています。