Xcode 26のCodingAssistantを試した

WWDC 2025でXcodeにChatGPTが統合されて自然言語で指示するとSwift書いてくれるというアナウンスがあったので使ってみました。内部の設定ファイルにCodingAssistantという名前がついていたのでそう呼びます。

Writing code with intelligence in Xcode | Apple Developer Documentation
Generate code, fix bugs fast, and learn as you go with intelligence built directly into Xcode.

前提条件

Xcode 26を使うために、macOS 26 betaにあげる必要があります。

Xcode 26 beta (17A5241e) - Releases - Apple Developer
View downloadsView release notes

利用イメージ

Cursorのようにチャットで指示をするとエディタに変更が反映されます。ここは特に見所はありません。

https://www.youtube.com/watch?v=0_DjDdfqtUE

ChatGPTの利用

サインアップなしでChatGPT(OpenAI)のAPIが使えます。ただし、コード生成するモデルは選べません。自分のChatGPTアカウントでログインすると回数制限が緩和されます。

以降はドキュメントに記載されていない項目を含むので非公開とします

Internet Hosted

ChatGPT以外に追加でモデルを設定できます。Internet HostedとLocally Hostedの2種類が選択できます。

Internet Hostedにはホスト名とAPIトークンが設定できます。ドキュメントには載っていませんでしたが、http://localhost:11343 でOllamaの設定を取り込んでくれました。AnthropicsのAPIがBYOKできることはキーノートで言及されていました。おそらくChatCompletionAPIさえ動けばOpenRouterだろうがなんでもいけそうです。

Locally Hosted

Locally Hostedはportのみ設定可能で、単にホスト名が暗黙でlocalhostになります。11343を指定するとOllamaが動きました。なのでHTTP前提と思われます。Apple独自モデル形式をローカルで利用する機能ではありません。

設定ファイル

~/Library/Developer/Xcode/UserData/CodingAssistant/ 以下にプロジェクトごとの設定があります。Xcodeから設定した値が入っていました。

TIPS:古い設定が消えない時

rm ~/Library/Preferences/com.apple.dt.Xcode.plist で消します。上記のCodingAssistant/のプレーンテキスト設定を消しても本体向けのバイナリ設定ファイルに残ってます。サバンナではよくあること。

GitHub Copilot for XcodeのAgentとの違い

GitHub CopilotはXcode拡張の制約内でがんばって実装しています。ウィンドウが分離してるけどXPCで統合っぽく見せてます。

GitHub Copilot for Xcode

一方、CodingAssistantはXcodeの一等地であるCmd-0のパネルに住を構えます。ズルッ

しかしGitHub Copilot for Xcodeはコマンド実行などもしてくれるので、今のところCodingAssistantの上位互換な機能を提供できています。

システムプロンプトと内部ツール定義

Chat Completion API自作のテクを使い調べました。

v0 APIのアーキテクチャ: Chat Completion API自作界隈
はじめに 先日、Vercelがv0 APIという興味深いサービスを発表しました。v0.devは、アプリのプロトタイピングからデプロイまでをWebブラウザ上のチャットで行えるサービスです。v0 APIは、この機能を外部から利用可能にする有料プラン向けのAPIサービスとして提供されています。 v0 APIAccess the model behind v0.Vercel 現在、CursorやClineなどのエディタでコード生成のバックエンドとしてv0 APIを利用することができます。くわえて、Vercel ProユーザーはAI SDKのAI Playgroundからこの機能を試すこともできます。 利用方法 v0 APIは、OpenAIのChat Completions APIの仕様に準拠したエンドポイントを提供しています。そのため、既存のOpenAIモデル対応アプリケーションでは、ベースURLの設定を変更するだけでv0 APIを利用することができます。 ユーザーにとっては、AIエディタに設定を追加するだけで、Next.jsアプリなどのモダンなWebアプリケーション開発において

システムプロンプトは素朴なプレーンテキストが使われています。XMLマークアップとか、MCPなどはありません。なのでどんなLLMでも動きそうです、Tool呼び出し対応していないモデルも含め。筆者はGemma3:4bでも試しましたがコード編集をしてくれました。

プロンプトの内容としては、今開いてるファイルの中身を送信して「ユーザーの指示にしたがってMarkdown内にソースコードを提示してください」とリクエストする仕組みになっています。あとはそれを受け取ったXcode内部実装が気合いでパースしてファイルシステムに反映していました。

総評としては、このシステムプロンプトが簡易的な仕組みになっていることが重要で、ここが変わらない限りはツール呼び出し連携が実現しないので、高度な自立性を持ったコーディングエージェントになることはないでしょう。

Subscribe to laiso

Sign up now to get access to the library of members-only issues.
Jamie Larson
Subscribe