検索
連載

文系の非エンジニアだけどコーディングエージェントで自分用アプリ作った 超便利だけど超怖い「素人AI爆速開発」「AIで試行錯誤」の現場から

「現場でツール開発して課題解決! 属人性のないAI活用事例!」……というだけではなさそう。

Share
Tweet
LINE
Hatena

 昨今「AIエージェント」というワードが話題だ。記者が所属するITmedia NEWS/AI+でも頻繁に取り上げており、読者関心も高い。ITエンジニアの生産性や開発スピード、ひいてはビジネスの機動性に直結するからか、SNSなどでは特にコーディングを支援してくれるエージェントへの注目度が高いように感じる。

 ……のだが、恥ずかしながら記者はエンジニアではなく、正直あまりついていけていない。ChatGPTとの対話形式でアプリ開発を試みたことも何度かあるものの、ごく簡単な機能以外は、恐らく自分の知識不足が原因で実現できておらず「まぁ非エンジニアならこんなもんか」とか思っていた。

 しかし、2月末に登場したClaudeの最新モデル「Claude 3.7 Sonnet」が、コーディングにかなり便利との話を聞き、実際に使ってみると、確かに今までとは様子が違う。「これ、もしかしてうわさのAIエージェントと一緒に使ってみたら、挫折していた開発ができるんじゃね?」と思ってチャレンジしてみたところ……できてしまった。

Cursorで作ろう、自分専用テキストエディタ

 今回の開発は、Claude 3.7 SonnetをAIコードエディタ「Cursor」のエージェント機能で動かす形で行った。同機能では、自然言語などで指示すれば、コーディングをAIにお任せできる。修正すべきコードの特定、ファイルの作成などもやってくれるので、ChatGPTと会話しながらの開発と違い、いちいちコードをコピペして……といった手間が発生しない。ただし、Cursorとの対話の中で分からない語が出たときは、なるべくAIコーディングと並行して解決し、時短できるよう、ChatGPTに説明を頼んだ。

photo
CursorのUI(Macで利用した場合のイメージ、画像は公式Xから引用)

 記者が作りたかったのは「大規模言語モデル(LLM)による文章の編集や添削機能を持ったテキストエディタ(使用感が普段使っているエディタに近く、編集や添削がワンクリックやショートカット一発でできるとなお良し)」。今回はWebアプリではなく、デスクトップアプリとして開発した。最近、取材や執筆以外の業務がかなり忙しかったせいもあって、原稿に誤字脱字などミスが多発していたので、AIの力で改善を試みた形だ。

 欲しい機能は(1)通常のエディタ同様の執筆機能、(2)テキストファイルの入出力、(3)APIキー(LLMを呼び出す文字列)を入力すればそのモデルを使って入力欄内の文章を編集したり、添削したりできる仕組み、(4)編集や添削の方向性をプロンプトで指示できる仕組み、(5)編集や添削をワンクリックもしくはショートカット一発で実行できる仕組み──だ。

 といっても記者がやったのはCursorに指示することだけ。取りあえず、最初は上記の条件をそのままぶちこんだ。するとAIがPythonを書いてくれて、数分ほどでエディタが完成した。

 ただ、初期バージョンは使い物にならなかった。文章は入力できたが、APIキーを入れても、見かけは入力欄に保持するものの実際にはLLMを呼び出せず、肝心の添削や編集機能を使えなかった。

 そこで「APIキー入力欄に文字列の保存機能と、ついでに接続テスト機能もつけて」と指示。するとまた数分後に希望した機能を付けてくれた。しかし、ここで記者はエディタが「OpenAIのキーしか使えない仕様」になっていることに気付いた。修正を頼むついでに、Ctrl+Z(アンドゥ)をはじめとしたショートカットが使えないことにも気づいたので、基本的なものは全て使えるようにしてほしいと頼んだ。

 ……という感じで、成果物を使ってみて、足りない機能を指摘して、AIがこちらの意図をくみ取り切ってくれない場合は追加で指示して、ときには前に使えた機能が使えなくなっているので直すよう頼んで……というのを繰り返していたら、あれよあれよとエディタが完成。割り振ったショートカットを打ち込めば、その場で編集や添削をしてくれるエディタができた。

