Devin.aiを試す
長くなってきたので切り出した
2025-01-02
Session Usage Limitについて
Devin went to sleep due to session usage limits.
https://gyazo.com/244856dde84816c84ba02e100fbc76ac
Limitをだいぶ超えてから止まるようだw
追記
説明を読むとセッション単位のように読めますが、最後のユーザーの発言以降で使用できる ACUs の上限 (by teramoto) あ、そうなんだ、どうりで超えてるものもあるなぁと思った
nishio 「さて、いよいよ金銭感覚が麻痺して参りました。一歩先の未来を生きるためのコストとして受け入れつつも、たまに冷静になる瞬間が恐ろしいです。」 あーあー聞こえないーー(1ヶ月のトークンを1週間で使い切っておかわりした人)
nishio 冗談はさておき、適切な金銭感覚とは何かは難しいところだな。 最初にChatGPTに3000円課金した時には「技術書1冊分だ」と感じていた。それを毎月支払い続けるようになった時には「業務効率化のツールだ」と感じていた。
それが今はDevinに対して「人だ」と思ってる。人だと考えるとまだ安い。
nishio 個人的タスク管理のためにDevinに作らせてたもの、Devinの書いたドキュメントが結構面白いのでデータ部分を分離して公開しました ソースコード中のすべての日本語コメントを英語にするという泥臭タスクが行われた
単純な作業の繰り返しなのでDevinに適してるかも
https://gyazo.com/79e8d9ad1cb1dccb3d28a43a35150cb9
日本語の言葉足らずなコメントが英語の懇切丁寧なコメントに変換されてる
単なる翻訳ではなくコードを理解して書いてる感じ
「単純な作業」っていうほど単純じゃないな
takahiroanno Devinを見ていると、AIが環境構築、実装、認証、テストを遂行できる確率を少しでもあげられるような自然言語でのドキュメントの整備 / 知識の整備はもはやフレームワークの一部になりそう >teramotodaiki: Devin観察日記 3日目|Daiki Teramoto
待機やsleepのコスト
AIが働く時間にタイムボックスをしていできないかなぁ。指示待ちで止まってたりするのが勿体無くてチャットにアテンション取られてしまう。
「今から人間は1ポモドーロするので25分後に報告して」みたいなことがしたい、そしたら25分間僕は僕の仕事をすすめられる
Q: そもそも指示待ちで止まってる間にACUsは消費されている?
確かに!nishio.icon
起動後:
0.42 @ 5min
0.46 @ 10min
0.49 @ 15min
sleep
0.51
nishio: 起きて
Devin はい、起きています。ご指示をお待ちしております。
0.54
nishio: Devinが考えてる時と休んでるときのそれぞれのコストってどうなってるの?
Devin: 申し訳ありませんが、私自身はコストの詳細情報にアクセスできません。Settings > Usage & Limitsページで、ACU(Agent Compute Units)の使用状況と詳細な費用情報をご確認いただけます。
0.60
軽いLLM呼び出しや5分間の待機で10円くらい
VMの起動で100~200円くらい
軽いやり取りはほとんどACUを消費しないので、結局たくさんファイルを読んでたくさんファイルを書いたり、プランを考えたり、という実質的な仕事に対してコストがかかる感じ
だとすると見当違いな方向に突き進んで丸ごと捨てることになったりレビューコストが掛かったりするくらいなら、方針レビュー待ちで止まってる方がいいのかも?
ちょうど2年前にChatGPTを初めて触った時と同じで、ゲームのルールが変わるという確信が持てた。
周囲の人に比べると僕は楽観的らしく、「自分の仕事がAIに奪われる」ことを怯えたりもしていないんだけど、そこの解像度はかなり上がったと思う。
裏のLLMがみんな横並びだとUIしか張り合えるところが無いから、UIの重要性は更に増していく。しかし、そのUIは必ずしもHumanの為ではない…という感じでカオス
2025-01-07
「混乱した!」とAIに行ったらAIが懇切丁寧に管理してくれた...
https://gyazo.com/cbdc5b27e06b5abca66e6bf66dfeb92a
まず月曜のタスクは終わったと伝えよう
これは僕が一行もコードを書かないまま、git cloneすらしないまま開発が進行しているタスク管理システム
Devin.aiが僕とSlackで話しながらbacklog.yamlを更新している
上記の画像はそのbacklog.yamlをChatGPT 4oに入れた返事
一行もコードを書かないままどこまで行けるか逆に気になってきた
さすがにそろそろcloneするか...
考え直した
「人間がコードをいじらずにどこまで実装できるか」という縛りプレイゲームはここでやる必要はない
これはさっさと「安心してタスク管理を任せられる」って状態にして僕を楽にするべき
少し手直ししたらタスクの依存関係グラフが出力されたけどイマイチだな
https://gyazo.com/39a9eea4b4bf706b51e3183108801b2a
まあでも、これの見た目はイマイチだけど、AIとチャットで話しながらAIが整理して作ったタスクのデータ(YAML)がこうやって可視化できるということはフォーマットとしてはまともに生成できてるということか
Miro APIで付箋と矢印を生成することまでできたので将来的にはGraphvizではなくMiroに出力することにしよう 人間の仕事
https://gyazo.com/6d0f14d43a8c6053648832e4e995b1d4
現時点での感想
今までのChatGPTなどが個人で使うツールだったせいでその使い方をイメージしてしまいがちだが、これは本格的にチームで使う想定のもの
Slackに入れてやり取りすることで他の人がDevinと一緒に開発している内容が見える
Devinの画面や作業内容、考えていることが同期的にも、後から非同期に遡っても確認できる
つまりこれは「個人作業」を「AIとのペアプロ(人間はナビゲーター)」に変えるもの
そしてそのプロセスのログが残るので改善がしやすくなる
見やすいかどうかはさておきMiroで可視化するスクリプトを作ってくれた
https://gyazo.com/2442808eff0a8c2703a3183220200899
Miroなのでもちろん動かして整理することもできる
既に同じIDの付箋があるときには位置を変えずに再利用するようにすれば、人間が再配置した物を温存しながらアップデートしていけるな
まあMiro APIによる可視化は今後色々使うので試したけど、タスク管理に関しては重要ではない
手で整理した
https://gyazo.com/2c1e10d9851e37d4818f94508d37f388
Miroさんはこの「日本語だと字がちっさくなる時がある問題」をいつになったら改善するのか
GPT.iconMiroフォーラムやリリースノートを確認すると、日本語表示の問題を把握している旨のやり取りはあるようですが、具体的な修正スケジュールは見当たりません。
ぐぬぬnishio.icon
Devinに「AIと人間が共同編集可能な箇条書きエディタを作って」って言って放置したらなんか作ってた
https://gyazo.com/650fda10ee39c4a59cc0fe35d1dfe9f3
アイコンはすごくいいぞ!配色もいいぞ!
共同編集とか箇条書きとは何なのか!!
teramotodaiki Knowledgeがすべて並列なので、「このリポジトリ限定の知識です」みたいに書いてても大して意味がない。別リポジトリのルールをそのまま参照してしまう nishio やっぱ各プロジェクトのドキュメントに書いて読ませるのの方が扱いやすい気がするなぁ teramotodaiki ですねぇ。Knowledgeに入れるのは、「リポジトリの中に全ての情報を残すこと」「いつでもセッションを引き継げる準備をすること」…みたいな、Devinの性質にちなんだメタな内容だけを入れておくのが良いのかも? nishio 「アクセストークンや秘密鍵をリポジトリにコミットするな」だね! https://gyazo.com/6a326a70102c5d7bf8ec8d091d85c1ba
teramotodaiki TLがDeepSeek-V3+Clineで盛り上がる中、うちのDevinはさっき Firebaseプロジェクトのサービスアカウントを取り違えて別アプリにデプロイして全てを破壊したよ。かわいいね akiroom 自律型AIエージェントが実行計画を立てて料理を注文していく様と試行錯誤に超絶盛り上がって、精神が加速した。今日の飲み会は2023年3月の言語処理学会中にGPT-4が公開されて沖縄で熱い夜を過ごした時以来だった。 akiroom Devinのことをアプリ開発エージェントぐらいに捉えていたけど、これはもう汎用自律型AIエージェントそのものだと深く感動した akiroom 今日、飲み会でDevinに衝撃を受ける前までの感想を雑に書いてみた。実は正月から月額500ドル(7万5000円)をポケットマネーで支出して実際にガチャガチャ触ってみていた。 ゲーム開始
https://pbs.twimg.com/media/Gg2_SEiaMAMylnV?format=jpg&name=large#.png
nishio 僕もCosenseのMCPサーバ作るゲームしようかな() hrjn devin 便利だな・・・簡単なタスクは完全にこなせてる。 高いけど・・・
hrjn けど、ワンちゃんこれくらいだと、cursorのcomposer agentでもいけるのかな。いけそうだけど、slackですむのがらくと言えばらくなのかな。 nishio Slackを既に使ってる会社にとっては「人間とAIの1対1のブラックボックス」ではなく「人間のAIが会話しながら進めることで各タスクの状況が可視化される」というところの効用が大きそう。特に新入社員とかリモートワークとかの人に使ってもらうと良さそう hrjn まだあんまり触ってないけど、今のところcursorとかのcomposer agentの方がレスが早いので楽ではありますね。 devinは一応動作確認してるっぽいのでその点が優位なのかもしれないけど、頼んでることが今のところ簡単すぎるので差が実感できてない。
タスク状況の可視化はそうかもなとは思うけど、マメにWIPでPR作ってpushしてねっていっておけば人間でもかわらんかなとか思わないでもない。
nishio 「新人のオンボーディングプロセス」などの「開発プロセス」という「人間を部品に使うシステム」のテストに、今までは「知識のない新人」という希少なリソースが必要だったが、Devinが人間のエミュレーションをしてくれるのでシステムの改善速度が向上する。こういうパターンの生産性向上も面白い nishio 一段階抽象化すると「人間が部品であるシステムの改善を人間のエミュレーターを使ってテストできて、その人間エミュレーターはすべての作業ステップが記録されて、考えていることも可視化される」という状況ね。これは使い所によっては結構面白い。 nishio もう一つ面白いパターンは「人間が裏にいるMVP」の人間の部分をDevinにしてユーザテストをすること。雑で曖昧な指示で動かして「実際に使ってみる」ことで、何が明確化されるべきなのかが特定される。ユーザの振る舞いを観察するフェーズに進むためのコストが下がってリーン的進め方がしやすくなる 2025-01-13
1/12
nishio 「AIにプログラミングをさせて働かなくても金が稼げるようになるか?」 「もし人間不要で稼げるシステムが実現されたらみんながそれをやるので、それに必要となるリソースが逼迫し、価格が上昇して『儲からない』水準になるだろう」
という話をした
nishio だから均衡に至るまでの過渡期に金を得るか、金でないリソースを得るか、すでに持ってるリソースによって参入障壁があるドメインでやるか、という選択肢しかない 2025年1月時点の自律AIエージェントがどの程度自律的に実装をできるのかについて実験をした。
2025-01-10~12のプログラミングシンポジウムにおいて「コントラスト」というゲームが紹介された。チャットに貼られたルールを元に曖昧さがないかAIにレビューさせたり、有効な戦略を考えさせたりする遊びをしているうちに、これを自律AIエージェントに実装させてみようというアイデアが生まれた。
「プロシンで話題になったゲームの対戦サーバをプロシン期間中にAIが完成させる」ことができるかどうか?これを検証した。
特に時間が掛かっているところが環境構築なので、それは一旦ちゃんと動くものが作られれば「これを参考にして作って」ですんなり行くようになるはず
AIはブラウザを操作して動作テストができてしまうが故に「ブラウザを操作してテストしよう」としてしまい、そこに結構な実時間が消費されてしまう。 まずUIテストのフレームワークを導入させて、画面操作で確認すべきことは自然言語ではなくテストコードとして記述した方が良さそう
UIが作成されてそれを人間が操作した時や、テストケースを作成させようとした時に、AI側のルール理解の不十分さが明らかになった。 自然言語でやりとりしている間はAI側のルール理解の不十分さに人間の側が気づけなかった。 この種のゲームのような複雑な仕様が存在するケースでは、まずテストケースを生成させてそれを人間が慎重にレビューするのが良さそう
ゼロベースで作らせるのではなく、最初から動くテンプレを与える
早い段階でテストやCIを整備して、フィードバックループを回させる
やっぱそうだよね感
Devinの話ではないが、AIがコードを書くのに適したコーディング規約があるのではという話
masuidrive 例えばPythonのコードをSonnetに書かせている時、asyncのメソッドを定義すると、呼び出すときにawaitを忘れることがあるから「非同期メソッドの名前には最後に_asyncをつけること」とかって書くと精度が上がるのよね。 それで行くと変数名もハンガリアン記法の方が良さそうとか。
2025-01-13
昨日未踏ジュニアメンターのAIエージェントを使っているor作っている人たちで突発AIエージェント飲み会なるものをやったのだけど、その時見せてもらったものを踏まえて考えると、僕はDevinばかり試してないでBrowser-useをやってみるべきだと思った Devinをやってみることによって「パーツが揃った未来にどうなるか」を知ることができたし、Devinの中身がo1やo3になる未来がありありと想像できるようになった
一方で自分は「AIのマネージャー」として生きていくのか、まだ「エンジニア」として生きていくのかどっちが楽しいのかと考えたときに、まだエンジニアの側に未練があるなとも気づいた
エンジニアとしての立場では、AIエージェントを人のようなものとして抽象化するのではなく、AIエージェントを構成する部品を掘り下げて理解したい
Browser-useは自分のプロファイルで起動することも可能だからちょっとしたことを試すときのハードルも低い
2025-01-16 読みかえして思ったこと
Devinをやってみることによって「パーツが揃った未来にどうなるか」を知ることができたし、Devinの中身がo1やo3になる未来がありありと想像できるようになった
一方で自分は「AIのマネージャー」として生きていくのか、まだ「エンジニア」として生きていくのかどっちが楽しいのかと考えたときに、まだエンジニアの側に未練があるなとも気づいた
そこに将来性がないと本心から思ってて、合理的ではないと思いつつも、まだやめることはできない、というニュアンス
teramotodaiki 自分がコード書く時はボイラープレート嫌いだから極力使わないんだけど、Devinには与えた方が上手く働いてくれるのかも知れない。これアンラーニングしないといけない奴だ nishio ボイラープレートってたぶんあまりスキルの高くないエンジニアでも開発ができるようにするもので、今のAIエージェントはまさに「あまりスキルの高くないエンジニア」相当ということかも。1年後に新しいAIエージェントに「ボイラープレート嫌いだから書き直していいですか」とか言われる流れ 「はい、その指示で500円使いましたー」みたいな
nishio コストの可視化機能は必要だなぁ、Slackで無反応な間に無益なことに延々挑戦してたりするからな… あと、会社の金なので気にせず使う派の人と、会社の金なので自分の金より慎重になる派の人で揉めそうだなと思った。
ochyai Devinに効くやつ「新しいプルリクを出すように.ちゃんとできないと契約更新について考えてしまいます.」 ochyai Devinのキラーユースはサーベイ論文執筆だ.これめっちゃ得意だ多分. ただしハルシネーションして存在しない文献を引用してくる(あるある)
2025-01-14
nishio Devin!実行する前に聞いてって言ったでしょ!なんでPull Reqがくるの!! https://gyazo.com/917273e9c3c1234e69b4ce147623f3fc
nishio Devinくん、ドキュメントを直してって言っただけなのに元気にGitHub Actionとrequirements.txtも直して、よく気がつくね、えらいね 「ドキュメントだけの変更なのでテストは不要です」 え? https://gyazo.com/e65d7e98a75398d50e7a1d8e402a0d64
出演したw
nishio ああー、なるほど、カートに入れて注文を押したつもりなのに並行して操作しているエージェントのせいでレースコンディションが起きて勝手に消えて「注文できてないよ」と叱られたから焦ってしまったのか... () 2025-01-15
Devinの書いたタスク管理をChatGPTで自分で動かしてたら、なんとバリデーションのためのコードが二つあることが判明した、どっちを使ってるんだw
(ちゃんと確認しないでマージした人間が悪い)
o1 proに素晴らしく書き直してもらった()
(teramoto) Devinが人間ならブチギレ案件
(nishio)「プライドを傷つけられた」とか怒ってこないのが素晴らしいですね
o1 proの書いたやつは問題なく動いた上に検出してなかったミスを10件発見したぞ()
ID重複してるじゃん
1: 複数のスレッドのデビンをまたいで情報収集することを現状のDevinができないことは人間のマネジメント負担を高めてしまう。
2: コンテキストが長くなるとDevinの性能が下がることはSlack経由で使っている人には気づきにくい、Devin自体に「疲れたので一旦終了して続きは別のスレッドで」と別コンテキストのインスタンスに引き継ぐ機能があると良いのではないか。
3: 末端ユーザが自分の使ったクレジットを自覚しにくい構造は、人数が多い組織ほど導入の課題になると思う。現状ではDevinを組織に入れるシステム管理者の仕事が大変すぎる。
chokudai AIソフトウェアエンジニアとして有名になり始めてるDevin、実は競プロ勢がめっちゃ作ってるっぽいのよね。 紹介動画で見えるだけでもtourist(AtCoderRating1位)、ecnerwala(4位)、scott_wu(12位)がおり、HPを見ると世界情報オリンピックの金メダル10枚みたいに書かれている。
chokudai scott_wuさん、競プロ最上位勢として見てたけど、Wikipedia見たら起業家としての扱いがメインになっていた。へー。 競プロ勢なの知らなかった