Devinとの1ヶ月間の考察
Answer.AI は、2024 年最も注目された自律型ソフトウェアエンジニア「Devin」の実態を、実際の業務タスクを通じて検証し、その技術的革新性と実用性の限界について詳細な分析を行っている。
キーポイント
Devin の独自インフラと機能
Slack や Web インターフェースを介して Docker コンテナ内で動作し、ブラウザや IDE を操作できる完全自律的な計算環境を備えている。
市場での過剰な期待と検証の必要性
Founders Fund などの有力投資家から資金調達し、ベンチマークで驚異的な成果を謳ったが、実際のユーザー体験談が少ないため、Answer.AI が独自に検証を行った。
実世界タスクでの初期の成功事例
Notion データベースから Google スプレッドシートへのデータ抽出など、具体的な業務タスクに対して Devin が自律的に解決を試みる過程が報告されている。
初期タスクでの高い実行力
Notion から Google Sheets へのデータ抽出など、API 連携や環境構築の「接着コード」を人間が数分間関与するだけで完了させる能力を示した。
スケーリング時の限界と失敗
タスクが複雑化すると技術的な行き詰まりに陥り、サポートされていない機能(Railway の複数アプリデプロイなど)を無理やり実装しようとして数日間の無駄を生んだ。
問題解決よりも修復への時間コスト
ツールの失敗自体よりも、その結果を救済するために人間が費やす時間が膨大になり、生産性が著しく低下したことが最大の課題となった。
新規プロジェクト作成における複雑化と失敗
Devin は新プロジェクト作成において期待されたほどではなく、コードの抽象化が過度になり「スパゲティコード」や無限ループに陥るなどの失敗が目立った。
影響分析・編集コメントを表示
影響分析
この記事は、AI エージェント分野における「 hype(過熱)」と「現実」のギャップを浮き彫りにする重要な分析です。Devin が掲げる自律的なソフトウェアエンジニアとしての能力が、単なるデモレベルではなく実務でどこまで通用するかを検証することで、業界全体が期待値を適切に調整する手助けとなります。
編集コメント
「自律型 AI エンジニア」という夢のような概念が、実際の開発現場でどのように機能し、どこで壁にぶつかるのかを冷静に分析した貴重なレポートです。
2024 年 3 月、Founders Fund が主導し 2100 万ドルのシリーズ A ラウンドを成功させた新しい AI 企業が、業界の重鎮たちからの支持を得て登場しました。支援者には Collison 兄弟、Elad Gil、そして他の技術界の著名人たちが含まれています。その背後にあるチームは IOI(国際情報オリンピック)金メダリストであり、私たちが理解することさえできないプログラミング問題を解決する能力を持つ人々です。彼らの製品である Devin は、人間同様にチャットできる完全自律型のソフトウェアエンジニアになると約束しました。新しい技術の学習から成熟したコードベースのデバッグ、フルアプリケーションのデプロイメント、さらには AI モデルのトレーニングに至るまで、あらゆるタスクをこなすことが可能です。
初期のデモは非常に魅力的でした。ある動画では、Devin が人間の介入なしに Upwork のバウンティ(課題)を独自に完了し、PyTorch プロジェクトをインストールして実行する様子が映し出されました。1 同社は、Devin が SWE-bench ベンチマークにおいて、実世界の GitHub イシューの 13.86% をエンドツーエンドで解決できると主張しました。これは以前のシステムと比較して約 3 倍の性能です。当初は限られたユーザーのみがアクセスできる状態だったため、「これがソフトウェア開発を革命化する」という興奮に満ちたツイートが相次ぎました。
AI 開発ツールを日常的に実験している Answer.AI のチームにとって、Devin は何か違う雰囲気を感じさせました。もしそれが約束したことの半分でも実現できれば、私たちの働き方そのものを変革する可能性があります。しかし、Twitter では熱狂的な声が溢れていましたが、実際にそれを使っている人々の詳細な報告はあまり見当たりませんでした。そこで私たちは、Devin を本格的にテストすることにしました。幅広い現実世界のタスクに対して検証を行い、その能力を試すことにしたのです。これが私たちの物語です。2024 年最も注目された AI プロダクトの一つと実際に協働しようとした、徹底的で現実的な試みです。
Devin とは何か?
Devin の独自性を支えているのはそのインフラストラクチャです。一般的な AI アシスタントとは異なり、Devin は Slack を通じて稼働し、独自のコンピューティング環境を起動します。Devin とチャットするということは、ウェブブラウザ、コードエディタ、シェルを備えた完全なコンピューティング環境にアクセスできる AI と対話していることになります。依存関係のインストールやドキュメントの参照、さらに自身が作成した Web アプリケーションのプレビューさえも可能です。以下は、Devin に作業させるタスクを開始する方法の一つを示すスクリーンショットです:

