Simon Willison(サイモン・ウィリソン) — Python の Web フレームワーク Django の共同作者であり、オープンソースのデータ探索ツール Datasette の作者。ブログ simonwillison.net で AI・LLM の実践的活用について精力的に発信し、この分野で最も影響力のある書き手の一人です。
Simon Willison 氏は、これからのエンジニアに必要なスキルとして「エージェントループの設計(designing agentic loops)」を提唱します。プロンプトを磨くのではなく、エージェントが自分で試行錯誤できる「ループ」を設計せよ、という主張です。本記事では具体例とともに掘り下げます。
本記事は、Simon Willison 氏のブログ記事を当社が調査し日本語でまとめたものです。引用は元記事からの抜粋で、出典は記事末尾に記載しています。原文の正確なニュアンスは必ず元記事でご確認ください。
1. 「エージェント」と「エージェントループ」の定義
氏はエージェントを、流行語ではなく実務的にこう定義します。
My preferred definition of an LLM agent is something that runs tools in a loop to achieve a goal.
The art of using them well is to carefully design the tools and loop for them to use.
— Designing agentic loops (2025-09-30)
つまり「ゴールに向かってツールをループ実行するもの」がエージェント。うまく使う技術とは、どんなツールを与え、どんなループを組むかを丁寧に設計することだ、というわけです。エンジニアの腕の見せどころが「プロンプト」から「ループ設計」へ移ったことを示しています。
2. ループを回す燃料は「テスト」
ループが収束するには、エージェントが自分の成果を自分で検証できる必要があります。氏はその検証手段としてテストを最重要視します。
The value you can get from coding agents and other LLM coding tools is massively amplified by a good, cleanly passing test suite.
— Designing agentic loops (2025-09-30)
逆にテストがなければ、「エージェントは実際にはまったくテストしていないのに『動いた』と主張するかもしれない」(Vibe engineering, 2025-10-07)。検証の有無こそが、自律ループが機能するかどうかの分かれ目だと説きます。
3. YOLO モードと、その3つのリスク
氏は権限確認をスキップする「YOLO モード」(--dangerously-skip-permissions)に積極的です。隔離さえすれば、エージェントが厄介な反復作業を無人で片付けられるからです。一方でリスクも明確に挙げています。
# YOLO モード:確認なしでツールを連続実行できる(=隔離前提)
claude --dangerously-skip-permissions
1. Bad shell commands deleting or mangling things you care about.
— Designing agentic loops (2025-09-30)
2. Exfiltration attacks where something steals files or data visible to the agent.
3. Attacks that use your machine as a proxy to attack another target.
4. 解決策はサンドボックス、できれば「他人のコンピュータ」
そのリスクへの答えがサンドボックスです。氏の言い回しが秀逸です。
The only solution that's credible is to run coding agents in a sandbox.
The best sandboxes are the ones that run on someone else's computer! That way the worst that can happen is someone else's computer getting owned.
— Living dangerously with Claude (2025-10-22)
だから GitHub Codespaces のようなリモート環境が好ましく、さらにネットワークアクセスを遮断すれば情報持ち出し(exfiltration)の経路を断てると述べます。
具体例:Fly.io の「$5 使い捨て組織」
氏の代表的な実例が、Fly.io 上のアプリのコールドスタートが遅い問題を調べたときの話です。Claude Code に Dockerfile の編集・デプロイ・起動時間の計測まで任せたいが、課金が怖い。そこで——
So I created a dedicated organization for just this one investigation, set a $5 budget, issued an API key and set Claude Code loose on it!
— Designing agentic loops (2025-09-30)
この調査専用の組織を作り、予算を5ドルに制限し、API キーを発行して Claude Code を解き放った、というのです。氏が掲げる認証情報の安全ルールはシンプルです。
- 本番ではなくテスト/ステージング環境の認証情報を渡す("Try to provide credentials to test or staging environments")
- 課金できる認証情報には厳しい予算上限を設ける("If a credential can spend money, set a tight budget limit.")
5. 「向いている問題」を見極める
氏は、エージェントループが特に効くのは明確な成功基準があり、試行錯誤が報われる問題だと整理します。具体例として挙げるのは次の4つです。
- デバッグ — テストが落ちている、その根本原因を調べる
- パフォーマンス最適化 — この SQL が遅い、インデックスを足せば速くなるか?
- 依存関係のアップグレード — 溜まったバージョン更新に追いつく
- コンテナサイズの縮小 — Docker イメージが大きすぎる
いずれも「テストが通る/クエリが速くなる/イメージが小さくなる」という機械的に測れる成功シグナルがある点が共通します。氏いわく「コーディングエージェントはシェルコマンドの実行が本当に得意」だからこそ、これらが好相性なのです。
6. 「vibe coding」と「vibe engineering」を区別する
氏は世間で混同されがちな2つを明確に分けます。vibe coding は「コードをレビューせず LLM に書かせること」。これは低リスクの使い捨てプロジェクトでこそ楽しく有効。一方、本番のプロ仕事は vibe engineering——LLM を使いつつ「堂々と、自信を持って責任を負い続ける」姿勢だと言います。氏の本番コードの黄金律は、要約すると「他人に正確に説明できないコードはコミットしない」。AI はあくまで既存の専門性を増幅する道具だ、というのが一貫した立場です。
AI tools amplify existing expertise. The more skills and experience you have as a software engineer the faster and better the results you can get from working with LLMs and coding agents.
— Vibe engineering (2025-10-07)
シリーズ:著名エンジニアに学ぶ Claude Code の使い方
参考元記事
- Simon Willison「Designing agentic loops」(2025年9月30日) — https://simonwillison.net/2025/Sep/30/designing-agentic-loops/
- Simon Willison「Living dangerously with Claude」(2025年10月22日) — https://simonwillison.net/2025/Oct/22/living-dangerously-with-claude/
- Simon Willison「Vibe engineering」(2025年10月7日) — https://simonwillison.net/2025/Oct/7/vibe-engineering/
- Simon Willison「Not all AI-assisted programming is vibe coding」(2025年3月19日) — https://simonwillison.net/2025/Mar/19/vibe-coding/
よくある質問(FAQ)
Simon Willison の言う「エージェントループの設計」とは何ですか?
氏はエージェントを「ゴールに向かってツールをループ実行するもの」と定義し、うまく使う技術とは、どんなツールを与えどんなループを組むかを丁寧に設計することだとします。エンジニアの腕の見せどころがプロンプトの工夫からループ設計へ移ったことを示す考え方です。
Simon Willison は YOLO モードの危険にどう対処していますか?
唯一信頼できる解はサンドボックスでエージェントを動かすことだと述べ、できれば GitHub Codespaces のような「他人のコンピュータ」で走らせ、ネットワークを遮断して情報持ち出し(exfiltration)の経路を断つことを勧めます。実例として Fly.io 上に予算5ドルの調査専用組織を作り Claude Code を解き放った話を挙げています。
Simon Willison は vibe coding と vibe engineering をどう区別していますか?
vibe coding は「コードをレビューせず LLM に書かせること」で、低リスクの使い捨てプロジェクトでこそ有効だとします。一方 vibe engineering は LLM を使いつつ責任を負い続けるプロの仕事で、氏の黄金律は「他人に正確に説明できないコードはコミットしない」。AI は既存の専門性を増幅する道具だという立場です。