1. ゆるテク
  2. #52 AIエージェントを使った開発
2025-04-11 24:15

#52 AIエージェントを使った開発

spotify apple_podcasts

AIエージェント、人間の成長について話しました。


Links:

・Cline(Roo Code)を暴走列車にしたら4日間で数ヶ月分のコードが生成できた https://zenn.dev/erukiti/articles/2503-cline-express


ゆるテクは @junichi_m_ と @hacktk がゆるーく技術の話をするポッドキャストです。

おたよりやコミュニティなど各種リンクはこちらから → https://bento.me/yuru-tech

サマリー

このエピソードでは、クラインを活用したAIエージェントの開発とその難しさについて議論されています。特に、コード生成と技術的不採について考察が行われ、より効果的なプロンプティングの方法について触れられています。また、AIエージェントを活用した開発における設計の重要性やフィードバックの速さが強調され、人間の成長やメンタルへの影響についても議論されています。

AIエージェントによる開発の紹介
こんにちは、エンジニアの三田です。
こんにちは、エンジニアの博崇です。
ゆるテクは、三田と博崇が、ゆる技術の話をするポッドキャストです。よろしくお願いします。
よろしくお願いします。
三田さん、噛んだの初めてじゃないですか。
まさかの定型文、噛みましたね。
面白い、これ絶対切らないんで。
いやー、切ってほしい。
というわけで、場も温まったのかなと思うので。
すごい、そういう狙いだったのか。
進めていこうと思います。
今日のテーマなんですけど、
今日はブログの記事を一見ピックアップして、
2人で話したいなって思っております。
今日の記事っていうのが、タイトルがですね、
クラインルーコードを暴走列車にしたら、
4日間で数ヶ月分のコードが生成できた、という記事です。
これ三田さんからさっき渡されて初めて見たんですけど、
タイトルがもうすごいですね。
タイトルキャッチだし、すげーってなりましたよね、一気に。
すげー。
ざっとその記事の内容なんですけれども、
タイトルに書いている通り、
クラインを使ったエージェント開発というか、
AIエージェントを使った開発でゴリゴリコードを書かせていったら、
めちゃめちゃ物量たくさんできたぜ、みたいなことが書かれています。
その中に、とはいえパッと命令出せば全部うまくいったわけじゃないよ、
っていう苦悩の部分であったりとか、
それをどう解決していったかっていうのが書かれているので、
AIエージェントを使って何かコーディングしようと思っている人たちは、
ぜひ一度読んでみると、
自分たちのプロンプティングの参考にもなっていくんじゃないかなって思っています。
プロジェクトの初期段階の課題
なるほど。さっきも収録前にちょっと話したんですけど、
自分は全然エージェントを使った開発をしていないので、
その実感はないんですけど、やっぱりこの辺大変なんですね。
そうですね。
僕もめちゃめちゃ使っているかというとそんなことないんですけど、
割と最近、ほんとここ数日間で、
AIエージェントを使ってゼロからプロダクトのコードを作るっていうのを
今まさにやっている最中。
この記事の内容をこれからめっちゃ参考にしていこうって今なってるんですけど、
はいはいはい。
とりあえずこの記事を読む前にやってて、
自分がバッチリ地雷にはまったなっていうところを
反省点として挙げておくんですけど、
はい。
結構、新しいプロジェクトというかコードを書き始めるときって、
プロジェクトの構造、ディレクトリー構造とか、
どういうアーキテクチャーにするとか諸々考えて作っていくじゃないですか。
そうですね。
今回、とりあえず雑にお願いしてみたらいけんじゃねえかと思って雑にお願いしてみたら、
はい。
なんとなく期待したい動きはできちゃったんですよ。
おお。
なんとなくですけど。
できちゃったんですけど、結局それを今後そのコードってAIだけじゃなくて、
まだ人がメンテナンスしていくっていう前提でもあったので、
うん。
その内容を理解してないとちょっときついなって思ってたタイミングがあって、
うん。
で、ちゃんとレビューしようって思ったら、
イニシャルコミットの量がですね、
もう多分正常にレビューできるような量じゃないなってなりました。
数万とかそういうレベルで来るってことですかね。
そういう感じで来ちゃうので、
完全に今人間がボトルネックになってるって思いました。
そうですよね。
こっちのちょっとしたイニシャルだけじゃなくて、
はい。
きっとこっちが1をお願いしたら100返ってくるみたいな感じですよね、きっと。
そうです、そうです、そうです。
なので結構チームで何か1個のプロダクトをずっと開発していくってなったパターンの使い方ってまだ全然自分は
うまく使いこなせてないし、工夫しなきゃいけないんだなって思い知らされてたところ、
この記事に出会えて本当に良かったなって今なってますね。
この記事ね、横の目次見ていくとすごい苦労がいっぱい書いてありそうな感じしますね。
ですです。
いろんな苦労が書かれてて、多分僕らがすごく気になるところって、
目次でいうと技術的不採が積み上がっていったみたいな話があると思ってて、
効果的なプロンプティングと開発手法
記事を見るとルールファイルとかきちんとこの方は定義をされていたんですけども、
意外とコーディングガイドラインとかを守ってないときと守ってるときにムラがあって、
そこの挙動が不安定でしたみたいなことが書かれてるんですよね。
守ってくれないことがあるって結構大変っすね。
そうなんですよね。結局見なきゃじゃんってなりますよね。
なるほどな。
ですです。
なんで、単純にAIによって生成されるコード量に応じてちょこちょこ不採が含まれてると、
気づいたらめちゃめちゃ膨らんでるみたいな感じになりますよね。
この人多分最初の方だけしか読んでないですけど、完全にお任せで作っていくって感じなんでしょうけど、
不採っていうのはどこで気づいたんですかね、これが不採だっていうのに。
コード読まないとわかんなくないですか。
そこで言うとこの人はどうやらAIにコード批判をさせてみた結果っていうところっぽいですよ。
AIにコード批判して分析してそこから技術的不採を解消してって欲しいみたいなプロンプティングしてっていうのが書かれてましたね。
なるほどね。
その前の異変に気づいたっていうところが、人間がやったやつと一緒か、テストが毎回壊れるようになって修復が回を追うごとに大変になってきた。
もう完全に人間が技術的不採を認識する過程と同じですね。
そう、こういう時にテストコードってやっぱ大事なんだなって思いますよね。
そうですね、変更が大変になるってことか、やっぱり。
ですね。
はい、という感じで書かれていて、いろいろじゃあどうしていけばいいとかっていうのも書かれてはいるんですけど、
結構今んとこ僕の中で一番刺さってるのが、どこで書いてたかな。
割と中盤ぐらいだったと思うんですけど、なんか一つで完結するシンプルなタスクを渡すみたいなことが書かれてて、
はいはいはい。
どこだったかな。
赤色が変わったプロンプトってとこですね。
そうですね、太字で書いてある。
はい。
たった一つで完結するシンプルなリファクタリングをプランさせて、必ず最後までやり遂げさせるってとこですか。
うん、ですですです。
ここで言うとリファクタリングっていう文脈なんですけど、
多分普段のプロンプティングもなるべくシンプルな命令を出していった方が、
レビューするであろう人間が一定チェックしやすくなるので、
そういった面だときっと小さく出していくっていうのは、これまで人間がやってきたやり方とあんまり変わらないんじゃないかな感がありますね。
そっか、チェックする過程が挟まるから仕方ないっすね、それはじゃあ。
あくまで人間がチェックするならそうした方がいいだとは思うんですけど、
人間がチェックしないんだったらまた話は別なのかなと思いますしね。
うんうん、なるほど、はい。
はい、っていうのが今のところ僕に一番刺さってるところです。
なるほどなぁ。
はい、なんかこう処理の全容を書いて、本当に設計書をパコンって渡しちゃったような感じだったので、
途中でついていけなかったりとか、
余計なとこまで変えちゃうっていう感じなんですかね。
余計なとこまで変えちゃうとか、ちょっとプロンプティングを修正すると前の不最適なコードを残したまま、
急に別のとこによくわからんものを生やしてくるとか、
気づいたらなんか重複してそうなパッケージ名が出てくるとか、
なんか全然そうじゃない感じの作業になっちゃうんですね。
そうなんですよ、なんかスパゲッティ解いてるだけなんじゃないかみたいな。
この例としてここに書かれている、例というか実際に使ったやつなのかな、
プロンプとこれすごいですね。
うんうん。
こんな指定するんだ。
この指定の方法もなんか答えがまだ見つかってないんですよね、自分としても。
はい、っていうことをこれからしっかりやろうって、
なかなか考えていないんですよね。
そうなんですよね。
そうなんですよね。
そうなんですよね。
そうなんですよね。
はい、っていうことをこれからしっかりやろうってなってるのが今です。
なるほど、このプロンプと見るとあれですね、
非エンジニアの人がまだそのこのAIエージェントがあれば
プロダクトが作れるぜっていうレベルではなんかとてもないように見えますね、これは。
そうですね、多分動くものは作れると思うんですよ。
動くものはきっと作れるけど、その動くものが安全なものなのかどうかまでは
やっぱ一定知識というか専門性がないと結構まだ難しいんだろうなって感じがしますね。
そうっすね、いや、こんなだってデプリケーテッドの行動削除しろとかなんか
そんなこれ絶対無理ですよね、エンジニア以外には。
そう、ただなんか触ってみて思うのはその例えばこういうものがあったら
どういう反応してくれるんだろうなっていうその一時的なフィードバックをもらうためだけに使うのって
めちゃめちゃ多分やっぱり良くて、すごく反応が良かったから
じゃあこれをちょっと堅牢なものにっていうか安全に動くものにしていこうってできるじゃないですか。
はいはい。
そこのスピード感は確かに人がやってた頃とこういうものを導入した頃で比べると
桁違いに早くなってるなって思いますよね。
なるほど、そうっすね。
なんかこのエージェント系の開発って自分のイメージだと
なんかこういうのを作ってって言ってバーンって出してもらって
それがダメだったらここら辺をいい感じに直してとかって言うんじゃなくて
なんかもう1回1から全部バーンって作り直させるみたいなイメージがあるんですけど
僕もなんかそういう感じのイメージの方が近いですね。
その範囲をさすがに全部じゃなくて
一部分ずつ作り直させた方が良いみたいなこれは話なんですかね。
僕が使ってる体感だとそっちの方が精度も高いし複雑になってなくて
最終そのループの中に人間がいる以上は
よくうまく回るんじゃないかなって感じてますね。
そういう感じなのか。
うん。
なるほどな。
ちなみに三沢さんが試してるのって
いろんなモデルを試したりとかしてるんですか。
モデルはいろいろ試してないですね。
僕は今基本カーソル使って1個のモデルでやってるぐらいなので
確かモデル変えてどういう精度になるかとか全然そこまで使い分けはしてないですね。
なんか違うのかなと。
今最後の方にソネットの3.7とジェミニ2.5 Proだとだいぶ違うみたいなこと書いてあるから。
そうですよね。
それ読んでちょっとモデル変えてみてもいいのかなって気持ちにはなってます。
でも変えるとめちゃまた高額になるみたいなこと書いてあるな。
お金かやっぱり。
結局お金かってなりますよね。
なるほどな。そんな違うんだ。
だいぶ符号的プログラミングになっちゃいますよね。
でも本当地面通りというか正真正銘符号のプログラミングに。
なるほどな。
なんか目次見ていくとテストファーストとかDDDクリアアーキテクチャとか書いてあるけど
これは何が書いてあるんだろう。
ここは確かやらないこと?
今回のエージェントを使って開発させた時にやらなかったものを挙げてるっていうところですかね。
なるほど。
DDDは不要。
結構僕もしっくりきてるのはやっぱりテストファーストのところで
DDDがテスト駆動開発だけど実際設計論だよねっていうことを書かれてて
設計論っていうところは僕も知らないんですけど
設計論っていうところは僕も結構同意というか
先にどういうテストケースが必要でどういうテストリュードにしすべきかって
設計をするきっかけになると思っててテスト駆動って。
そのために使ってるものだから
確かにこのLLMで何かやらせる際には
別にテストファーストで作らなくてもいいなとはちょっと思ってるところはあります。
設計とフィードバックの重要性
ただ結局テストファーストじゃなくても
プロンティングする内容自体がそもそも僕は設計だと思ってるんで
どの道設計力は必要だよねっていうところですね。
それはそうって感じですね。
本当それはそう。
確か。あともう一個このテストファーストだけじゃないですけど
このプログラミングとかをやりながら設計にフィードバックされるみたいなことってあると思うんですよ。
ループするというか。
書いてみてやっぱりこれ設計いまいちだったらこっちのほうがいいなみたいな
でまた書いてみてみたいなループってあると思うんですけど
それってこれでできそうですかね。
近いかどうかはわからないですけど
僕は結構書いてみてここでのルールの定義の仕方が複雑で
複雑になっちゃってたなとか
命令の出し方がいろいろ混雑で混在しちゃってたなって思うタイミングで直したりがするので
だからちょっと近しい感覚はあるかもしれないですね。
じゃあAIエージェントを使ってても設計の改善みたいなことはやっていけるんですかね。
やってはいけるんですけど
これはあくまで僕個人の感想として
フィードバックがめちゃめちゃ早いんですよね。
確かにはいはい。
なんで自分の脳みそはあんまり休まってなくて
それもう最近すごい言われる問題ですよね。
休まってないんでなんか途中からプロンプトが超雑になってるなって思うときはあります。
なるほど。
プロンプティングしてるのになんかこれあんま脳みそ使ってないんじゃないかなっていう感覚に陥るときがあります。
やばい、疲労している。
疲労している。
へー、そうなのか。
なんかそこも普及してくれば
程よく疲れずにAIに指示を出す方法論とか出てきそうですね。
出てきそうですしなんかあれですよね。
ペアプロとかモブプロが出てきたときも
なんかよくあるじゃないですか。でも言うて1日何時間が限界じゃないみたいな。
あれに近いものもなんか出てきそうな感じしますよね。
そうですね。
その辺も全部やっぱ人間がボトルネックなんですね。
結局人間がボトルネック。
ってことはこれあれだな。
指示を出すのもAIがやるみたいなことをしだす人きっといるだろうなこれは。
いやそうだと思います。
もう既にいるんでしょうけど。
大変だな。
そうなんで結構ここら辺は多分AI同士に掛け合わせてどんどんやらせるっていうのはきっと出てくるし
それが一番疲労せずにいけるとは思うんですけど
それはそれで不合的プログラミングがより加速する感じもしますよね。
しますね。
確かにこれは何だろう。
この方針でいい感じにいくとしてやっぱあれですか受け入れテストというか
最後のチェックみたいなところがやっぱりがっちり固めておく必要がありそうですかね。
そうですね。
特にあれですよね。
会社とかで使う場合ってそこはシビアになりそうですよね。
ですよね。
結局最後責任を取るのって人間だし
AIの活用と人間の負担
何かあった時の損害とかを考えた場合に
そこってAIがやったんで大丈夫っすって
誰も言う勇気はないのではって
今時点では少なくとも
今時点ではないのではっていうところもありますしね。
時間の問題なんかもしれないですけどね。
今電卓の答えに疑義を挟む人いないですよね。
その例えめっちゃいいですね。
どう考えても人間の計算の方が間違うでしょう。
確かにそこまで人権というかあれが得られたらもう勝ちですよね。
そうですね。
その制度に早く行ってほしいな。
いや行ってほしい。
行ってほしいけど
そこに行くまでの間に多分使っておかないと
なかなか使いこなせないだろうなとも思う。
確かにな。
この間ちょっと話したかもしれないですけど
自分はクラインをちょっと試した程度なんですけど
いやあれ面白くないんですよね。
面白くない。
なんかプログラミングしたいんだけどなみたいな。
このコーディングツールAIエージェントに
指示を出すだけの仕事つまんねえなってすごい思う。
それはそうですね。
まあでもそんなこと言ってる人間が旧時代なんですよねきっとね。
違う楽しみ方を見つけなきゃいけないかもしれないですね。
そうですね。
この間なんて言いましたっけ。
クラウドが出てきた時もきっとこうだったんだろうねって話しましたっけ。
しましたしました。
そうですよね。
とはいえその例で言うと結局裏側を一定知っている人が
一番使いこなせるっていうパターンだと思うので
そこは同じことになりそうですよね。
そうですね。
っていう感じではありますね。
ただ全然AIの文脈じゃないところに脱線してしまうかもしれないんですけど
なんか
自分のアプリの中で
AIとかを使っていて
どんどん効率化であったりとか
イノベーションを起こしていくってなっていくじゃないですかきっと。
はいはい。
なった時に
自分はそんなに自分の成長に対していき急ぐペースを好むのかなとかって
思うかもしれないですね。
自分の成長に対して
自分の成長に対していき急ぐペースを好むのかなとかって
思うかもしれないなって。
だから
AIを使って開発できるっていう
その速度は
今の道長さんの体感からすると早すぎるってことですね。
早すぎる
早すぎる分にはいいんですけど
なんて言うんでしょうねうまく言えないですけど
どっかで速さを求め
速さとか成果を求めていった先で
途中疲れ始めるんだろうなって
なんて言うんでしょうねうまく言えないですけど
常に成長してしとかなきゃいけないかって言うと
そんなこともないだろうなって思ってるんですよ。
分かりますよ非常に。
価値観でしかないじゃないですか。
成長してたほうがいいとか。
そうですね。
ってなるとふとした時に
これを使いこなしてどんどん効率上げて
成果出してっていうのも一ついいと思うけど
果たして本当にそれだけ追い求めてていいんだろうかって
成長に対する考察
全然AIと関係ない感情に。
でも割とこの文脈でみんなそう
ちょっとは考えることあるんじゃないですかね。
そうなんですよ。
最後は全然AIと関係なく
ただただ
ふとした疑問を挙げてしまったんですけど
いいですよいいですよ
考えますよね。
そうなんですよね。
成長してないと
良くないはまた違うかなとも
個人的には思ってたりはしますね。
そうですね。
また脱線するんですけど
この間聞いたとあるポッドキャストでは
成長がそんなに好きじゃないとしても
何らかの形で成長らしいもの
らしきものはしなければいけない世の中であるっていう
話がされていて
いわゆる社会の出世競争とかいろいろあるじゃないですか
能力競争とか
ああいうのから降りたとしても
例えば丁寧な生活をするとか
より良い自分であるとか
それって結局成長だから
そうですね確かに
何らかの形で成長というものはしなければいけないんだな
みたいな
世の中ですねみたいな
そういう話はされていました。
そこでいくと
もしかすると自分が今
成長してないんじゃないかって不安になっているときって
意外と
成長っていうベクトルの中に
その成長っていうベクトルの向き先を変えてみると
ここでは何か成長してるじゃんとかで
ちょっと自己肯定感じゃないですけど
心の豊かさにつながるかもしれないですね
そうですねいいですね
そういうのがいいと思います
そうたまに触っているとそう感じるときは
あります
それでちゃんとメンタルを保てているならいいと思いますね
はい
なんか全然最後エンジニアっぽくない
になってしまったんですけれども
大丈夫です。ユールテクなんで
はい
成長っていろんな方向があるので
みんな
メンタル保つために
頑張りましょうっていう
はい
締まり方がひどいな
大丈夫です
というわけで今日はそろそろこの辺にしておこうかなと思います
はい
ではではですね今回は
AIエージェントを使って開発記事の紹介について話をしました
感想などは
ハッシュユールテクをつけて投稿するか
MixC2のコミュニティまでお願いします
今日はありがとうございました
ありがとうございました
24:15

コメント