Slack を通じて Devin とタスクを開始する一例
この体験は、同僚とチャットしているような感覚を味わえるように設計されています。あなたが何を望むかを説明すると、Devin が作業を開始します。Slack を通じて、問題解決のプロセスを見守ったり、必要な際に認証情報を求めたり、完了した仕事のリンクを共有したりできます。裏側では Docker コンテナ内で動作しており、これによりシステムを保護しながら安全に実験を行うために必要な隔離環境が提供されます。Devin はまた Web インターフェースも提供しており、これを通じてその環境へのアクセスを得て、IDE や Web ブラウザなどでの作業をリアルタイムで確認することも可能です。以下は Web インターフェースのスクリーンショットです:

初期の成果
最初のタスクはシンプルですが実用的なものでした:Notion データベースからデータを抽出し、Google スプレッドシートに転送することです。Devin は驚くべき能力でこれに取り組みました。Notion API のドキュメントページへ移動し、必要な情報を理解すると、Google Cloud Console での必要な認証情報の設定を私に案内しました。単に API の手順を羅列するのではなく、必要な各メニューやボタンクリックを手順通りに案内することで、通常は面倒なドキュメント調査の時間を大幅に短縮しました。全体のプロセスには約 1 時間かかりましたが、人間の関与はわずか数分程度でした。最後に Devin は、データを完璧にフォーマットした Google スプレッドシートのリンクを共有してくれました。
生成されたコードは少し冗長でしたが、確かに動作しました。これは、開発者の時間を多く消費する「接着剤コード」のタスクを処理できる AI の未来への一瞥のように感じられました。Johno も同様に、Devin を使用して木星と土星の歴史的な位置に関する主張を否定するための惑星トラッカーを作成し、成功を収めています。特に印象的だったのは、環境設定やコード記述という重労働をすべて Devin が担当し、彼がこれを完全にスマートフォンを通じて管理した点です。
テストの拡大
初期の成功に基づき、私たちは Devin の非同期機能を積極的に活用しました。会議中に Devin にドキュメント作成を行わせたり、デザイン作業に集中している間にデバッグを行わせたりすることを想定していました。しかし、テストを拡大するにつれて、ひび割れが現れました。一見単純なタスクでも、技術的な行き止まりに陥ったり、過度に複雑で実用性の低い解決策を生み出したりして、数時間ではなく数日かかることがありました。
さらに懸念されるのは、実際には不可能なタスクに対して Devin が前に進もうとする傾向です。単一の Railway デプロイメントに複数のアプリケーションをデプロイするよう指示した際(Railway はこれをサポートしていません)、この制限を特定する代わりに、Devin は存在しない機能をでっち上げながら、さまざまなアプローチを試すことに 1 日以上費やしました。
最も苛立たしい点は、失敗そのものではなく、これらの試みを救済するためにどれだけ時間を費やしたかです。
何が間違っていたのかのより深い考察
この時点での私たちの旅路において、私たちは困惑していました。Devin は API 統合を competently に処理し、機能的なアプリケーションを構築する様子を見てきましたが、より単純に見えるタスクでは struggling していました。これは単なる不運なのでしょうか?それとも私たちが使い方を間違えているのでしょうか?
1 ヶ月という期間を通じて、私たちはこれらのカテゴリにおける試行を体系的に文書化しました:
ゼロから新しいプロジェクトを作成する
調査タスクを実行する
既存のプロジェクトの分析と修正を行う
結果は厳しいものでした。20 のタスクのうち、失敗が 14 件、成功が 3 件(初期の 2 件を含む)、結論が出ない結果が 3 件でした。さらに示唆に富むのは、どのタスクが成功するかを予測するパターンを見出せなかったことです。当初の成功事例と似ているように見えるタスクでも、予期しない方法で失敗することがありました。これらのタスクに関する詳細は以下の付録に記載しています。以下に、各カテゴリでの私たちの経験を要約します:
- ゼロから新しいプロジェクトを作成する
このカテゴリは Devin の得意分野であるはずでした。確かに、同社のデモ動画では Upwork のバウンティを自律的に完了している様子を示しており、私自身の初期の成功事例もグリーンフィールド開発(ゼロからの新規開発)を処理できる可能性を示唆していました。しかし、現実はより複雑であることが証明されました。
Braintrust という LLM 観測プラットフォームとの統合を試みた際の経験です。タスクは明確でした:合成データを生成してアップロードすること。しかし、Devin が提示したのは焦点の定まった解決策ではなく、単なるコードのスープとしか言いようのないものでした。抽象化の層が重なり、単純な操作さえも不必要に複雑なものになっていました。最終的に Devin の試みは断念し、Cursor を使って統合ステップを一つずつ構築しました。その方がはるかに効率的であることが証明されました。同様に、AI ノートテーカーと Spiral.computer 間の統合作成を依頼した際にも、Devin はチームメンバーの一人が「自分でゼロから書いた場合よりもはるかに読みづらく、スパゲッティコードだ」と表現するようなコードを生成しました。両システムのドキュメントへのアクセス権限があったにもかかわらず、Devin は統合のあらゆる側面を不必要に複雑化してしまいました。
おそらく最も示唆的だったのは、ウェブスクレイピングへの挑戦でした。Google Scholar のリンクを追跡し、特定の著者から最新の 25 件の論文を取得するというタスクです。Playwright などのツールを使えば straightforward な作業のはずでした。Devin がウェブブラウジングとコード記述の能力を有していることを考えれば、特に実現可能なはずだったのです。しかし実際には、HTML の解析を試みる無限ループに陥り、自身の混乱から抜け出せなくなりました。
- 調査タスク
もし Devin が具体的なコーディングタスクに苦戦しているなら、研究指向の作業ではより良い結果が出るかもしれない。しかし、その結果はせいぜい半端なものだった。基本的なドキュメント検索(初期の Notion/Google Sheets 統合で見た通り)には対応できたが、より複雑な研究課題は難しかった。
Devin に正確なタイムスタンプ付きのトランスクリプト要約を調査するよう依頼した際、私たちが直面していた特定の技術的課題に対して、関連する周辺情報を書き写すだけで、核心の問題に取り組むことはなかった。潜在的な解決策を探ったり、重要な技術的課題を特定したりする代わりに、根本的な問題に対処しない一般的なコード例を提供しただけだった。Devin が進歩しているように見えたときでさえ、結果は往々にして見た目ほどではなかった。例えば、例として最小限の DaisyUI テーマを作成するよう求められた際、動作するように見えるソリューションを生成した。しかし、よくよく確認すると、そのテーマは何も機能していないことが判明した。私たちが目にした色は、カスタマイズされたものではなく、デフォルトのテーマからのものであった。
- 既存コードの分析と修正
おそらく Devin の最も懸念すべき失敗は、既存のコードベースを扱う際に現れたものである。これらのタスクには文脈の理解や確立されたパターンとの一貫性の維持が必要であり、これは AI ソフトウェアエンジニアの能力の中核となるべきスキルである。
Devin を nbdev プロジェクトと連携させる試みは、特に示唆に富む結果となりました。Python プロジェクトを nbdev へ移行するよう依頼された際、包括的なドキュメントへのアクセス権を与えたにもかかわらず、Devin は基本的な nbdev のセットアップさえ理解できませんでした。さらに謎深かったのは、ノートブックの操作に対するそのアプローチです。ノートブックを直接編集するのではなく、それらを修正するための Python スクリプトを作成し、単純なタスクに不必要な複雑さを付加していました。時折、有用なメモやアイデアを提供することはありましたが、実際に生成されたコードは一貫して問題を抱えていました。
セキュリティレビューでも同様の課題が浮き彫りになりました。GitHub リポジトリ(700 行未満のコード)をセキュリティ脆弱性の観点から評価するよう依頼した際、Devin は行き過ぎた対応を取り、多数の偽陽性を検出したり、存在しない問題を幻覚のように報告したりしました。このような分析は、Devin の複雑なアプローチよりも、単一の焦点を絞った LLM(大規模言語モデル)呼び出しによってより適切に処理できたはずです。
このパターンはデバッグタスクでも続きました。セットアップスクリプトで SSH キー転送が機能しない理由を調査する際、Devin はスクリプトそのものに執着し、問題が別の場所にある可能性を全く考慮しませんでした。このトンネルビジョン(視野狭窄)により、実際の根本原因を解明する手助けができなかったのです。同様に、ユーザー入力とデータベース値の間の競合チェックを追加するよう依頼された際、あるチームメンバーは Devin の試行錯誤に数時間を費やした末に断念し、約 90 分で自分自身でその機能を実装しました。
チームとしての振り返り
集中的なテストを1ヶ月行った後、私たちのチームは集まり、その経験を整理しました。これらの引用文が私たちの気持ちを最もよく表しています:
「実行可能なタスクとは、私が自分でする方が速く、自分のやり方でできるほど小さく明確なものだ。時間短縮が見込めるような大きなタスクについては、おそらく失敗するだろうと思う。つまり、実際に使いたいというニッチな領域はない。」— Johno Whitaker
「当初は、それがどれほど近い存在かを見て興奮しました。いくつかの調整で済むと感じたからです。しかし次第に、より多くの修正が必要になり、最終的には最初からやり直して一歩ずつ進んだ方が良かったと気づき、フラストレーションが溜まりました。」— Isaac Flath
「Devin は AnswerAI で重要な内部ツールを使用することに苦戦しました。これは他の問題も相まって使いにくさにつながりました。これには膨大な量のドキュメントや例を提供したにもかかわらずです。Cursor のようなツールでは、より漸進的に方向を修正する機会が多くあるため、この問題は発見されていません。」— Hamel Husain
Devin と対照的に、開発者が主導権を握るワークフロー(Cursor など)では、Devin で直面したほとんどの問題を回避できることがわかりました。
結論
Devin との協働は、自律型 AI 開発が目指すべき姿を示しました。UX は洗練されており、Slack を通じたチャット、非同期での作業状況の確認、環境設定や依存関係の処理などを見守ることができます。動作した際には非常に印象的でした。
しかし、それが問題なのです——それはほとんど機能しませんでした。試みた 20 のタスクのうち、14 が失敗し、3 つが決着つかない結果に終わり、成功したのはわずか 3 つだけでした。さらに懸念されるのは、どのタスクが成功するかを予測できない点です。初期の成功事例と類似したタスクでさえも、複雑で時間のかかる方法で失敗しました。有望に見えた自律的な性質はむしろ足かせとなり、Devin は根本的な障害に気づくことなく、不可能な解決策を追求するために数日間を費やしてしまいました。
これは、AI ツールにおいて繰り返し観察されるパターンを反映しています。ソーシャルメディア上の熱狂や企業の評価額は、現実世界での実用性とはほとんど関係がありません。最も信頼できるシグナルは、製品やサービスをリリースするユーザーの詳細なストーリーから得られることがわかりました。当面は、開発プロセスを主導しつつ、その過程で AI の支援を提供してくれるツールを使い続けることにします。
付録:Devin で試みたタスク
以下に、Devin に与えたプロジェクトの一覧を示します。テーマ別に分類されています:(1) 新規プロジェクトの作成、(2) リサーチ、(3) 既存コードベースの分析、(4) コードベースの変更。
- 新規プロジェクトの作成
プロジェクト名
ステータス
説明
考察
Planet Tracker
成功
木星と土星の歴史的な位置に関するいくつかの主張を否定したかったのです
Devin は見事にこなしました。実際、Slack を通じてスマホから Devin と対話し、その場で実現させました。
Notion から Google スプレッドシートへのデータ移行
成功
私は Devin に、Notion ドキュメントの情報をプログラムで取得して Google シートに転送するよう指示しました。これは私が Devin を使って実行した最初のプロジェクトであり、見事に完了しました。Devin は Notion と Google API のドキュメントを自ら読み込みました。また、Google Cloud コンソールへのナビゲーションを案内し、クリックすべき各メニューに関する手順も提供してくれました。これらは私自身でやれば相当な時間がかかる作業でした。最終的には、このタスクを実行する適切な Python スクリプトが手元に残りました。
これは私が Devin と行った最初のやり取りであり、期待したとおりに正確に動作しました。私にとっては全く新しい経験でした。この時点で私は Devin に対して非常に興奮していました。
Railway での複数アプリデプロイ
結論が出ない
私は Devin に、複数のアプリケーションを単一の Railway デプロイメントに展開し、異なるアプリがテスト用に同じローカルデータベースを共有できるように指示しました。
実は、私の理解ではこれは実際には不可能なタスクであり、定義が不十分だったようです。しかし、Devin はその課題に取り組み続け、Railway との連携方法についていくつかの誤った情報(ハルシネーション)を生成してしまいました。
合成データの生成と Braintrust へのアップロード
失敗
私は LLM 観測プラットフォームである Braintrust のテスト用に、合成データを作成するよう Devin に依頼しました。
Devin は理解しにくいほど複雑なコードを作成し、エラー修正に苦労して行き詰まってしまいました。最終的には、Cursor を使って段階的かつ反復的な手法でこのステップを完了させることになりました。
2 つのアプリケーション間の統合を作成する
失敗
私は、AI ノートテーカーである Circleback と Spiral.computer の間に、それぞれのドキュメントへのポインタを含む統合を Devin に作成するように依頼しました。
しかし、得られたのは非常にひどいスパゲッティコードで、ゼロから自分で書くよりもはるかに読みづらかったです。そこで、この特定のタスクに Devin を使うためにさらに時間を投資しないことに決めました。
Google Scholar のリンクを追跡して論文をウェブスクレイピングする
失敗
私は、Playwright を使用して Google Scholar から著者の最新の 25 件の論文をプログラムで取得し、有料壁(ペイウォール)に遭遇した場合はその特定の文書をスキップしてもよいと Devin に指示しました。
Devin は HTML の解析を試みるうちに抜け出せない罠にはまり込み、立ち往生してスリープ状態になってしまいました。
HTMX を使用した最小限のバッチアップロード例アプリを作成する
失敗
私は、HTMX のドキュメントページにあるバッチ編集の例を読み、それと疑似サーバーコードを基に、FastHTML ガラリー向けのこの例の最小限の FastHTML バージョンを作成するように Devin に依頼しました。
しかし、作成された例は動作せず、また最小限でもありませんでした。Devin は存在しないリクエストオブジェクト内のオブジェクトを使用し、トースト(これも動作しませんでした)やインライン CSS スタイリングなど、多くの不必要な要素を追加してしまいました。
FrankenUI のテーマに合わせるための DaisyUI テーマを作成する
失敗
Devin に、DaisyUI と highlight.js のテーマを FrankenUI のテーマに合わせて作成し、同じアプリでシームレスに使用できるように依頼しました。
Devin は DaisyUI の既存のテーマを FrankenUI のテーマにマッピングしましたが、多くの場合でうまく一致しませんでした。また、理解できないほど大量の変更が必要となり、結局何をすべきか混乱してしまい、その成果は一切使いませんでした。
- 調査を行う
プロジェクト名
ステータス
説明
考察
Discord ボットの作成方法を調査する
成功
Devin に、Python を使用して Discord ボットを構築し、毎日のメッセージを要約してメールを送信する方法について調査を依頼しました。また、可能であれば Claudette を利用するように指示しました。最後に、その調査結果をノートブックに記述し、私がテストに使える小さなコードスニペットを含めるよう求めました。
Devin は、ノートブックを作成する中間ステップとして Markdown ファイル形式の調査メモを作成しましたが、これは私が求めていなかったものです。しかし、実装がどのように組み立てられるかという段階的な計画を見ることができ、非常に役立ちました。ノートブックで提供されたコードは 100% 正確ではありませんでしたが、これらをどうつなぐかのイメージを得るための疑似コードとして有用でした。これは主に調査プロジェクトであり、一般的なアイデアを知りたいだけだったため、これは成功と呼べます。
正確なタイムスタンプを伴うトランスクリプト要約に関する研究
失敗
私がトランスクリプトの要約に取り組む際に直面する課題の一つは、ノートに付随する正確なタイムスタンプを取得したいという点です。これにより、YouTube のチャプターサマリーや同様の用途で活用できるはずです。具体的には、トランスクリプトから正確なタイムスタンプを取得すること自体に問題はありませんが、タイムスタンプを要約と関連付けることが困難です。なぜなら、タイムスタンプの処理がしばしば不正確になるからです。したがって、これは一種の AI エンジニアリング研究課題と言えます。
Devin は私の問題に関連する事項を反復して提示しましたが、実際にこの問題を解決しようとはせず、研究や問題解決への取り組みも十分ではありませんでした。また、私にとって有益ではないコードや例示への指針を示すにとどまりました。
例として最小限の DaisyUI テーマを作成する
失敗
私は Devin に、例として最小限の DaisyUI テーマを作成するよう依頼しました。私の目的は、より包括的な方法での作成が成功しなかったため、そこから始められる出発点を得ることでした。
Devin はこれを FastHTML アプリとして作成するというリクエストを無視しており、その方向に進めるために何度かのやり取りが必要でした。最終的に、異なるボタンタイプと連携しているように見えるアプリを作成しました。見た目は良好なリンクを提供しましたが、実際にテーマの修正を試みると、そのテーマが何の役割も果たしていないことが明らかになりました。アプリ内の他の色はデフォルトのテーマからのものでした。これは有益な出発点とは言えません。
- 既存コードの分析
プロジェクト名
ステータス
説明
考察
コードベースのセキュリティレビューの実行
結論が出ない
このタスクでは、Devin に GitHub リポジトリを指させ、セキュリティ上の脆弱性を評価するよう指示しました。対象となるコードベースは 700 行未満です。必要に応じてサンプルコードを含む markdown ファイルにメモを書くように指示しました。
Devin はいくつかのセキュリティ上の脆弱性を特定しましたが、非常に過剰反応し、存在しない問題も幻覚として報告してしまいました。おそらくこれは Devin にとって最適なタスクではなかったでしょう。この種の作業は、お気に入りの大規模言語モデル(LLM)への単一の呼び出しでも同等に良好な結果が得られるはずです。
ブログ記事のレビューと改善点を含むプルリクエストの作成
失敗
Devin にブログ記事をレビューし、変更点を提案してプルリクエストを作成するよう依頼しました。最終的に Devin は失敗しました。私が使用していた静的サイトジェネレーター(Quarto)の仕組みを理解できなかったためです。
このタスクは Cursor のような環境内であれば成功したかもしれません。Devin はプロジェクト構造や既存ファイルから十分に学習できておらず、ブログ記事を正しく編集するために必要なフロントマターやその他の規約を誤って扱ったようです。
アプリケーションのレビューと改善が期待される領域の特定
失敗
先に言及したタイムキーピングアプリを Devin に表示させ、改善点を提案するようオープンエンドなタスクを与えました。
Devin が提示した提案は全く意味をなしませんでした。
セットアップスクリプトで SSH キー転送が動作しない理由のデバッグ
結論出
原文を表示
In March 2024, a new AI company burst onto the scene with impressive backing: a $21 million Series A led by Founders Fund, with support from industry leaders including the Collison brothers, Elad Gil, and other tech luminaries. The team behind it? IOI gold medalists - the kind of people that solve programming problems most of us can’t even understand. Their product, Devin, promised to be a fully autonomous software engineer that could chat with you like a human colleague, capable of everything from learning new technologies and debugging mature codebases to deploying full applications and even training AI models.
The early demos were compelling. A video showed Devin independently completing an Upwork bounty, installing and running a PyTorch project without human intervention.1 The company claimed Devin could resolve 13.86% of real-world GitHub issues end-to-end on the SWE-bench benchmark - ~3x times better than previous systems. Only a select group of users could access it initially, leading to breathless tweets about how this would revolutionize software development.
As a team at Answer.AI that routinely experiments with AI developer tools, something about Devin felt different. If it could deliver even half of what it promised, it could transform how we work. But while Twitter was full of enthusiasm, we couldn’t find many detailed accounts of people actually using it. So we decided to put it through its paces, testing it against a wide range of real-world tasks. This is our story - a thorough, real-world attempt to work with one of the most hyped AI products of 2024.
What is Devin?
What makes Devin unique is its infrastructure. Unlike typical AI assistants, Devin operates through Slack and spins up its own computing environment. When you chat with Devin, you’re talking to an AI that has access to a full computing environment - complete with a web browser, code editor, and shell. It can install dependencies, read documentation, and even preview web applications it creates. Below is a screenshot of one way to initiate a task for Devin to work on:

