2024年06月20日

複雑な開発タスクもこなせるエージェント型AIまとめ

カテゴリー:テクノロジー

タグ:AI, 生成AI

Knowledge_seci_model

GitHub Copilotの登場以降、開発が半自動化されつつあります。コメントでの指定はもちろん、コーディング中に文脈に沿ったコードを提示されて驚く場面も多々あります。しかし、GitHub Copilotはあくまでコードの補完を行うものであり、開発タスクの自動化とは言えません。

そうした中、出始めたのがエージェント型のAIです。エージェント型AIでは、指定したプロンプトに沿って、コードを生成してくれます。それはUIやコード、テストなどひとまとめにして生成します。

この記事では、そうしたエージェント型AIをまとめてみました。

Devin (the Developer)

DevinはAIソフトウェアエンジニアとして登場しました。課題を与えると、自律的に情報を取得してコーディングを行います。もちろんデバッグやテストも行います。

開発用の仮想環境を持っており、その中でブラウザを動かしたり、ターミナルでコマンドを実行します。エラーが出た場合にはデバッグメッセージを出力して、その内容に合わせた修正を行います。ほぼ、人が行っているデバッグ方法と言えるでしょう。

Auto-GPT

AutoGPTはChatGPTを利用しつつ、さらに複雑なタスクを解決するためのAIエージェントです。特に開発プロセスだけでなく、任意のタスクに対して自律的に行動します。

特定のアーキテクチャを利用したWebサイト構築を依頼したり、市場調査を行うなどWeb検索と分析を繰り返して複雑なタスクを解決します。

GitHub Copilot Workspace

GitHub Copilot Workspaceは、GitHub Copilotをさらに進化させ、複雑なエンジニアリングタスクに対応するサービスです。自然言語を入力すると、そこで行うべきタスクをCopilot Workspaceが提案します。

提案を承諾すると、操作対象になるファイルをリストアップします。さらに承諾すると編集を行い、確認を出します。このようにエージェントと人が対話を重ねながら、開発を進めていくのが特徴です。

OpenDevin

OpenDevinは先述のDevinをオープンソース実装したソフトウェアです。オープンソースなので、AIモデルも複数から選択できます。ターミナル、コードエディタ、ブラウザを用意しており、複雑なタスクをこなせるようになっています。

基本的にプロンプトで開発したいものを指示し、その結果を受けてさらに指示を出すという形です。あまり複雑な場合、一度で完成させるのは難しいでしょう。

SWE-agent

SWE-agentはGitHubに送られてくるIssueを自動的に解決するAIエージェントです。ベンチマークでは、12.47%の課題を解決したそうです。イチから何かを作るのではなく、既存のリポジトリを対象にしている点が特徴です。

まとめ

MicrosoftがDevinの提供を予定するなど、エージェント型AIの波は確実に近づいています。今はまだ夢のような技術ですが、来年には当たり前になっているかも知れません。

そうした中で、エンジニアはいかに反発しようともあらがうのは難しいでしょう。そうなると、AIとの共存が問われます。いくらAIがコードを生成しても、そのコードが正しいかどうかは人間が判断・承認しなければなりません。正しい仕様理解と、AIの出力を正しく評価する能力が求められるでしょう。

役に立ったら、記事をシェアしてください