AIを“1人の万能エンジニア”として使うのは限界?役割分担させてみた話〜Codexのサブエージェントで実装とレビューを分離してみた〜
最近は、生成AIを使ってコードを書く機会がかなり増えてきました。
ただ実際に使ってみると、
- 実装は速いけどレビューが甘い
- 丁寧に考えさせると今度は遅い
- 1つのAIに全部やらせるとバランスが難しい
と感じる場面もあります。
そこで今回私たちは、「AIも役割分担した方が良いのでは?」という発想で、Codexのサブエージェント機能を使った開発を試してみました。
AIに全部やらせると、意外と難しい
生成AIはコードを書くのがかなり得意です。
ただ、開発には実装だけでなく、
- コードレビュー
- テスト
- 設計確認
- 動作確認
など、いろいろな役割があります。
人間の開発でも、
- 実装が得意な人
- レビューが得意な人
が分かれるように、AIでも同じことが起きます。
例えば、
- スピード重視だとレビュー品質が下がる
- 慎重に考えさせると処理が遅くなる
というトレードオフがあります。
そこで「AIの役割分担」を試した
今回使ったのは、Codexのサブエージェント機能です。
これは簡単にいうと、複数のAIに役割を分けて動かせる仕組みです。
今回の検証では、
- フロントエンド実装担当
- バックエンド実装担当
- フロントエンドレビュー担当
- バックエンドレビュー担当
のように、エージェントを分割しました。
ポイントは「役割ごとに最適化できる」こと
今回面白かったのは、エージェントごとに設定を変えられるところです。
例えば、
実装担当は、
- スピード重視
- 実装向きモデル
- 必要最低限のツール
を設定。
一方レビュー担当は、
- 深く考える設定
- reasoning重視
- テストや検証向きツール
を使うようにしています。
つまり、AIを“適材適所”で使い分ける構成です。
MCPも役割ごとに分離
今回の記事では、MCP(AIとツールをつなぐ仕組み)も役割ごとに切り分けています。
例えば、
- Angular用MCP
- Playwright用MCP
などを必要なエージェントだけに渡しています。
これによって、
- 不要なツールを減らせる
- コンテキストを整理できる
- エージェントごとの責務が明確になる
というメリットがあります。
何がうれしいの?
今回の取り組みで感じた価値は大きく3つです。
1. AIを“チーム”として使える
これまでのAI活用は、「1人の万能AIに全部任せる」形が多かったですが、今回のように役割分担することで、「AIチームとして開発する」形に近づきます。
2. 品質と速度を両立しやすい
実装とレビューを分けることで、
- 実装は高速に
- レビューは慎重に
という使い分けができます。
3. 実務に近い構成になる
実際の開発現場でも、
- 実装担当
- レビュー担当
を分けることは普通です。
つまり今回の構成は、AI開発を“現実のチーム開発”に近づける取り組みとも言えます。
まとめ
今回の検証を通して感じたのは、AIは1人の万能エンジニア”として使うより、役割分担した方が強いということです。
生成AIは今、
- 単体で使う段階から
- 複数のAIを組み合わせる段階
へ進み始めています。
Acroquestでは、
- MCP
- A2A
- AG-UI
- Memory
などとあわせて、こうした「AIをどうチームとして設計するか」も含めて検証しています。
もし、
- AIを使った開発に興味がある
- 新しい技術を実際に触ってみたい
- “使えるAI”を考えてみたい
そんな方がいれば、ぜひ一度お話しましょう。
具体的な実装コードなど詳しくは当社技術ブログに記載しておりますので、詳細を知りたい場合はこちらをご覧ください。
ぜひ、当社で一緒に働いてみませんか?
チャレンジングな案件が多く、成長の機会が多く得られる環境です
当社では、機械学習/AIや生成AIに加えて、AWSやAzureを活用したITサービス開発事業を推進しています。そこで、最先端技術を駆使しながら、社会を進化させたい情熱とスキルのある機械学習・AIエンジニア、クラウドエンジニアを募集しています!
私たちが取り組む案件は、最先端技術を用いる内容や高難易度の内容が多く、チャレンジングな環境なので、成長の機会が多く得られることをお約束します。
/assets/images/10338/original/b4c1f58c-4c92-447a-a0cc-671371e80f3a.png?1392712942)