
Clineを使ってみてAIエージェントによる未来を考える
はじめに
新年に社内エンジニアでLT会を行い、わたしは昨年末ごろから注目されているAIエージェントClineについて調べた内容を発表しました。
以下が発表資料になります。
資料では、Clineの概要から使い方、記事の作成ができるWebサービス開発をお題に使ってみた所感などをまとめました。
そのうち、Clineを使った所感やこういったAIエージェントツールが浸透することによる影響などを改めて整理しようと思い、記事にしました。
AIエージェントについて
AIエージェントとは、人が指示したタスク内容をもとに自ら必要な作業工程を分析、実行、解析などを行なってくれます。
GitHub CopilotやCursorは、コードの予測補完をしたり、やりたいことをチャット経由で送るとコードで提案してくれるコーディング支援の特徴があります。
つまり、「〇〇サービス・アプリを開発する」といった粒度の大きいタスクを人が請け負い、その中で必要となる作業に対してコーディング支援ツールがサポートしてくれます。一方、AIエージェントは人が請け負っていたタスクから自律して進めてくれるものと、わたしは認識しています。
ClineはそうしたAIエージェントの一つで、Visual Studio Code(VS Code)の拡張機能として提供されています。
Clineを使った所感
スライドにも記載したように以下のタスクをClineに指示しました。
記事を作成、公開するアプリをTypeScriptで作ってください
フロントエンド、サーバサイドにコードを分けて、
記事の作成にはWYSIWYGを使ったインターフェースを用意すること
ざっくりした内容ですが、What / Howの2軸で内容、条件を指定しました。
What - 何を作りたい?
記事を作成、公開するアプリ(CMS的な機能)
How - どのように作る?
使用言語: TypeScript
ディレクトリ構成: フロントエンド、サーバサイドのコードを分ける
インターフェース: 記事作成にWYSIWIGエディタを使う
すると、以下のような手順でAIエージェントがアプリに必要となる作業工程を計画・実施しました。
フロントエンド、バックエンド開発用のディレクトリを作成
各ディレクトリに、必要となるnpmパッケージをインストール
バックエンドはExpress + TypeScriptでコードを作成
フロントエンドはReact + TypeScriptでコードを作成
WYSIWIGエディタの開発にTinyMCEを使用
これらの作業の過程で、時折エラーで失敗するところもありましたが、都度エージェントがエラーの内容から要因を推測し、対応策を提示しつつ解決するまで実行してくれます。
また、開発作業だけでなく、出来上がったアプリを内部でブラウザを立ち上げて動作確認までしてくれます。その時は、エディタ開発で採用していたTinyMCEが導入にあたりアカウント登録が必要である旨を動作確認で検知しました。登録作業が面倒だったので、チャットで別のライブラリ(Tiptap)を使ってと依頼したところ、そこからライブラリの切り替えとその後の動作確認までしてくれました。
出来上がった時間は1時間足らず、基本的な機能はできているようでした。
おまけに、上述の指示による実装と動作確認合わせて約$0.82と、当時の為替から日本円にして約127円!
ジュース一本分の費用で作れました!!
とはいえ、良い点だけではなくいくつか懸念点もありました。
今回、見た目に対する指示が明示されていなかったため、想定よりもイマイチなデザインになってしまいました。この辺りは、タスク指示にどのような形で落とし込むかが考慮するところだろうと考えます。
また、今回は作りたいものの条件に絞りましたが、
画像アップロードをしたい
下書きステータスや承認フローを追加したい
テストコードを書いて欲しい
CI/CDを用意して、GitHubでマージされたらデプロイするようにしたい
のように機能面の拡充やテスト・開発支援の強化など、要件が多岐・複雑化するにつれ、実行工程が増え費用がさらにかかってくると思われます。
AIエージェントが与える今後の影響
では、ClineをはじめとしたAIエージェントの浸透により、各領域にどのような影響を与えていくのか、いくつか可能性として考えました。
案件、プロダクト開発への導入
まずは、事業会社あるいは受託開発におけるAIエージェントの実践投入が考えられます。これだけ自律かつスピーディに進められるのは、開発部署の生産効率を上げることが期待されます。
一方で、入力した情報が学習に使われる場合があるため、機密性の高い情報を取り扱う際には留意する必要がありそうです。
大手企業やWeb、システム開発を事業とする会社では、セキュリティ面などで慎重になり導入に時間をかけると思われますが、一部では取り入れてくるかなと思います。
運用業務への適応性
前述で新規のプロダクト開発を想定して使ってみた例を紹介しましたが、人がすでに書いているコードに対する保守や運用を指示した際にどうなるのかは、気になるところです。
既存コードの意図を理解しつつ別のところに不具合が出ないよう更新ができるのか、コードベースの規模が大きくなる場合にも効果を発揮できるのかは、今後の導入事例をもとに検討、改善されるところなのかもしれません。
AIエージェント関連の書籍出版
IT、情報系は比較的新しい情報が書籍として出版されます。すでにGitHub CopilotやCursorに関する書籍も出ているので、ClineやAIエージェントに関する書籍も数ヶ月くらいには出回るでしょう。
コードを書ける = エンジニアの価値ではなくなる
自分でコードを書かなくても、AIエージェントが半自動的に書いてくれるのです。つまり、デザイナーやPMから、開発領域外にいるマーケティングや経理、人事の人間も使い方を知ればできるようになります。
また、会社の採用基準で「〇〇(言語・フレームワーク・ミドルウェア)が書けるエンジニア」の価値が薄くなることもあり得そうです。結果として、エンジニア採用面の縮小が出てきたり、開発用途以外のAIエージェントが出てきたら、他の職種採用にも影響してきそうです。
そもそも日本は少子化傾向であることから、エンジニア人材を別領域で再配置するようなこともありそうです。それから、エンジニア養成を事業とするところや近年のリスキリングでのエンジニアの位置付けにも影響をしてきそうです。
とはいえ、エンジニアが自身が一からコードを書く機会が減る一方、Clineなどが生成したコードを読んで機能に不備がないか、パフォーマンスやセキュリティなどの懸念がないかを判断してフィードバックする場面が増えてくるだろうと考えます。
レビューする側が理解しやすいよう「〇〇の言語やフレームワークを使って」と指示したり、設計や開発手法に精通していれば「〇〇のアプローチを組み込んで」などのように、専門用語を組み合わせて端的に指示を与えることが期待されます。
顧客が認知・利用することによる機会損失とトラブルの可能性
先のコードを書くことを、AIエージェントに任せられるとなると、それまで外部の開発会社に委託していた顧客側が自らプロダクトを開発しようとすることが予想されます。
とはいえ、専門的な知識が必要になるため、中・大規模のプロダクト開発では難しいでしょうが、ちょっとしたミニアプリや社内向けサービスで試験的に活用することはできそうです。
それにより、これまで受託会社に渡ってくるであろう案件が減ってくる、あるいはエージェントによるコスト・生産効率を見越して納期や価格の調整といったことも出てくるのかもしれません。もしかしたら、それにより国内よりもリーズナブルなオフショアに委託せずとも、AIエージェントでコストを抑えるという流れになるかもしれません。
これは顧客側でこういったAIエージェントをいつ認知するか、適切な評価がされるかどうかによります。
一方で、最初は顧客がAIエージェントでプロダクトを開発したものの、その後の運用更新で期待した結果にならず、受託会社に機能不全になったものの改修依頼が来ることもあり得そうです。
従量制のエージェントに対する適切なアプローチ
Clineは拡張機能の導入自体無料ですが、LLMのAPI利用には費用がかかります。一回あたりの費用はそこまでではなくとも、利用量に応じてコストもその分かかってきます。
その場合、開発費用に対するAIエージェントのコストをコントロールできるよう、使い手側のリテラシーや指示の仕方に左右されてくるものと考えます。
AIエージェント側で一定度の要求にも適切に推論処理してくれたり、類似した過去の指示をもとに効率的に処理するプロンプト・キャッシングという技術が使われていたりしますが、複雑多様化するプロダクト開発のコストを抑えるためのアプローチをおさえておく必要がありそうに考えます。
プロダクトの完成度にどこまでAIエージェントを利用するか
プロダクト開発は、最初一定度のスピードでクオリティをあげることが出来るものの、完成度が100%に近づくにつれ上昇率は下がり時間をその分かけてしまうことがあります。

その場合、AIエージェントをどこからどこまでに投下するかで費用対効果も変わってくるでしょう。
プロダクトにもよりますが、完成度を70%から80%、80%から90%に引き上げるために使うよりは、開発序盤で導入し終わりを人が直接進めてフィニッシュする方がコスト面で効率になるかもしれません。
こういったエージェント、コーディング支援、人の使い分けの勘所を探ることも今後実践を通して見つかってくる可能性がありそうです。
開発インフラツールとして求められる可用性
各社で導入する数が増えてくると、プロダクト開発におけるメインツールと化してくるでしょう。人はコードを書かず、AIエージェントに任せるようになると、使っているAIエージェントの対障害性やインシデント、セキュリティへの影響が懸念されます。
AIエージェントのサービスが停止すると、導入している会社で人がコードを十分に把握せず書いてもいない場合、復旧まで何もできなくなることがあり得そうです。
そうしたサービスに依存しすぎて障害が起きた時の対応性は、先の導入時の検討課題に加えて考慮しておく必要がありそうにも感じました。
さいごに
上述で書いた影響面についてはあくまで現時点のわたしの予想です。今後このAIエージェントがどこにどう関わってくるかは想像を広げつつファクトと結びつけていきたいと考えています。