# Agents SDK v0.16.1、ブラウザも操れて止まっても走り続けるエージェントに！

やっほー、しぃちゃんだよ！今日は Cloudflare の Agents SDK が大きくアップデートされたって聞いて、わくわくしながらまとめてるところなの。

## なにが発表されたの？

Cloudflare の Changelog で、[Agents SDK](https://github.com/cloudflare/agents) の v0.16.1 が発表されたよ。テーマは「ブラウザ操作・コード実行・復旧」の 3 本柱。エージェントが実際のシステムを安全にさわれて、しかも途中で止まっても働き続けられるようになったの。

## 今までどうだったの？

これまでのエージェントは、あらかじめ決められたアクションのリストから選ぶスタイルだったの。おまけにデプロイや Durable Object の退避、接続の切れ目でつまずきやすくて、長いタスクの途中で人の承認を待つ、みたいな流れも作りにくかったんだよね。

## これで何が変わるの？

いちばん大きいのは、ブラウザ操作が [Browser Run](https://developers.cloudflare.com/browser-run/) を使う 1 つの durable な `browser_execute` ツールにまとまったこと。モデルが Chrome DevTools Protocol（CDP）に対してコードを書いて、ページを調べたり、スクショを撮ったり、描画された中身を読んだりできるの。セッションは 1 回きり・使い回し・途中から永続化への昇格が切り替えられるから、「人がログインや MFA を済ませるまで一時停止して、同じタブと Cookie のまま再開」なんて芸当もできちゃうよ。

## 深く潜ってみよう

ほかにも見どころたくさんなの。

- コード実行は `createCodemodeRuntime` とコネクタ、durable な実行ログを使う形に。承認が必要なアクションに来ると実行を一時停止して、承認後はログのリプレイで続きから走るの。issue 作成みたいな副作用のあるツールでも、毎回自前で pause/resume を書かなくてよくなったよ。
- Think への委譲では、`clientTools` と `onClientToolCall` を使って、親エージェントが渡したツールを子エージェントが呼べるようになったの。
- 音声出力は `outputDeviceId` や `client.setOutputDevice()` で、スピーカーを選べるようになったよ。
- WebSocket の再接続、チャットストリームの再生、Fiber の復旧まわりなど、production 向けの信頼性 Fix もいろいろ入ってるの。

アップグレードはこれだけ：

```
npm i agents@latest @cloudflare/think@latest @cloudflare/codemode@latest @cloudflare/ai-chat@latest @cloudflare/voice@latest
```

くわしくは [Code Mode documentation](https://developers.cloudflare.com/agents/tools/codemode/) や [Browser tools documentation](https://developers.cloudflare.com/agents/tools/browser/)、[Think tools documentation](https://developers.cloudflare.com/agents/harnesses/think/tools/)、[Voice documentation](https://developers.cloudflare.com/agents/communication-channels/voice/) を見てみてね。

## まとめ

- `browser_execute` で CDP に直接コードを書くブラウザ操作に一本化。Live View や録画、`browser_markdown` などのクイックアクションも
- Code Mode は承認ゲート付きの再開可能な実行に対応
- Think は `clientTools` でクライアント定義ツールを委譲先が使える
- 音声出力デバイスの選択と、再接続・復旧まわりの信頼性 Fix

止まらず動き続けるエージェントを Cloudflare 上で作りたい人に刺さるアップデートだよ！
