GPT-4を活用した非常にシンプルなエディタ「Cursor」が発表されました。
フォルダパネルとコード画面のみという非常にシンプルな見た目ながら、AIにアシストされたプログラミングをフルに体現していると感じました。
今回はインストール方法と、その使い方および生成例を紹介します。
インストール
cursor.soにアクセスし、Download for ○○をクリックしてダウンロードする。その後はインストールガイドに従いインストールする。
使い方
メイン画面は上図の通り非常にシンプル。
AI機能の使用
AI機能を使うショートカットは「Ctrl + K」と「Ctrl + L」のみ。それぞれコード生成とチャット機能にアクセスできます。
例えば、「Ctrl + K」を押すと以下のような入力欄が出現します。ここに書きたいコードや編集したい内容を入れるだけでOK。
例:○×ゲーム
使い方を簡単に紹介したので、ここでは実例を交えていかに効率的に開発ができるかを示します。
「Ctrl + K」で入力フォームを呼び出し、「CUI上で動作する○×ゲームのプログラムを書いてください。」と入力してみます。
すると、逐次的かつ自動的にコードが生成されました。ただし、一部の文法が崩れているようです。
そんな時は全コードを選択して、再度「Ctrl + K」で入力フォームを呼び出して…
「バグを直してください」という雑な指示を投げましょう。
すると、コードを変更してくれます。変更後のコードを採用したい場合は緑でハイライトされた「Accept」をクリックします。
ここまで一切コードを手で書いていませんが、これらのコードを実行したところ無事に動きました。
また、「Ctrl + L」でチャット機能を開くことができます。今回は書いてもらったコードを解説してもらいました。非常に分かりやすく、普通に勉強になりますね。
少し欲が出たので、対戦相手をプログラムにしてもらいましょう。「プレイヤーをAIに置き換えてください。選ぶ手順はランダムとします」と指示を出すと、きちんと動作するように編集してくれました!
以下に、今回の手順で生成した○×ゲームのプログラムを記載します。
import random
# 3x3の盤面を作成する
board = [[" " for _ in range(3)] for _ in range(3)]
# 盤面を表示する
def print_board():
print(" 0 1 2")
for i in range(3):
print(f"{i} {'|'.join(board[i])}")
if i != 2:
print(" -----")
# 勝敗を判定する
def judge():
for i in range(3):
if board[i][0] == board[i][1] == board[i][2] != " ":
return board[i][0]
if board[0][i] == board[1][i] == board[2][i] != " ":
return board[0][i]
if board[0][0] == board[1][1] == board[2][2] != " ":
return board[0][0]
if board[0][2] == board[1][1] == board[2][0] != " ":
return board[0][2]
if sum(row.count(" ") for row in board) == 0:
return "draw"
return None
# ゲームを開始する
def start_game():
turn = "o"
while True:
print_board()
if turn == "o":
print("oのターンです")
x = random.randint(0,2)
y = random.randint(0,2)
else:
print("xのターンです")
x = int(input("x座標を入力してください(0~2): "))
y = int(input("y座標を入力してください(0~2): "))
if board[y][x] != " ":
print("そこには置けません")
continue
board[y][x] = turn
winner = judge()
if winner is not None:
print_board()
if winner == "draw":
print("引き分けです")
else:
print(f"{winner}の勝ちです")
break
turn = "x" if turn == "o" else "o"
start_game()
Cursorは現時点(2023/03/23)でv0.1.5とバージョンが浅いです。今後機能が追加されてさらに便利になると思います。
そのうちファイル構成等(htmlとcss等)も全て自動で生成してくれて、我々はAIに対して「Ctrl + L」のチャット機能を通して説明を求めるだけで済むようになるかもしれませんね…。
なんていうか
いや 言う言葉がない
天才に馬鹿な自分がコメントできるわけがない
凄い