株式会社COMPASS
🤖

【完全公開】Devin×Asana連携を自前でなんとかした話

に公開

こんにちは。先生向け学習管理用ツールを開発しているQMチームのEM、Itaです。
今回はDevinとAsanaの連携方法についてわかりやすく説明していきたいと思います。

背景

DevinがLinearとネイティブ連携したと聞いて、めちゃくちゃ「うらやましい・・・!」と思いました。DevinはSlackから気軽にタスクを依頼できる反面、全体としてなにを頼んでいるのかが分かりづらくなるという管理面に弱みがあると思います。そこをタスク管理ツールで補うべく、以前からDevinがAsanaのタスクを読み書きできるようにはしていました。しかしDevin×Asana連携は公式にはサポートされておらず、Asanaから直接Devinに依頼するといったことができていませんでした。CognitionにAsana連携をリクエストしても以下の結果に終わっています。

Ita: I trust you’ll support Asana as well😉
Cognition: Hopefully Asana will be supported soon!

公式対応を待っていると年が明けてしまう可能性もあるとみてなんとかして連携できないかと模索することにしました。

前提

  • AsanaのPATをDevinのSecretに登録済みで、既にDevinがAsana APIを利用してタスクの読み書きができていること。

PATの取得方法、Asana APIについてはこちらをご参照ください。
またPATをDevinに渡したことでなにか問題が起きたとしてもすべて自己責任でお願いします。

仮説

何かしらの方法でDevinを起動させてAsanaのタスクを伝える必要がありました。
そこで着目したのがAsanaのルール機能です。特定の条件を満たしたときにSlackでDevin宛にタスクのURLを添えてメッセージを送れば、Devinが反応するのでは?という仮説を立てました。
そしてただタスクの内容を実行してもらうだけではなく、プロンプト(タスクの説明)の品質向上もサポートしてくれたら一石二鳥ではないかと思いつき、以下のメッセージを組み立てました。

@Devin
以下のタスクを各観点で評価してください。
# タスク
{タスク}
# 観点
- 完了条件が明確か
- 検証方法が明確か
- 作業リポジトリや仕様や概要などコンテキストは十分か
- 問題は十分にシンプルか
- 参考情報は記載されているか
# 評価方法
各観点10点満点で評価した合計値が総合評価点となります。
総合評価点が8割を超えていたら実行プランを提示してください。
8割を超えていなければ8割を超えるようにタスクの品質改善案を提示してください。

観点は以下の記事を参考にしました。

果たしてDevinはうまく反応してくれるのか・・・!?

試行錯誤


メンションにならず反応してくれませんでした。以前似たルールを作成したことがあり、そのときはちゃんとメンションとしてメッセージされていたので今回のこの挙動は謎でした。
この疑問を解明すべく、長年の開発で鍛え上げた原因切り分けスキル、調査スキルを駆使して試行錯誤しました。あと最近手に入れたDeep Researchをちょっとだけ使いました。

最終結果


できました!成功しました!Asanaのルール上のメッセージ内容は以下の通りです。

@devin
以下のタスクを各観点で評価してください。
(以下略)

そうです。@devinと小文字で記述しなければならなかったのです。どうやら@Devinというのは表示名で内部的には@devinとなっているようです。
正しくメンションできたのでSlackに飛んだメッセージにDevinがしっかりと反応し、期待通りに処理してくれました。
また、さらにメッセージを改善したことで、SlackのメッセージのリンクをAsanaのタスクにコメントしてくれるようになり、完全自動の相互接続が実現しました。
最終メッセージは以下の通りです。

@devin
まずこのメッセージのURLを以下のタスクにコメントしてください。
それから以下のタスクを各観点で評価してください。

# タスク
{タスク}

# 観点
・完了条件は明確か
・検証方法は明確か
・作業手順は明確か
・作業リポジトリや仕様や概要などのコンテキストは十分か
・問題は十分にシンプルか
・参考情報は記載されているか

# 評価方法
各観点10点満点で評価した合計値が総合評価点となります。

総合評価点が8割を超えていたら実行プランを提示してください。
8割を超えていなければ8割を超えるようにタスクの品質改善案を提示してください。

成功の要因

今回の成功のカギはなんといってもDeep Researchです。
ちょっと調べてもヒットしなかったので、調査を継続しつつDeep Researchを走らせました。そこから自分で10分ほど調べても全然ヒットせず諦めかけていたときにDeep Researchが完了して上記の仕様について知ることができました。
調査は完全に人間よりもAIのほうが上手ですね。今後も堂々とDeep Researchにはお世話になり続けようと思います。

結論

Asanaユーザーの皆さん、Devinとの連携はできます!!
Asanaのルール機能とSlack通知、そして少しの工夫を組み合わせれば、Devinをトリガー付きで動かすことが可能です!
本記事ではその方法を完全公開しました。もし同じように「Devinを管理しやすくしたい」と思っていた方の助けになれば幸いです。


最後に、、、

株式会社COMPASSでは一緒に教育をより良くしていく仲間を募集しています。

少しでも興味を持っていただけた方は、以下よりお気軽にご応募ください。

株式会社COMPASS採用サイト

とりあえず話をきいてみたい!という方はぜひカジュアル面談に来ていただけると幸いです。

COMPASSってどんな会社?お話を聞いてみたい方はぜひ!

株式会社COMPASS
株式会社COMPASS

Discussion