最近深入体验了 GitHub Copilot 的 Agent 模式,这里整理了一些实战中的设置与心得。
环境准备
- 使用 VSCode Insider 版本;
- 安装 GitHub Copilot(预览版)插件;
- 模型选择上推荐 Claude 3.7 Sonnet(预览版),它在代码编写方面表现突出,其他模型则在速度、多模态识别及推理能力上各有优势;
- 工作模式务必切换为 Agent。
上手流程
打开 'Copilot Edits' 选项卡后,可以添加一些附件来丰富上下文,比如 'Codebase'、'Get Errors' 或 'Terminal Last Commands'。接着在 'Working Set' 里确认当前打开的文件,也可以手动指定其他文件(如 'Open Editors')。最后输入具体的 'Instructions',告诉 Agent 需要注意什么,点击 'Send' 即可开始对话。
关键细节
VSCode 的语言插件会提供 lint 功能,Agent 能自动根据 Error 或 Warning 提示修正代码。不过随着对话深入,生成的代码可能会偏离预期,所以建议每次会话聚焦一个明确的主题,达到短期目标后就结束,再开启新任务。
'Working Set' 下的 'Add Files' 有 'Related Files' 选项,能推荐相关文件。另外要注意控制单个代码文件的行数,避免 token 消耗过快。比较稳妥的做法是先生成基础代码,再补全测试用例,这样 Agent 可以根据测试结果自我校验。
为了限制修改范围,可以在 settings.json 中添加如下配置,只允许修改指定目录下的文件:
"github.copilot.chat.codeGeneration.instructions":[{"text":"只需修改 ./script/ 目录下的文件,不修改其他目录下的文件."},{"text":"若目标代码文件行数超过 1000 行,建议将新增函数置于新文件中,通过引用调用;如产生的修改导致文件超长,可暂不严格遵守此规则."}],"github.copilot.chat.testGeneration.instructions":[{"text":"在现有单元测试文件中生成测试用例."},{"text":"代码修改后务必运行测试用例验证."}]
避坑指南
需求得不到想要的结果
大任务容易让模型注意力分散,建议拆分成小任务,每次会话只处理一个小点。喂给单次对话的上下文需要自己把控,太多或太少都会影响理解。


