ローカル環境で LLM と対話しつつ python、shell、javascript、AppleScript などコードの実行も可能な open interpreter を使えるようにした。
プロンプトを書いたマークダウンファイルを、言語モデルに対するプロンプトして解釈してもらうように指示して、結果的にはブログを書き始めるまでの手順をまとめたシェルスクリプトが出力された。URL を 2 つのタブで開いて欲しいというところだけ修正したい。
OpenAI のサイトにアクセスする方法ではできないのが、ローカルのアプリケーションに対する操作や、ローカルのファイルの読み込み、編集など。
以下、プロンプト
mizunoshoji ~ % cat prompt.md
# プランニング
以下のタスクを実現するためのプランニングを行ってください。実行はまだしなくていいです。open interpreterの機能を使ってどのように実現できますか?
## タスク
- Chromeを起動する
- Chromeで新しいwindowを開く
- Chromeで以下のURLにアクセスする
- https://mizunoshoji.github.io/mizstudy/
- https://github.com/mizunoshoji/mizstudy
- vscodeを起動する
- vscodeで/Users/mizunoshoji/develop/mizstudyを起動する
- /Users/mizunoshoji/develop/mizstudyに移動し、ターミナル上でブログ記事のタイトルを入力できるプロンプトを表示する
- タイトルが入力されたら、変数titleに格納して、/Users/mizunoshoji/develop/mizstudyでUsage: hexo new --draft <title>を実行する
# 実行
# 一連のタスクを簡単に呼び出し可能な方法で保持しておく方法はありますか?
以下、できたシェルスクリプト。
cd /Users/mizunoshoji/work
./write_blog.sh
#!/bin/bash
# Chromeを起動する
open -a "Google Chrome"
# 新しいウィンドウを開く
osascript -e "tell application \"Google Chrome\" to make new window"
# 指定のURLにアクセスする
osascript -e "tell application \"Google Chrome\" to set URL of active tab of first window to \"https://mizunoshoji.github.io/mizstudy/\""
osascript -e "tell application \"Google Chrome\" to set URL of active tab of first window to \"https://github.com/mizunoshoji/mizstudy\""
# VSCodeを起動する
open -a "Visual Studio Code"
# VSCodeで指定のディレクトリを開く
code /Users/mizunoshoji/develop/mizstudy
# 指定のディレクトリに移動し、ターミナル上でブログ記事のタイトルを入力できるプロンプトを表示する
cd /Users/mizunoshoji/develop/mizstudy
echo "Enter the title of the blog post:"
read title
# タイトルが入力されたら、それを変数に格納し、指定のディレクトリで `hexo new --draft <title>` を実行する
hexo new draft "$title"
シェルが一瞬でできる、手順もかなり省略されたし、ローカルのファイルの読み込み、書き込みまでできるなら、かなりのことをやれる。GPT-3.5 のモデルでもファイルの修正とか読み込みができている。