Open7

Agent Driven開発のための試行錯誤

Gekitenius.YGekitenius.Y

Summary Section

ツール(AI系)

  • Curosr
  • Codex
  • Devin(仕様確認、ドキュメント作成、コンテキスト)
  • Google AI Studio(実装計画の出力)
  • Claude Code

ツール(AI連携)

  • Linear(タスク管理&実装計画のDevinの作成補助)

ツール(その他)

  • Notion

NOT SOLVED YET

Agentでコミットした分の草が生えない😢

Gekitenius.YGekitenius.Y

Philosophy and Strategy

  • コードから離れる勇気を持つ

    • Agentを動かすためのワークロードを整備ことで生まれる価値>>>自分で実装することで生まれる価値
  • コードから離れる代わりに自分の価値をどこで発揮するか

  • AIの速度を阻害しない高速な要件定義やUI/UX、サービス全体の設計などに注力

検証容易な粒度でのタスク分割
→TDDのサイクルを活用

Gekitenius.YGekitenius.Y

「実装計画を作成する部分=自分の稼働」を最適化する必要がある

詳細すぎる実装計画
→コンテキスト過多でAgentの暴走を起こす(?)

荒すぎる実装計画
→タスクを完遂できない可能性

共通コンテキスト部分の切り出し
→そのタスクをこなしている間、再利用頻度が高くなる部分
→目的、経緯、実装指針など

Gekitenius.YGekitenius.Y

Devin Spacesの活用(/w Linear)

Linearの立ち位置は進捗管理、軽微なコメント、プロンプト作成のための要件整理置き場、か?

LinearでIssue起票

案1.0

  1. Design Docレベルの内容をIssueに記載する
  2. Devin Searchを利用して実装方針の具体化
  3. Devin Spacesを利用してPlan作成

LinearでIssue起票してもいいけど、LinearのUIで記述するとマークダウンで出力が面倒
→使いまわし考えるとマークダウンでコピーできるのはほしい

実装計画は手入力しない、要望を伝えてDevin Spacesの”Generate Task Plan”を実行
→実行計画を作成

案2.0

タスク管理ツール(Linear)とAgent(Devin)の連携が上手く行かない部分を運用でカバーする
Linear ⇔ Devin Search

  1. 要求の実現方法をDevin Searchで方針策定
    →フローチャートだったり、現在の仕様だったり、注意点だったりこのあとのコンテキストとして利用できそうな情報を集めておく
  2. Devin Spacesに要望を投げて粗めのプランを作成
  3. Linear

将来的には下記のフローを構築したい

  1. 要求を軽くインプット
  2. 並列で2−3個、上のフローを走らせる
  3. 走らせた結果をいいとこ取りするようにマージ
  4. マージした要件定義・基本(詳細)設計をもとに、最終的な実装計画を生成
  5. Agentに実行
Gekitenius.YGekitenius.Y

特定の機能追加で段階的にAgentを動かして変更を入れていくとき、Feature Flagの制御って使いやすいのかね。

現状のDevinだと設定しているデフォルトブランチ?をベースにいろいろとやり取りするから、段階的に変更入れて行ったほうが良い気がする。
作業ブランチ作って、機能ができてからだとあれだしなぁ
かと言って、デプロイされても問題ないような粒度でタスク設計するのも面倒って感じがするし。

タスク設計のボトルネックになるくらいならFeature Flag使って制御していったほうが楽な気もしなくはないんだよな。

Gekitenius.YGekitenius.Y

簡単なUI構築で2.5ACUかぁ

Coreプランだと 2.25ドル/ACU、UI構築で6ドルくらい、日本円換算で900円。
ACUの消費がどうというよりはIssue切って、実行計画作って、それを待って、Devin走らせて、監視してみたいなマネジメントやってると、コスパ良いのか?と感じてしまうな。

複雑なタスクを処理するときのボトルネックは実は3つくらいあると思う
1.人間側が複雑なタスクをAIが動作できるくらいに分割して、まとめてという作業をすること
2.分割したとして、段階的にそれをAgentに任せて統合していく部分の管理工数
3.Agentが個々のタスクを良い感じに処理してくれるかどうか