EXPLAZAの jun です。
開発現場では、コミットメッセージの作成、プルリクエストのレビュー、コード改善提案などの作業に多くの時間を費やしています。これらの手作業が開発の足かせとなり、生産性の低下を招いています。しかし最近では、llm、OpenCommit、pr-agentなどのAIツールを組み合わせることで、これらの作業を自動化し、効率的な開発を実現できるようになってきました。本記事では、これらのツールを使ってGitHubでのコミット、レビュー、コード改善を自動化する具体的な方法を紹介します。
今回は以下のAIツールを使っていきます。
simonw/llm
コマンドラインからLLMにアクセスができるようになります。 github.comdi-sukharev/opencommit
コミットを作成してくれます。 github.comCodium-ai/pr-agent
プルリクエストのレビュー、説明文の入力、コードの改善案をしてくれます。 github.com
事前準備
まずAIツールをそれぞれインストールしてみましょう!
llmのインストールとOpenAI keyの登録
Homebrewもしくはpipでインストールしてください。
brew install llm pip install llm
次はOpen AI keyの登録です。
llm keys set openai 以下のようにキー入力が求められます。 Enter key: <paste here>
OpenCommitのインストールとOpenAI keyの登録
npm install -g opencommit
次はOpen AI keyの登録です。
oco config set OCO_OPENAI_API_KEY=<OpenAI key>
.env
に以下を追加して、一行のコミットメッセージが作成されるようにします。
OCO_ONE_LINE_COMMIT=true
pr-agentをGithub Actionsで導入
対象となるリポジトリの Actions Secret に OPENAI_KEY
を追加し、 OpenAI のkeyを登録します。
次に.github/workflows/pr-agent.yamlにワークフローを定義していきます。
name: pr-agent on: pull_request: types: [opened, reopened, synchronize] issue_comment: types: [created, edited] permissions: pull-requests: write issues: write jobs: pr_agent: runs-on: ubuntu-latest name: Run PR Agent if: ${{ github.event.sender.type != 'Bot' }} steps: - id: pr-agent uses: Codium-ai/pr-agent@main env: OPENAI_KEY: ${{ secrets.OPENAI_KEY }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} PR_REVIEWER.EXTRA_INSTRUCTIONS: "Please use Japanese in descriptions." PR_DESCRIPTION.EXTRA_INSTRUCTIONS: "Please use Japanese in descriptions." PR_CODE_SUGGESTIONS.EXTRA_INSTRUCTIONS: "Please use Japanese in descriptions." GITHUB_ACTION.AUTO_REVIEW: true GITHUB_ACTION.AUTO_DESCRIBE: true GITHUB_ACTION.AUTO_IMPROVE: true
プルリクエストが作成されたタイミングで、レビュー、説明文の入力、コードの改善案が実行されるように定義しています。
GITHUB_ACTION.AUTO_REVIEW: true GITHUB_ACTION.AUTO_DESCRIBE: true GITHUB_ACTION.AUTO_IMPROVE: true
実践
ここからは準備したAIツールを使っていきます。 まず.github/workflows/pr-agent.yamlを作成したので、llmを使ってブランチ名を作成します。
cat .github/workflows/pr-agent.yaml | llm -m gpt-4 -s "ブランチ名を考えてください"
pr-agent-enhancement
が作成されました。
次はllmとOpenCommitを使ってコミットメッセージを作成していきます。
cat .github/workflows/pr-agent.yaml | llm -m gpt-4 -s "コミットメッセージを作成してください"
llmではAdded PR agent and updated workflows
が作成されました。
OpenCommitでも作成していきます。
git add .github/workflows/pr-agent.yaml opencommit 作成されたコミットメッセージが問題なければ、「Yes」を選択してください。 Confirm the commit message? │ ● Yes / ○ No
OpenCommitでは以下のようなコミットメッセージが生成されました。こちらのコミットメッセージを使っていきます。
feat(pr-agent.yaml): add GitHub Actions workflow for pr-agent to automate PR reviews and descriptions with support for Japanese language instructions
最後にプルリクエストを作成して、pr-agentを試します。
GitHub Actions の実行が完了するとプルリクエストの説明文が入力されました。
レビュー結果とコードの改善案もコメントされています。
これで、AIを活用して開発プロセスを効率化する方法についての紹介は終わりです。今回紹介したツールは、コミットメッセージの作成からPRのレビューまで、一連の開発作業をAIの力で支援します。技術の進化は日々加速しており、これらのツールも進化し続けるでしょう。これらの新しいツールを取り入れることで、より生産的な作業に集中できるようになります。
みなさんもぜひ試してみてください!!