photo
完成したエディタ

 AIの成果物を触るうちに欲が出てきたので、当初想定していなかった(もしくは頭の中にはあったものの指示し切れていなかった)機能も増やした。

 例えば初期バージョンでは文字で問題点を列挙するだけだった添削機能は、問題のある部分を直接ハイライトする仕様に。さらに、編集や添削の方向性を指示するプロンプトを保存し、用途に応じて呼び出せる機能も搭載してもらった。後で使い方を忘れてしまっても思い出せるように、簡単な説明書や起動に必要なPythonライブラリなどをまとめたヘルプページも内蔵。編集・添削の履歴機能もつけた。

 まだ業務には使っていないが、プライベートで文章作成が必要な際に少しずつ使ってみている。添削・編集にはまだまだ粗があるが、これは恐らくエディタというより使っているモデルやプロンプトの問題だと捉えている。

 現時点では無料で利用可能なGemini-2.0-flashのAPIを使っているので、さすがに各種ハイエンドモデルに比べると性能は落ちるだろう。とはいえ、自分では見落としそうなミスを指摘してくれることもあり、素人が作ったにしては上々と感じている。

 開発に掛かった時間は1時間半程度。さすがに販売管理システムや営業支援システムなど複雑なシステムは無理だろうが、今回のエディタ程度であれば、多少のIT知識があれば誰でも作れそうだ。

「素人AI爆速開発」は美談だけじゃない

 と、ここまでは「現場でツール開発して課題解決! 属人性のないAI活用事例!」という美談にも聞こえる。しかし、実は記者はあまりそう思っていない。もちろん欲しいツールができたのは喜ばしいのだが、IT媒体の記者という仕事柄「これ、情シスとかセキュリティ部門にとっては悪魔的な話じゃないか?」とも思うのだ。

 記者の作ったエディタは、確かに記者が「こんなものがあればな」と考えていたツールだ(まだまだ利便性向上の余地はあるが)。ただ、作った記者自身、このエディタがビジネス的にもセキュリティ的にも安全だと言い切れない。

 もちろん、入力したテキストが学習される可能性があったり、ハルシネーションが発生するかもしれなかったりと、基本的なリスクまでは把握している。ただ、記者はPythonを読めないし、中でどういう仕組みが動く結果、望んだ機能が実現しているか、把握しておらず、説明もできない。使っているコードが何らかのライセンスを侵害している可能性についても判断ができない。責任を取ってくれるベンダーもいない。

 今回作ったのは、API経由でのLLM利用機能を除けばローカルで動くエディタなので、基本的には入力する情報が学習される可能性に気を付ければ問題なく使えるとは思うが、一応業務利用は控えている。

 しかし、ビジネスパーソン全員が同じような判断をするとは限らないだろう。知識がなくても理想のツールを自分で作れるとなれば、勝手にAPI利用料を支払って、勝手に開発して、時には勝手に必要なライブラリをインストールして、そして誰にもリスク評価ができていないサービスがしれっと業務に使われている状態になりかねない。

 エディタならまだましで、機密を運用するようなアプリ・システムを作られたらどうだろうか。ローカルだけで動くアプリならまだしも、生半可な知識で外部との接点まで作られた日には目も当てられない。“野良API”が増えるのも、セキュリティの観点からすると好ましくないだろう。

 エージェントサービスによって異なるだろうが、Cursorは利用規約にてサービスによる提案の安全性は保証しないとしている。当然、じゃあ責任や補償の範囲は──という議論が起こり、事実関係を確認する手間が情シスなどを襲うだろう。

 以前から潜んでいたリスクではあるが、3.7 Sonnet+Cursor級の利便性が実現した今、危険性がより現実味を増してきたと言ってもいいかもしれない。SNSではインフルエンサーが「もはやエンジニアは不要」なんてあおっているし、実際記者くらいの理解度の人間にもできちゃうのだ。当然、AIやエージェント側も日々発達するし、素人でも使いやすいサービスがいつか生まれる可能性もある。

 こんな風景、「事業部門でも簡単に使える」がウリのクラウドサービスが普及したタイミングでも見覚えがある。事故が起きる日は、そう遠くないかもしれない。

 ちなみに、成果物について開発のできる上長に話したところ「(AIエディタとしての)Cursor上でもだいたい同じことができると思うけど、そっちの方が早くない?」といわれて目からうろこが落ちた(一応、今回作ったエディタとはUXにいくらか差があると個人的には思っているが)。こういう“車輪の再発明”も起こり得るかもしれない。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る