Copilot Agent sometimes replaces contents of one file with contents of another file
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 28/100
- issue の種類
- バグ
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- macos, swift
- 領域
- desktop-dev, devtools
調査の方向性
まず、リンクされたログを確認し、チャット UI の差分ビューアーと Xcode's git view に表示される変更を比較します。複数ファイルに対する Agent の編集と、「continue」と入力した後の動作に注目します。問題を再現し、別のファイルの内容で置き換えられることなく、各ファイルに意図した変更が適用されることを確認できれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Describe the bug
Sometimes when Copilot Agent mode works on a more complicated task, it can happen that the contents of one file are replaced with the contents of another file.
One example: Say we have some files A, B and C that Copilot tries to edit.
Copilot successfully suggests edits for all three files, but looking at the changes actually applied to Xcode only files A and B have the correct changes applied, while C now also contains the same code as for example B.
Versions
- Copilot for Xcode: 0.44.0
- Xcode: 26.0.1
- macOS: 26.1 (happend on 26.0 as well)
Steps to reproduce
- Ask an Agent to perform some more complicated changes in a non-small code base.
- Watch as the changes are applied incorrectly.
Screenshots
correct edits in the chat ui diff viewer, but incorrectly applied when viewed from the Xcode git view:
after typing continue, the previous changes are applied automatically and the new changes are applied incorrectly once again:
Logs
Here are the logs from the time frame I've tried to reproduce the issue.
The stuff further down is probably more relevant, as I wasn't immediately able to reproduce it.
However, I don't really know what part of these logs actually contains useful information.
Additional context
Interestingly, opening the suggested changes from the chat ui (see example above), the changes for file A, B and C are valid.
They just seem to be applied incorrectly.
Also, the agent was stopped because it reached the maximum attempts limit.
Typing continue made the situation even weirder:
Staying with the example above, where previously there suggested changes were displayed in the chat ui, now only one change is shown.
Applying this change correctly, the whole issue described above would've been resolved.
However, this change was applied incorrectly as well:
actual edits before "continue":
A -> edited A
B -> edited B
C -> edited B
actual edits after "continue":
A -> edited A
B -> edited B -> edited A
C -> edited B
Please note that this A, B, C example might not 100% accurately describe the actually displayed behavior; it's just supposed to roughly illustrate the problem
I was only able to reproduce this in a more complex codebase (i.e. in my own project, where the code can get quite messy and complex in a few places).
When trying to reproduce the issue I used Grok Code Fast 1, I don't know which model I used when I first discovered this problem.
I tried to reproduce the issue in the Simple SwiftUI project, but I had no success.
However, I was able to reproduce the problem in my own project (this is not open source so I can't link to the code here).
I didn't have the time to try it on another larger project though.
- 主要言語
- Swift
- スター
- 6.3k
- フォーク
- 2k
- 平均マージ
- 3日 21時間
- マージ済み PR(30日)
- 2
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
github/CopilotForXcode のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
github/CopilotForXcode#181 · リアクション 2 件 ·
-
Add ability to attach Copilot window only to Xcode projects/workspaces, ignoring standalone files オープン
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
github/CopilotForXcode#945 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 35/100
github/CopilotForXcode#943 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 10/100
github/CopilotForXcode#936 · コメント 2 件 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 10/100
github/CopilotForXcode#934 ·
github/CopilotForXcode の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
manaflow-ai/cmux#13763 ·
-
type: feature request
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
googleapis/google-cloud-swift#1036 · コメント 1 件 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
wultra/mtoken-sdk-ios#253 ·
-
area:dictation documentation P2
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
uttrflow/uttrflow-swift#1180 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100