作業対象の全体を把握するコーディングエージェント。
Code Studioは、専用のコーディングエージェントを備えたVS Code風の環境です。ファイルをまたいで読み、変更の計画を隠さずに示し、あなたが開いたフォルダの中で作業します。毎ターンの前にチェックポイントを取るので、どこからでも取り消せます。
変更を頼む。差分を読む。決める。
下のデモはCode Studioのシナリオを動かします。ファイルツリー、用意された差分、そしてエージェント自身の計画と上限です。
認証をサーバーセッションから切り出して
src/auth/middleware.ts
準備完了。作業ツリーに触れる前に確認を。
自分で書いた計画
そしてこれが、出荷される姿のCode Studioです。
ファイルツリーとタブ列を備えた本格的なエディタ。その横のレールにエージェントがいて、3つのファイルに触れる前に尋ねます。触れたあとではありません。
Explorer
- src
- components
- lib
- auth.ts
- session.ts
- tokens.ts
- README.md
1
import { sign, verify } from 'jsonwebtoken'
2
3
export async function issueSession(userId: string) {
4
const token = sign({ sub: userId }, SECRET, {
5
expiresIn: '15m',
6
});
7
8
// Refresh token rotates on every use.
9
const refresh = await rotate(userId);
10
return { token, refresh };
11
}
インターフェースをページ上で再現 · v0.1.10
行にまたがる断片ではなく、ファイルにまたがるリファクタリング。
ほとんどのコーディング支援は、目の前のバッファを相手にします。Code Studioのエージェントは作業対象の全体を相手にします。必要なものを開き、何を変えたかを記録し、触れたすべてのファイルで変更の整合を保ちます。
- 作業対象の全体を、ひとつの計画のもとで読み書きする
- どのファイルを読み、編集し、追加したかを記録して見せる
- 完了を宣言する前に、ワークスペースでテストを走らせる
- すべての手順は進行中に見えており、おかしければ止められる
- 01作業対象を決めるこの変更が実際に触れるのはどのファイルか。
- 02ワークスペースを保存する何かが書き込まれる前の、復帰点
- 03変更を加えるすべての編集を、確認できる差分として示す
- 04検証する完了を報告する前に、ワークスペースでテストを実行
- 05残すか戻すかは、あなたが決めるひと押しでファイルと会話がまとめて巻き戻る
コードを書くエージェントは、セキュリティの問題です。
それをセキュリティの問題として扱うかどうかが、デモと、仕事用のマシンで動かせるものとの違いです。
すべてはワークスペースの中で起きる
ファイルの読み書きと削除は、あなたが開いたフォルダの中に限られ、そこから外へ出ようとするパスは拒否されます。コマンドはワークスペースを作業ディレクトリとして実行されます。
破壊的なコマンドは端から拒まれる
権限昇格、マシンの電源を切るものやディスクを再フォーマットするもの、絶対パスやホーム相対パスを狙った削除は実行されません。言い換えで通るということはありません。
危険なコマンドは立ち止まって尋ねる
再帰的な削除、履歴の書き換え、リモートへ公開するもの、ネットワークをシェルに流し込むものは、IDE上の承認カードとして保留されます。実行前に、正確なコマンドを目にできます。
すべてのメッセージが復帰点
ワークスペースは毎ターンの前に、あなた自身のバージョン管理とは別のシャドウ履歴へ保存されます。取り消せばファイルと会話がまとめて巻き戻るので、失敗したリファクタリングはひと押しで済み、発掘作業にはなりません。