Github Copilot Agent模式使用经验分享

张春  金牌会员 | 2025-3-20 15:00:21 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 985|帖子 985|积分 2955

本文总结了怎样使用 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”,输入需要 Copilot Agent 特别留意的提示词;
  • 点击 “Send” 按钮,开始对话,观察 Agent 的体现。
其它说明



  • VSCode 通过语言插件提供的 lint 功能可以产生 Error 或 Warning 提示,Agent 能主动根据这些提示修正代码。
  • 随着对话的深入,Agent 生成的代码修改可能会偏离预期。建议每次会话都聚焦一个明白的主题,避免对话过长;到达短期目标后结束当前会话,再启动新任务。
  • “Working Set” 下的 “Add Files” 提供 “Related Files” 选项,可推荐相关文件。
  • 留意控制单个代码文件的行数,以免 token 斲丧过快。
  • 建议先生成底子代码,再编写测试用例,便于 Agent 根据测试结果调试和自我校验。
  • 为限定修改范围,可在 settings.json 中添加如下配置,只修改指定目录下的文件, 仅供参考:
  1. "github.copilot.chat.codeGeneration.instructions": [
  2.         {
  3.             "text": "只需修改 ./script/ 目录下的文件,不修改其他目录下的文件."
  4.         },
  5.         {
  6.             "text": "若目标代码文件行数超过 1000 行,建议将新增函数置于新文件中,通过引用调用;如产生的修改导致文件超长,可暂不严格遵守此规则."
  7.         }
  8.     ],
  9.     "github.copilot.chat.testGeneration.instructions": [
  10.         {
  11.             "text": "在现有单元测试文件中生成测试用例."
  12.         },
  13.         {
  14.             "text": "代码修改后务必运行测试用例验证."
  15.         }
  16.     ],
复制代码
常见标题

输入需求得不到想要的业务代码

需要将大任务拆分成较小的任务, 每次会话只处置惩罚一个小任务. 这是由于大模型的上下文太多会导致留意力分散.
喂给单次对话的上下文, 需要自己揣摩, 太多和太少都会导致不理解需求.
DeepSeek 模型办理了留意力分散标题, 但需要在 cursor 中使用 Deepseek API. 不清楚其效果怎样.
响应迟钝标题

需要理解 token 斲丧机制, token 输入是便宜且耗时较短的, token 输出贵很多, 且明显更迟钝.
如果一个代码文件非常大, 实际需要修改的代码行只有三行, 但由于上下文多, 输出也多, 会导致 token 斲丧很快, 且响应迟钝.
因此, 必须要思量控制文件的大小, 不要写很大的文件和很大的函数. 及时拆分大文件, 大函数, 通过引用调用.
业务理解标题

理解标题或许有些依赖代码中的表明, 以及测试文件, 代码中补富足够的表明, 以及测试用例, 有助于 Copilot Agent 更好的理解业务.
Agent 自己生成的业务代码就有足够多的表明, 检视这些表明, 就可以快速判断 Agent 是否精确理解了需求.
生成大量代码需要 debug 较久

可以思量在生成某个特性的底子代码后, 先生成测试用例, 再调解业务逻辑,这样 Agent 可以自行进行调试,自我验证.
Agent 会扣问是否允许运行测试下令, 运行完成后会自行读终端输出, 以此来判断代码是否精确. 如果不精确, 会根据报错信息进行修改. 循环往复, 直到测试通过.
也就是需要自己更多理解业务, 需要手动写的时候并不太多, 如果测试用例代码和业务代码都不精确, Agent 既不能根据业务写出精确用例, 也不能根据用例写出精确业务代码, 这种环境才会出现 debug 较久的环境.
总结

理解大模型的 token 斲丧机制, 输入的上下文很便宜,输出的代码较贵,文件中未修改的代码部门可能也算作输出, 证据是很多无需修改的代码也会迟钝输出.
因此应只管控制单文件的大小, 可以在使用中感受 Agent 在处置惩罚大文件和小文件时, 响应速度上的差别, 这个差别优劣常明显的.

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张春

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表