コーディングアシスタントとは
from Claude Code in Action
概要
Claude Codeは内部的に3種類の登場人物がいる
Coding Assitant(コーディングアシスタント)
ToolやLanguage Modelに処理を依頼する役割。仲介役
Tool(ツール)
実際の処理(ファイル読み書き・コマンド実行など)を行う役割
Language Model(言語モデル)
入力テキストを理解して、コード生成したり回答する役割
Sonnet / Opus / Haiku
Language Modelではテキストを読み込んで処理をすることしかできないので、Cording Assitant経由でファイルを読み取ったり、書き換えたりしている。
実際に指示した時のフローチャート
code:mermaid
sequenceDiagram
participant You as あなた
participant CA as Cording Assitant
participant LM as Lauguage Model
participant T as Tool
You->>CA: main.tsファイルの概要をおしえてください
CA->>LM: main.tsファイルにはどんなコードが書いてありますか?<br/>ファイルを読みたい場合は「ReadFile: ファイル名」と返答してください
LM-->>CA: ReadFile: main.ts
CA->>T: main.tsの中身を教えてください
T-->>CA: main.tsのファイル本文
CA->>LM: main.tsのファイル本文
LM-->>You: main.tsの中身の概要を解説
Launguage ModelはToolの役割を理解した上で、Cording Assitantとやりとりを行うことができる
便利なToolを使うことのメリット
より困難なタスクを遂行できる
Claude CodeにToolを簡単に追加でき、Language Modelも適用していく
Claude Codeはファイルのインデックスが必要ないので、セキュリティ的にも安心
Claude Code で使えるTool集
table:Tools
Agent タスクを処理するためにサブエージェントを起動
Bash シェルコマンドを実行する
Edit ファイルを編集する
Glob パターンに基づいてファイルを検索する
Grep ファイル内容を検索する
LS ファイルやディレクロチの一覧を表示する
MultiEdit 複数の編集を同時に行う
NotebookEdit Jupyter Notebookのセルに書き込む
NoteBookRead Jupyter Notebookのセルを読む
Read ファイルを読む
TodoRead 作成されたTodoを一つ読む
TodoWrite Todoリストを更新する
WebFetch URLから取得する
WebSearch Web検索を行う
Write ファイルに書き込む