morph-apply について
Morph Fast Applyは、ファイル全体を先に読まず、指示とコードマーカーを使ってMorph Apply APIでファイルを編集します。大きなファイルや複数箇所の変更を対象とし、利用にはmorphサーバーとMORPH_API_KEYが必要です。
主な機能
- 01自然言語の指示によるファイル編集
- 02コードマーカーによる変更位置の指定
- 03関連する変更の一括適用
- 04ファイル全体を読む前に編集
活用シーン
- 01現在のコンテキスト外にある大きなファイルの編集
- 02関連する複数の変更の一括適用
- 03関数へのログやエラー処理の追加
MCP 対応
mcp_config.jsonにmorph MCPサーバーとMORPH_API_KEYを設定する必要があります。このサーバーを介してMorph Apply APIを利用します。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ parcadei/ continuous-claude-v3 --skill morph-applyインストール後、Claude Code で/morph-applyを入力して読み込まれたか確認します。
詳細
Morph Fast Apply
Morph Apply API を使用した、高速な AI によるファイル編集です。ファイルを事前に読み込まずに編集できます。毎秒 10,500 トークンを処理し、精度は 98%です。
使用する場面
- ファイル全体を事前に読み込まずにすばやく編集したい場合
- 1 つのファイルに対してまとめて編集したい場合(1 回の操作で複数の変更)
- 変更内容はわかっているものの、ファイルが大きい場合
- 読み込みに多くのトークンを消費する大きなファイルを扱う場合
重要なパターン:コードマーカー
編集箇所を示すには、// ... existing code ...(または言語に適したコメント)を使います。
# ... existing code ...
try:
result = process()
except Exception as e:
log.error(e)
# ... existing code ...
API が編集を適切な場所に自動で挿入します。
使用方法
エラー処理を追加する
uv run python -m runtime.harness scripts/mcp/morph_apply.py \
--file "src/auth.py" \
--instruction "Add error handling to login function" \
--code_edit "# ... existing code ...
try:
user = authenticate(credentials)
except AuthError as e:
log.error(f'Auth failed: {e}')
raise
# ... existing code ..."
ログ出力を追加する
uv run python -m runtime.harness scripts/mcp/morph_apply.py \
--file "src/api.py" \
--instruction "Add debug logging" \
--code_edit "# ... existing code ...
logger.debug(f'Processing request: {request.id}')
# ... existing code ..."
TypeScript の例
uv run python -m runtime.harness scripts/mcp/morph_apply.py \
--file "src/types.ts" \
--instruction "Add user validation" \
--code_edit "// ... existing code ...
if (!user) throw new Error('User not found');
if (!user.isActive) throw new Error('User inactive');
// ... existing code ..."
パラメーター
| パラメーター | 説明 |
|---|---|
--file | 編集するファイルのパス(必須) |
--instruction | 変更内容の説明(必須) |
--code_edit | 編集箇所を示すマーカー付きのコードスニペット(必須) |
Claude の Edit ツールとの比較
| ツール | 最適な用途 |
|---|---|
| morph-apply | ファイルを事前に読み込まずに行う高速な編集、大きなファイル、まとめて行う編集 |
| Claude Edit | ファイルがすでにコンテキストにある場合の、正確な小規模編集 |
morph-apply を使う場合:
- ファイルがコンテキストになく、読み込みにコストがかかる場合
- ファイルが非常に大きい場合(500 行超)
- 関連する複数の編集を一度に行う場合
- 変更のコンテキスト(関数名、クラスなど)がわかっている場合
Claude Edit を使う場合:
- 事前の Read によってファイルがすでにコンテキストにある場合
- 古い文字列と新しい文字列を正確に照合する必要がある、非常に精密な編集
- 小さなファイル(200 行未満)
MCP サーバーが必要です
MORPH_API_KEY を設定した mcp_config.json の morph サーバーが必要です。
パフォーマンス
- 速度:毎秒 10,500 トークン
- 精度:配置の正確さは 98%
- トークンの節約:ファイル全体を事前に読み込む必要はありません
コメント
Markdown 対応