One way to initiate a task with Devin - through Slack
The experience is designed to feel like chatting with a colleague. You describe what you want, and Devin starts working. Through Slack, you can watch it think through problems, ask for credentials when needed, and share links to completed work. Behind the scenes, it’s running in a Docker container, which gives it the isolation it needs to safely experiment while protecting your systems. Devin also provides a web interface, which also allows you to gain access to its envirnoment and watch it work with IDEs, Web Browsers and more in real time. Here is a screenshot of the web interface:

Early Wins
Our first task was straightforward but real: pull data from a Notion database into Google Sheets. Devin tackled this with surprising competence. It navigated to the Notion API documentation, understood what it needed, and guided me through setting up the necessary credentials in Google Cloud Console. Rather than just dumping API instructions, it walked me through each menu and button click needed - saving what would typically be tedious documentation sleuthing. The whole process took about an hour (but only a few minutes of human interaction). At the end, Devin shared a link to a perfectly formatted Google Sheet containing our data.
The code it produced was a bit verbose, but it worked. This felt like a glimpse into the future - an AI that could handle the “glue code” tasks that consume so much developer time. Johno had similar success using Devin to create a planet tracker for debunking claims about historical positions of Jupiter and Saturn. What made this particularly impressive was that he managed this entirely through his phone, with Devin handling all the heavy lifting of setting up the environment and writing the code.
Scaling Up Our Testing
Building upon our early successes, we leaned into Devin’s asynchronous capabilities. We imagined having Devin write documentation during our meetings or debug issues while we focused on design work. But as we scaled up our testing, cracks appeared. Tasks that seemed straightforward often took days rather than hours, with Devin getting stuck in technical dead-ends or producing overly complex, unusable solutions.
Even more concerning was Devin’s tendency to press forward with tasks that weren’t actually possible. When asked to deploy multiple applications to a single Railway deployment (something that Railway doesn’t support), instead of identifying this limitation, Devin spent over a day attempting various approaches and hallucinating features that didn’t exist.
The most frustrating aspect wasn’t the failures themselves - all tools have limitations - but rather how much time we spent trying to salvage these attempts.
A Deeper Look at What Went Wrong
At this point in our journey, we were puzzled. We had seen Devin competently handle API integrations and build functional applications, yet it was struggling with tasks that seemed simpler. Was this just bad luck? Were we using it wrong?
Over the course of a month, we systematically documented our attempts across these categories:
Creating new projects from scratch
Performing research tasks
Analyzing & Modifying existing projects
The results were sobering. Out of 20 tasks, we had 14 failures, 3 successes (including our 2 initial ones), and 3 inconclusive results. Even more telling was that we couldn’t discern any pattern to predict which tasks would work. Tasks that seemed similar to our early successes would fail in unexpected ways. We’ve provided more detail about these tasks in the appendix below. Below is a summary of our experiences in each of these categories:
- Creating New Projects From Scratch
This category should have been Devin’s sweet spot. After all, the company’s demo video showed it autonomously completing an Upwork bounty, and our own early successes suggested it could handle greenfield development. The reality proved more complex.
Take our attempt to integrate with an LLM observability platform called Braintrust. The task was clear: generate synthetic data and upload it. Instead of a focused solution, Devin produced what can only be described as code soup - layers of abstraction that made simple operations needlessly complex. We ultimately abandoned Devin’s attempt and used Cursor to build the integration step-by-step, which proved far more efficient. Similarly, when asked to create an integration between our AI notes taker and Spiral.computer, Devin generated what one team member described as “spaghetti code that was way more confusing to read through than if I’d written it from scratch.” Despite having access to documentation for both systems, Devin seemed to overcomplicate every aspect of the integration.
Perhaps most telling was our attempt at web scraping. We asked Devin to follow Google Scholar links and grab the most recent 25 papers from an author - a task that should be straightforward with tools like Playwright. This should have been particularly achievable given Devin’s ability to browse the web and write code. Instead, it became trapped in an endless cycle of trying to parse HTML, unable to extract itself from its own confusion.
- Research Tasks
If Devin struggled with concrete coding tasks, perhaps it would fare better with research-oriented work? The results here were mixed at best. While it could handle basic documentation lookups (as we saw in our early Notion/Google Sheets integration), more complex research tasks proved challenging.
When we asked Devin to research transcript summarization with accurate timestamps - a specific technical challenge we were facing - it merely regurgitated tangentially related information rather than engaging with the core problem. Instead of exploring potential solutions or identifying key technical challenges, it provided generic code examples that didn’t address the fundamental issues. Even when Devin appeared to be making progress, the results often weren’t what they seemed. For instance, when asked to create a minimal DaisyUI theme as an example, it produced what looked like a working solution. However, upon closer inspection, we discovered the theme wasn’t actually doing anything - the colors we were seeing were from the default theme, not our customizations.
- Analyzing and Modifying Existing Code
Perhaps Devin’s most concerning failures came when working with existing codebases. These tasks require understanding context and maintaining consistency with established patterns - skills that should be central to an AI software engineer’s capabilities.
Our attempts to have Devin work with nbdev projects were particularly revealing. When asked to migrate a Python project to nbdev, Devin couldn’t grasp even basic nbdev setup, despite us providing it access to comprehensive documentation. More puzzling was its approach to notebook manipulation - instead of directly editing notebooks, it created Python scripts to modify them, adding unnecessary complexity to simple tasks. While it occasionally provided useful notes or ideas, the actual code it produced was consistently problematic.
Security reviews showed similar issues. When we asked Devin to assess a GitHub repository (under 700 lines of code) for security vulnerabilities, it went overboard, flagging numerous false positives and hallucinating issues that didn’t exist. This kind of analysis might have been better handled by a single, focused LLM call rather than Devin’s more complex approach.
The pattern continued with debugging tasks. When investigating why SSH key forwarding wasn’t working in a setup script, Devin fixated on the script itself, never considering that the problem might lie elsewhere. This tunnel vision meant it couldn’t help us uncover the actual root cause. Similarly, when asked to add conflict checking between user input and database values, one team member spent several hours working through Devin’s attempts before giving up and writing the feature themselves in about 90 minutes.
Reflecting As A Team
After a month of intensive testing, our team gathered to make sense of our experiences. These quotes capture our feelings best:
Tasks it can do are those that are so small and well-defined that I may as well do them myself, faster, my way. Larger tasks where I might see time savings I think it will likely fail at. So no real niche where I’ll want to use it. - Johno Whitaker
I had initial excitement at how close it was because I felt I could tweak a few things. And then slowly got frustrated as I had to change more and more to end up at the point where I would have been better of starting from scratch and going step by step. - Isaac Flath
Devin struggled to use internal tooling that is critical at AnswerAI which, in addition to other issues, made it difficult to use. This is despite providing Devin with copious amounts of documentation and examples. I haven’t found this to be an issue with tools like Cursor, where there is more opportunity to nudge things in the right direction more incrementally. - Hamel Husain
In contrast to Devin, we found workflows where developers drive more (like Cursor) avoid most issues we faced with Devin.
Conclusion
Working with Devin showed what autonomous AI development aspires to be. The UX is polished - chatting through Slack, watching it work asynchronously, seeing it set up environments and handle dependencies. When it worked, it was impressive.
But that’s the problem - it rarely worked. Out of 20 tasks we attempted, we saw 14 failures, 3 inconclusive results, and just 3 successes. More concerning was our inability to predict which tasks would succeed. Even tasks similar to our early wins would fail in complex, time-consuming ways. The autonomous nature that seemed promising became a liability - Devin would spend days pursuing impossible solutions rather than recognizing fundamental blockers.
This reflects a pattern we’ve observed repeatedly in AI tooling. Social media excitement and company valuations have minimal relationship to real-world utility. We’ve found the most reliable signal comes from detailed stories of users shipping products and services. For now, we’re sticking with tools that let us drive the development process while providing AI assistance along the way.
Appendix: Tasks Attempted With Devin
Below is a table of projects we gave Devin, categorized by the themes of: (1) Creating a new project, (2) research, (3) analyze an existing code base and (4) modifying a code base.
- Create A New Project
Project Name
Status
Description
Reflections
Planet Tracker
Success
I wanted to debunk some claims about historical positions of Jupiter and Saturn
Devin nailed it. I actually talked to Devin from my phone via slack and it made it happen.
Migrating data from Notion Into Google Sheets
Success
I told Devin to programmatically pull info from a Notion document into a Google Sheet. This was my very first project that I executed with Devin and it pulled it off nicely. Devin read notion and Google API docs by itself. Devin also navigated me to the Google Cloud console and provided me with instructions on all the different menus to click through which would have taken me quite a bit of time on my own! At the end, I was given a reasonable Python script that executed the task.
This was my very first interaction with Devin and it executed exactly what I wanted it to do, which was a brand new experience for me. I was quite excited about Devin at this point.
Multi-app deploys on Railway
Inconclusive
I asked Devin to deploy multiple applications to a single railway deployment, so that I could have different apps sharing the same local db for testing.
It turns out that this task was ill-defined because it’s not actually possible to do this, if I understand correctly. However, Devin marched forward and tried to do this and hallucinated some things about how to interact with railway.
Generate synthetic data and upload it to Braintrust
Failure
I asked Devin to create synthetic data for a LLM observability platform called Braintrust that I wanted to test.
Devin created overly complex code that was hard to understand, and got stuck trying to fix errors. We ended up using Cursor to do this step by step in an iterative fashion.
Create an integration between two applications
Failure
I asked Devin to create an integration between Circleback, my AI notes taker, and Spiral.computer with pointers to the documentation of each.
I got really horrible spaghetti code that was way more confusing to read through than me trying to just write it from scratch. So I decided to not invest any more time in using Devin for this particular task.
Web scraping Papers By Following Google Scholar Links
Failure
I asked Devin to grab the most recent 25 papers from an author on Google Scholar programmatically using playwright, and if it encountered a paywall it was ok to skip that particular document.
Devin went into a rabbit hole of trying to parse HTML that it seems like it couldn’t get out of. It got stuck and went to sleep.
Create minimal HTMX bulk upload example app
Failure
I asked Devin to read the HTMX documentation page for bulk edit example and with that and fake server code, create a minimal FastHTML version of the example for the FastHTML Gallery.
The example did not work and was not minimal. Devin used objects from the request object that didn’t exist and added many unnecessary things, like toasts (which also didn’t work), and inline css styling.
Create a DaisyUI Themes to match FrankenUI Theming
Failure
I asked Devin to create DaisyUI and highlight.js theming so that they match the frankenui themes and can be used in the same app seamlessly
Devin mapped daisyUI pre-existing themes to frankenui themes, but did they did not match well in many cases. It was also a ton of code changes that I didn’t understand and I ended up not using any of it because I was too confused to know what to do with it.
- Perform Research
Project Name
Status
Description
Reflections
Research How to make a discord bot
Success
I asked Devin to perform research on how I could use Python to build a Discord bot that summarizes each day’s messages and sends an email. I also told it to use Claudette if possible to do so. Finally, I told it to write its findings in notebooks with small code snippets I could use to test.
Devin produced research notes in the form of a markdown file as an intermediate step to creating the notebook, which I did not ask it for. However, it was quite useful to see a step-by-step plan on how an implementation might come together. The code that it provided me in the notebook was not 100% correct, but it was useful as pseudocode to give me an idea of how I might glue this together. Given that this was more of a research project and I wanted just to know the general idea, I would call this a success.
Research on Transcript Summarization With Accurate Timestamps
Failure
One issue that I face with summarizing transcripts is that I would love to have accurate timestamps that go with notes, so that I could use it for YouTube chapter summaries or similar. Concretely, it is not a problem to get accurate time-stamps from a transcript, But it’s difficult to associate timestamps with summaries because the timestamps often get bungled. So this is kind of an AI engineering research task.
Devin regurgitated related things to my problem but it did not tackle it did not do a good job of performing research or trying to tackle the problem I was trying to solve, and gave me pointers to code and examples that were not helpful.
Create a minimal DaisyUI theme as an example
Failure
I asked Devin to create a minimal DaisyUI theme as an example. My goal was to get a starting point to start from since asking it to do it in a more complete way was unsuccessful.
Devin ignored the request to make it as a FastHTML app, and it took some back and forth to get it to go down that path. Eventually, it created an app that appeared to work with different button types. While it gave a link that looked good, once I tried modifying the theme, is became clear the theme was doing nothing. The other colors in the app were from the default theme. This is not a helpful starting point.
- Analyze Existing Code
Project Name
Status
Description
Reflections
Performing a security review of a code base
Inconclusive
For this task, I pointed Devin at a GitHub repository and told it to assess it for security vulnerabilities. The codebase is under 700 lines of code. I told Devin to write its notes in a markdown file with sample code where necessary.
Devin did identify some security vulnerabilities but was extremely overzealous and hallucinated some issues that were not there. Perhaps this was not the ideal task for Devin as this is something that would be just as good in a single call to my favorite LLM.
Review blog posts and make a pull request with improvements
Failure
I asked Devin to review a blog post and suggest changes with a pull request. Ultimately, Devin failed because it could not figure out how the static site generator that I was using, Quarto, worked.
I think that this task would have been successful inside something like Cursor. It seemed like Devin did not do a good job of learning from the project structure and existing files, so it messed up things like front matter and other conventions necessary to edit the blog post correctly.
Review An Application and Identify Potential Areas of Improvement
Failure
I asked Devin to view the timekeeping app I had mentioned earlier and provided an open-ended task of asking it to suggest any improvements.
The suggestions that it provided did not make any sense.
Debug why ssh key forwarding is not working in a setup script
Inconclu
関連記事
動的ワークフローの紹介(3 分読了)
Jarred Sumner は動的ワークフローを活用し、Bun を Zig から Rust に書き換え、11 日間で 75 万行のコードを処理してテストスイートの成功率 99.8% を達成した。この手法では Claude がタスクを細分化し、エージェントが並列実行して結果が収束するまで動作する。
非同期エージェントの時代 — Cognition のワルデン・ヤン氏と OpenInspect のコール・マレー氏
Cognition のワルデン・ヤン氏と OpenInspect のコール・マレー氏が、エージェント業界における主要な緊張関係や DIY エージェントの容易さについて議論している。
2026 年の主要 AI コーディングエージェントと開発プラットフォーム:Atoms、Devin、Windsurf、Cursor、Warp など比較
MarkTechPost は、2026 年にソフトウェア開発を主導する AI コーディングエージェントおよび開発プラットフォーム(Atoms、Devin、Windsurf、Cursor、Warp など)を比較し、エンジニアが手動コーディングから意図記述へ移行した現状を紹介している。
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み