Open5

第2回 AI Agent Hackathon の日記

ひととりひととり

4/14になったので即エントリーしました!

参加目的

エージェントとMCPサーバを使用したアプリケーション開発と開発支援AIに慣れること

開発したいプロダクト

自然言語で動画を編集するツールです
素材をアップしたらシーン検出やメタ情報の付与、与えられた動画構成に沿って動画を切り貼りするところまでできたら良いと考えています

開発環境を整えていく

Claude Desktopで開発を続けていたのですがこれを機にCursorに乗り換えました
Claude Desktopは定額なのは素敵ですが途中で落ちたり頻繁にAPI LATE LIMITに達してしまうことや、コンテキストを細かく与えにくいことが悩みどころでした
Cursorではそのようなことが基本的には発生せず、コンテキストやルールの書き方についても先人たちが切り拓いた知見に溢れているので巨人の肩に乗った開発ができるのが嬉しいです

開発の行い方も見直す

これを機にテスト駆動開発に挑戦したいと考えています
ヒアリングからアプリケーション作成までのMVP開発の流れの中でAIに頼ることは多いですが、AIに書かせたコードは信用していません
AIにコードを書かせつつも安全なアプリケーションを開発するためにはテストは必須です
それに、エージェントに任せるタスクのゴール設定としてテストは最適ですので安全なアプリケーション開発のためにはテスト駆動開発はこれから必須になるのではないでしょうか
https://izanami.dev/post/998085c0-3801-44dd-8270-c6d1c5e7413d

ある程度要件がまとまったらDevinを導入したいと考えています
コードレビューと脆弱性検査用です
コーディングタスクを任せるには若干懐疑的な部分もあるのでそちらは部分的に実施します

明日以降の取り組み

A2AやMCPサーバ自作等でウォーミングアップしながらアーキテクチャの構成を検討します
とはいえシーン検出のようなある程度やることが決まっているタスクについてはこれから手を動かしていければと思います

https://qiita.com/ymgc3/items/ce3c7c2326965c4e6964

https://cloud.google.com/video-intelligence?hl=ja

ひととりひととり

2日目

やったこと

23:45に日記をつけることを思い出し、慌ててA2Aのサンプルプログラムを動かしてみる

https://github.com/google/A2A/tree/main/samples/python

「日本語話せる?」と聞いても「為替レートの話ならいけます!」と英語で返ってくる
日記をつけた後にコードを読んで理解する

明日の取り組み

A2Aの流れを追い、サンプルプログラムに多少の変更を加えて動かしてみる

ひととりひととり

3日目

やったこと

A2Aへの理解を深める
タスクを適切に渡したり受け取ったりする共通規格がどのようなJSONで構成されているかを学んだ
指示ごと別のエージェントに渡しているが、期待通りタスクを遂行してくれるためにはタスクの背景や概要、タスクそのものを可能な限り具体化する必要があるためタスク授受のために渡す情報は人間の方で丁寧に調整する必要がありそう
エージェントが他のエージェントをどう認識しているか気になったが、この部分はまだ理解が追いついていない
サンプルプログラムに多少の変更を加えて動かすのはここを理解した後でも良さそう

お試しでDevinを契約し、遊んでみる
個人開発で制作中のサービスのコードに脆弱性がないか調べさせていたらいつの間にかPRまで作成したので噂は本当でした

開発に着手する前にCursorのProject RuleやDevinの設定も行っておいて開発をスムーズに進められるようにしたい

明日の取り組み

各種設定
A2Aについて引き続き調査

ひととりひととり

4日目

やったこと

A2Aでエージェントを認識させるにはそれぞれのエージェントをホスティングした上で登録する必要があることを知り、試せたら動いた
MCPサーバと同様にエンドポイントが存在すれば自由に叩きに行ける疎な結合になっていることを理解した

今回やりたいことはそこまで大きくなくて良いとも考えていたのでDifyでいいかなと思い、Difyも触ってみる

Difyでも良い気がするが、UIに慣れていないためA2Aで開発した方が良さげだと感じているが要件に対して冗長な気もする
エージェントが絡まない部分を先に作りながら調査継続するのが良さそう
PySceneDetectについても試す必要があるし、そっちの方が優先度高かったかも
DevinやCursorの設定は余裕がなくて行えなかったので明日のタスクとする

明日の取り組み

PySceneDetectについても手を動かして試してみる

ひととりひととり

9日目

すっかり更新が途絶えてしまっていた
PySceneDetectを試したが期待通りの粒度でシーン検出を行うことは難しかった
そもそも動画編集エージェントを作るにしても最初は単一の素材をもとに切り貼りするのでシーン検出は行わなくても良さそうな気がしてきた
DavinchResolveの操作も気になったのでここ3日は基本操作と簡単な動画制作を行なっていた
素材の倍速だとか適切な長さへのカット等って結構難易度高いぞ…
既存のMCPサーバはいくつかあるがDavinchResolveのMCPサーバはこちらが人気がある
セキュリティ的に問題ないかを確認して試してみよう
https://github.com/samuelgursky/davinci-resolve-mcp

明日の取り組み

DavinchResolve MCPサーバを試す