何が公開されたか

Simon Willison氏が、自身が開発するLLMライブラリの上に構築したコーディングエージェント「llm-coding-agent」の初期アルファ版(0.1a0)をPyPIに公開しました。位置づけは「Fable 5実験」の一つで、LLMライブラリがエージェントフレームワークへと進化したことを受けた実装です。プロジェクトはpython-lib-template-repositoryテンプレートから起こされ、まずspec.mdを書かせるプロンプトと、それを赤/緑TDDで実装させるプロンプトの2本立てで、OpenAIのAPIキーを使って随時手動確認しながら構築されました。

6つのツールと安全弁

同梱ツールはedit_file(厳密一致でold_stringを置換しdiffを返す)、execute_command(セッションルートでシェル実行、標準出力/エラーを結合しExit codeを付与、タイムアウト時はプロセスツリーごとkill、デフォルト120秒・最大600秒)、list_files(グロブに一致するファイルを新しい順に最大200件、隠しディレクトリやnode_modules__pycache__、gitignore対象をスキップ)、read_file(cat -n風の行番号付き、offset=0/limit=2000でページング)、search_files(正規表現でpath:line_number:line形式、max_results=100)、write_file(親ディレクトリを自動作成、既存編集はedit_file推奨)の6種類です。

CLIとPython APIの両輪

実行系はCLIとPython APIの双方が用意されました。CLIはllm code --yolo(全許可)やllm code --allow "pytest*" --allow "git diff*"のように特定コマンドだけを許可するレシピが提示されています。加えて、要求されていないにもかかわらずCodingAgent(model="gpt-5.5", root="/path", approve=True).run(...)という形のPython APIも実装されており、エージェント自身が仕様外の拡張を勝手に足す挙動が興味深く記録されています。

動作確認では/tmp/demoにSwiftUIでASCIIアート時計のCLIアプリを作らせるプロンプトが投入され、GPT-5.5は思考中に「SwiftUIisn’t suitable for a true CLI」と自省したうえで、swift run AsciiTimeで動くASCIIアート出力アプリを組み上げたと報告されています。

💼 事業会社視点:これは自社にどう効くか

この公開が事業会社に投げかける論点は「コーディングエージェントは、もはや専用SaaSを契約する対象ではなく、社内のPython資産に組み込む部品になり始めた」ということです。llm-coding-agentは200行前後で読める設計で、ツール6種の粒度と--allowによるコマンド許可リストがそのまま社内ガバナンスの雛形になります。

受託開発・SIerにとっては、顧客環境に持ち込むエージェントを内製ラップするうえでの参考実装として即座に価値があります。特にexecute_commandのプロセスツリーkillやタイムアウト仕様は、閉域網PoCで「Claude CodeやCursorをそのまま入れられない」現場で自作せざるを得ない箇所です。SaaS事業者にとっては、自社製品のCLI/APIを「エージェントから叩かれる前提」で再設計する必要性を突きつけます。役員層は、開発生産性投資の議論を「どのAIツールを買うか」から「どの権限境界で自社のエージェントを走らせるか」に切り替えるべき局面です。

関連リンク