5月13日発表されたGPT4oの対応を追加
導入
開発チームが直面する一般的な課題の一つに、品質の高いソフトウェアを短時間で提供することがあります。特に、人手不足の状況下では、プルリクエストのレビューにかかる時間の削減と、コード品質の維持がより重要になります。
この記事では、これらの課題に対する解決策として、PR-Agentの導入過程を紹介します。
GitHub Copilot Enterpriseの初期検討
当初、我々は開発プロセスの効率化を目指し、GitHub Copilot Enterpriseの導入を検討しました。このツールはAI技術を活用してコードを自動生成し、開発者の生産性を向上させることができるため、非常に魅力的でした。
しかし、GitHub Copilot Enterpriseを利用するにはいくつかの前提条件がありました。
- GitHub Enterpriseアカウントの必要性: このツールを使用するには、まずGitHub Enterpriseへのアップグレードが必要です。
- コスト: 我々のチームは20名で構成されており、GitHub Enterpriseへの登録には年間USD 5040の費用がかかります。
- 追加料金: 上記の基本料金に加えて、GitHub Copilot Enterpriseの使用料がさらに加算されます。
これらの条件を検討した結果、特にコスト面での懸念から、他の代替案を探すことにしました。
PR-Agentの選定理由
このコスト問題を解決するため、我々はPR-Agentの導入を検討しました。PR-AgentはGitHub Actionとして簡単に導入でき、GitHub Copilot Enterpriseよりも柔軟かつコスト効率の良い解決策だと思います。Open Ai側でAPIの利用制限などが簡単にできます。
導入手順
ChatGPT APIアカウントの作成
- OpenAIのWebサイトでChatGPT APIのアカウントを作成します。
- GPT-4を使用するための料金プランに登録し、必要な支払い情報を入力します。
- トークンの発行と追加
- ChatGPT APIのダッシュボードからトークンを発行します。
- 発行したトークンをGitHubレポジトリのRepository secretsにOPENAI_KEYという名前で追加します。
GitHub Actionsの設定
以下の内容を記述します。
name: pr-agent
on:
pull_request:
types: [opened, reopened, synchronize]
issue_comment:
types: [created, edited]
jobs:
pr_agent_job:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
contents: write
name: Run pr agent on every pull request, respond to user comments
steps:
- name: PR Agent action step
id: pragent
uses: Codium-ai/pr-agent@main
env:
CONFIG.MODEL: gpt-4o-2024-05-13 # 最新モデルの対応
OPENAI_KEY: ${{ secrets.OPENAI_KEY }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR_REVIEWER.EXTRA_INSTRUCTIONS: "Please use Japanese in descriptions."
PR_DESCRIPTION.ADD_ORIGINAL_USER_DESCRIPTION: true
PR_DESCRIPTION.EXTRA_INSTRUCTIONS: "Please use Japanese in descriptions. Titles should have prefix of commitlint pattern such as `feat:`, `chore:`, `test:`, `fix:`, `ci:`, `docs:` etc"
PR_CODE_SUGGESTIONS.EXTRA_INSTRUCTIONS: "Please use Japanese in descriptions."
PR_UPDATE_CHANGELOG.EXTRA_INSTRUCTIONS: "Please use Japanese in descriptions."
github_action.auto_review: "true"
github_action.auto_describe: "true"
github_action.auto_improve: "true"
実際の使用例
PR-Agentは、新規プルリク作成時や/reviewコメントをした時に自動的に稼働します。これにより、プルリクエストの品質保証と迅速なレビューが可能になります。
PR作成に走るgithub action
コメントで走るgithub action
詳しいコマンド使用方法や設定については、PR-AgentのGitHubページを参照してください。
結論
PR-Agentの導入を試しください。