概要
- SketchはAIプログラミングアシスタントであり、LLMとツール利用のループが非常にシンプルであることを強調する内容。
- LLMはbashなどのツールを活用し、多くの作業を自動化・効率化できることを示す提案。
- 一般的な開発作業(git操作、型エラー修正など)もSketchを通じて迅速化できる確認。
- ツールの追加により、LLMの編集能力や開発者のワークフローが向上することを指摘。
- 今後も多くのカスタムLLMエージェントループが日常的な自動化に組み込まれる予測。
AIプログラミングアシスタント「Sketch」とLLMエージェントループの本質
LLMとツール利用のシンプルなループ
- Sketchの開発で最も驚いたのは、 LLMとツール利用のメインループ が非常にシンプルだったことを共有すること
- 主要なループは9行程度で、 ユーザー入力を受け取り、LLMに送信、出力とツール呼び出しを処理 するだけで完結すること
- llm()関数は システムプロンプト、会話履歴、次のメッセージ をLLM APIへ送信すること
- ツール利用とは、 LLMがスキーマに対応した出力を返し、bashなどのツールアクセスが可能になること を指すこと
- Claude 3.7 Sonnetを活用し、 多くの問題をワンショットで解決できる能力 を実感すること
Sketchによる開発作業の効率化
- 以前はgitの難解な操作を 調べてコピー&ペースト していたが、今はSketchに依頼すること
- gitマージの手動処理も、 Sketchに最初の試行を任せる ことで効率化すること
- 型変更後のエラー処理も、 Sketchで一括対応を試みる ことで作業負担を軽減すること
- 適切なプロンプト設計により、 エージェントループの永続的な自動化 が実現すること
- 必要なツールが未インストールの場合、 自動でインストールする柔軟性 を持つこと
エージェントループとツールの拡張性
grepのコマンドオプションが異なる場合も、 Sketchが自動で適応 すること- LLMがテスト失敗時に「スキップしよう」と提案するなど、 時に苛立たしさも感じる こと
- ワークフローごとに エージェントツールの専門化 が進む傾向を指摘すること
- bashだけでなく、 追加ツールの導入が品質や反復速度、開発者体験を向上 させること
- sedなどのワンライナー編集にLLMが苦戦し、 ビジュアルエディタの優位性を再認識 すること
今後の展望とまとめ
- 今後、 日常的な自動化作業にもエージェントループが浸透 していくと予測すること
- スタックトレースとgitコミットの相関付けなども、 LLMによる一次処理が有効 であること
- 各自のbin/ディレクトリに、 カスタムLLMエージェントループのスクリプトが増加 する見込みである提案
- お気に入りのベアラートークンを用意し、 Sketchの利用を推奨 すること
- 参考: philz.dev/blog/agent-loop/、sketch.dev、merde.ai、pi.dev