株式会社 Ruby開発において Devin の試用を始めており, 少しずつ性能を評価しております.
ポンコツな所もあり, クセを学ぶ必要もありますが有用と思われます.
初級の課題を与えた所, Devin はジュニアレベル以上のコードを生成しました.
使用する方も増えると思いますので setup の雰囲気をだいぶ簡単に記述します.
概要
初めて Devin Interface を開くと種々設定が必要になる.
初回のチュートリアルの様な設定画面は既に開けなくなりましたが, 恒常的な設定画面を元に説明を行う.
※ 2025/05 現在, Devin の UI は高頻度で変化しているので, 不一致の画面もあるかと思います
概要
- オプトアウト
- Github, Slack 連携
- 環境変数
- Knowledge
- ワークスペース, 開発環境の設定
Settings 画面を開く
オプトアウト
データを Cognition 社のトレーニングに使用させない
Github 連携
Devin が操作する Github account, repository を設定する
-
[ Organization Integrations ]
を選択 -
複数の orgnization に所属していると複数のプロファイルが表示されるので
[ 連携する organization ]
を選択
以上で Devin へ Github 操作権限が付与される
Github 連携補足
devin user が Github account の owner 権限を持っている場合, 簡単に devin に連携できます.
自身に owner 権限が無い場合, 以下の様に多少面倒になります
- 前提
- 1 : Devin user と github user に登録されている同一人物, これを
devin user
と呼称する - 2 :
devin user
とは無関係に存在する github organization account を他社アカウント
と呼称する. - 3 :
devin user
の Devin account へ他社アカウント
を接続する.- この際,
devin user
は他社アカウント
の github owner 権限は不要
- この際,
- 1 : Devin user と github user に登録されている同一人物, これを
- 流れ
-
他社アカウント
からdevin user
の github acocunt を organization の member 権限で追加する -
devin user
は, devin の integration 画面から他社アカウント
に devin install request を送信する -
他社アカウント
は request を承認し, devin app を github app として install する -
devin user
は devin integration 画面にて devin と他社アカウント
github を接続する
-
という流れになります.
以下 screen shot を交えて記述します
-
他社アカウント
の oganization へ member 権限でdevin user
の github account を invite する -
devin user
にて Devin Integration 画面を開き,Connect Your work Github
を選択
-
他社アカウント
が表示されているはずなので選択する -
他社アカウント
に以下 request mail が届くはずです -
devin user
が devin integration 画面を再度開き,Connect your work Github
を選択する
-
当初表示されていなかった
他社アカウント
が表示されているはずです. 該当 github アカウントを選択し連結処理を完了させます
以上で自身の管理外 github account と連携ができます
Slack 連携
Slack 上において devin への指示, 経過報告などに用いる
-
Slack で Devin の通知, 操作に用いる channel を開く
-
/app
と chat へ入力,add app to this channel
を選択 - search form へ
Devin
と入力 - 該当項目の
[ Add ]
を選択
-
以上で Slack channel から @Devin
とメンションする事で指示が可能になる
slack 補足
- Devin 画面へ戻り
[ Link User ]
を選択 - 通知先 channel の設定
以上で当該 channel へ RP が merge された際などに通知される
環境変数
Devin が使用する shell から環境変数を用いる事ができる
例えば, dockerhub のアカウントを登録しておく事で, docker image を Devin が DL 可能になる
-
[ Secrets ]
を選択 -
[ Add Secret ]
を選択
-
Type
,Name
,Value
を設定- Sensitive を Enabled に設定すると, Value が隠される
-
[ Add ]
を選択
以上で Devin が用いる shell から Name
の値で環境変数が使用可能となる
Knowledge
オンボーディングに当たる.
リポジトリで遵守するルールや補足情報などを記述する.
Devin はこの情報を元に判断, 行動する.
-
[ Knowledge ]
を選択 -
[ Add Knowledge ]
を選択
-
最上段のフォーム
(display name) を記述する- 例えば, PRを作成する際など、設定内容の概要を記述する
-
[ Pin to Repository ]
へ適用する Repository を設定する -
[ Content]
へルールなどを記述する -
[ Create]
を選択
- 自動的に
[ Retrieval Trigger (情報を使用する状況)]
が作成される
以上で Devin が適切なタイミングで情報を使用するとの事
ワークスペース, 開発環境の設定
開発環境の setup 手順を記述する.
しっかり設定しなかった場合, 開発中に Devin が混乱して ACU を浪費する.
-
[ Devins Workspace ]
を選択 -
[ Add repository ]
を選択 -
検索フォームから設定する repository を検索
-
検索結果から
[ repository name が記述された block ]
を選択 -
[ Continue with REPOSITORY NAME]
を選択 -
VSCode の画面に自動遷移する
-
[ Begin Setup ]
を選択 -
左手の以下項目にコマンドを記述し, setup 手順を明示する.
- Install Dependencies
- Setup Lint
- Setup Tests
- Setup Local App
-
1項目ごとにコマンドを投入し
-
[ Test ]
を押下する事で, 実際にコマンドが実行される- 成功すると Success と表示される
-
[ Done ]
ボタンを押下し次の項目へ移動 - 同手順を繰り返す
-
- 失敗した場合は fail と表示される
- この場合, 自身でコマンドログを追い修正する
※ 2025/03/31 現在, install Dependencies は devin 内の vscode で設定せよ, という指示に変更されている. その他の設定は上述の内容に準じる
- 成功すると Success と表示される
-
全ての項目が Done となった場合
-
Finish
ボタンを押下, その後表示されるモーダルを全て肯定し設定を保存する -
Devin が setup を完了するまで数分待機し完了となる
Workspace setup 補足
secrets
この setup 中の console では, Secrets で設定した環境変数を用いる事ができる
ここでは TEST_ENV
という環境変数を作成済みとする
-
echo $TEST_ENV
とコマンドを登録し Test を実行 -
ここでは console 上に
[REDACTED SECRET]
と表示される- これは, Sensitive データとして設定しているため
- disabled になっている場合は, 文字列がそのまま表示される
docker
workspace で dcoker を用いる場合, 以下では fail する
docker compose exec web bash
bundle
docker 内部でコマンドを実行したい場合は
docker compose exec web bundle
docker の shell へ入らず, 直接コマンドを実行する必要がある
以上, 最低限必要な設定となります
見難い部分もあり, 不足や不備などがあれば後ほど追記, 修正します