Nexta Tech Blog
🤖

DevinによるCI自動化の実践:ACU消費の落とし穴と技術的負債への対処

に公開

はじめに

こんにちは!
ネクスタで、SmartFという生産管理SaaSの開発エンジニアをしている日野岡です。

以前、こちらの記事 AI時代の開発プロセス再構築 - DevinとGeminiの連携で、レガシーな壁を乗り越えるための実践録 で、AIエージェントDevinを活用した開発プロセスの再構築についてご紹介しました。

あれから試行錯誤を重ね、ついにDevinにタスクを依頼するだけで、ビルドと単体テストまでを自動で行うCIパイプラインが完成しました!

一方で、運用を通して見えてきた大きな落とし穴もあります。
本稿では、取り組みの成果と、運用で顕在化した「技術的負債」という壁、そして今すぐ取れる打ち手までを、実体験ベースでまとめます。

本記事でわかること

  • CI自動化の構成とポイント
  • Devin運用で露呈したACUコスト高騰のメカニズム
  • 短期の運用改善と中長期のリファクタリング戦略

DevinによるCIパイプラインの成果

今回構築したCIパイプラインは次のように構成しています。

この仕組みによって、Windows環境で、さらに .NET Framework 3.5 / 4.8 といったレガシーな環境でも、Devinにタスクを依頼するだけで、ビルドと単体テストまでが自動で実行される環境が整い、開発効率は大きく向上しました。

設計のポイント

  • GitHub Actions: Push/PRをトリガーにイベントを正規化
  • Jenkins on Windows Server: Windows前提のビルド要件に対応(ローカル資産の活用)
  • 失敗時の自動リトライ: 修正→Push→再実行までをエージェントループに閉じ込める

得られた効果

  • 手作業のビルド/テスト待ちの排除により、雑務時間を削減
  • 失敗の自動検知→自動修正→再実行のループで、PRサイクルが短縮
  • 「人が介在するのは方針決定のみ」という理想に一歩近づいた

顕在化したDevinのACU消費問題

運用を続ける中で、思わぬ課題に直面しました。Devinの利用料金はACU(Agent Compute Unit)という独自ユニットで計算されますが、この消費量が想定をはるかに上回ってしまったのです。

料金の前提と実測

  • 想定: 月額500ドルで250ACU(約62時間分:1ACU=15分)という前提から、1時間あたり約8ドル
  • 実測: 通常の運用ケースで時給換算すると約20ドル(約3,000円前後:1 USD = 150 JPY)
  • ギャップ: 想定の約2.5倍のコスト負担

このままでは、いくら便利でも持続可能な開発は行えません。
なぜ、これほどまでにACUを消費してしまうのでしょうか?

なぜ高騰するのか:根本原因は「技術的負債」

原因を探る中で、私たちはある仮説にたどり着きました。それは、ソースコードが抱える「技術的負債」の大きさです。

プロジェクトが長年の改修を重ねたレガシーな環境であることは認識していましたが、その影響がAIエージェントの稼働コストに直結するとは想定外でした。

Devinはコードを修正する前に、全体像や依存関係を理解しようとします。コードの可読性が低く、複雑に絡み合っているほど、コンテキスト収集に大量のACUが消費される可能性が高まります。

人間であれば経験やドメイン知識で補える部分も、AIエージェントは愚直にコードを読み解きます。その結果、技術的負債が「AIの思考時間」という名のコストとして可視化されたのだと感じています。

いま取れる運用上の対策(短期)

まずは既存コードを大きく変えずに、ACU消費を抑えるための運用改善から着手します。

  • タスク粒度の最小化: 1PR 1目的・小さな変更単位に分割
  • 対象範囲の明示: 解析対象ディレクトリ/ファイルを明確に指示
  • 事前コンテキストの提供: 設計図/依存関係表/手順書を簡潔に渡す
  • ビルド/依存の安定化: 依存ロック、キャッシュ、インクリメンタルビルドを徹底
  • タイムボックス/上限: 実行時間や試行回数の上限を設定
  • 可視化: ACU消費・失敗理由・再試行回数を記録し、ボトルネックを特定
  • プロンプト雛形の導入: 指示テンプレート化で認知負荷とブレを低減

中長期の打ち手(リファクタリング計画)

短期の運用改善で急場をしのぎつつ、根本原因である技術的負債へ段階的に対処します。影響が大きい順に、費用対効果の高いものから進めます。

  • 複雑度の高い領域から分割: ドメイン境界でモジュール化し、依存を整理
  • 可読性の向上: 命名/関数抽出/デッドコード削除でコンテキスト把握を短縮
  • テストの疎結合化と高速化: ユニットテスト中心にし、非決定性を排除
  • ドキュメント整備: アーキテクチャ図、依存関係図、ビルド手順の単一ソース化
  • ビルドの決定性確保: 再現性のあるビルド(依存の固定、環境差異の解消)

まとめ:次なる一手はリファクタリング

DevinによるCI自動化は、開発効率を大きく押し上げるポテンシャルを示しました。同時に、AIエージェントを真に活用するには、土台となるソースコードの健全性と、運用設計の工夫が不可欠であることも明確になりました。

この経験から、私たちは早急なリファクタリングの必要性を痛感しています。

AIに「仕事をさせる」だけでなく、AIが「仕事をしやすい」環境を整えること。その視点が、AI時代の開発組織にとっての競争優位につながるはずです。技術的負債という壁をどう乗り越えるかについては、今後の取り組みも継続して共有していきます。

注記: ここでの料金やACUの扱いは執筆時点(2025/09/02)の前提に基づくもので、今後変更される可能性があります。

Nexta Tech Blog
Nexta Tech Blog

Discussion