当前位置: 首页 > news >正文

93、【Agent】【OpenCode】edit 工具提示词(二)

【声明】本博客所有内容均为个人业余时间创作,所述技术案例均来自公开开源项目(如Github,Apache基金会),不涉及任何企业机密或未公开技术,如有侵权请联系删除

背景

上篇 blog
【Agent】【OpenCode】edit 工具提示词
继续分析了 Edit 工具提示词,其中提到冒号和空格之后的内容,才是文件里真实存在的东西,AI 在进行字符串匹配时,须完全无视前缀,提取空格之后的内容,并且不能在编辑的文件里带上类似1:这样的行号前缀格式,Edit 工具检测到会直接报错,然后举了个 Python 文件的例子,可能有三种情况:错误的 oldString(带了行号前缀),半吊子的 oldString(去掉了冒号后面的所有空格),完美的 oldString(只去掉了冒号和后面的一个空格,完美保留后面的原始缩进)。然后介绍了 oldString 和 newString 的区别,其中 oldString 是原本要替换的旧代码,newString 是即将要换上去的新代码,下面继续分析

OpenCode

下面继续看剩下的提示词

  • 最小化破坏(优先编辑现有文件):保护项目架构完整性,AI 在生成代码时,有时候很容易因为图省事儿而直接创建一个新文件,而不是去修改现有的模块,这不仅会导致代码库中出现大量冗余,碎片化的文件,还会破坏原本清晰的目录结构,这里强制 AI 必须先去理解现有代码的逻辑,进行增量更新,而不是盲目地另起炉灶
  • 保持纯净(除非明确要求,否则禁用 Emoji):AI 模型在训练时接触了大量的社交媒体,有时会在注释或打印语句中自动加入类似 🚀、✨、🔥 等表情符号,这在严肃的工程代码中不仅显得极不专业,还可能导致源文件编码报错,或者让后续的代码解析工具崩溃
  • 精准匹配机制(唯一的锚点才能定位):Edit 工具需要精确字符串匹配,这里不是模糊搜索,也不是语义替换,而是需要像 Ctrl + F 一样每个字符都去比对(包括空格,换行符,缩进等),只要 AI 提交的 oldString 和文件里的内容有一个标点符号对不上,操作就会立刻终止,所以第一个规则强调了,AI 必须先用 Read 工具拿到最新快照,再进行提取,避免记忆偏差
  • 找到多个匹配项会失败:这是为了防止误伤,如果 AI 提供的 oldString 太短,或缺乏特征,比如只提供了一个通用的return;,文件里可能有几十个地方都符合条件,Edit 工具为了避免改错地方,会直接拒绝执行,并抛出错误,这其实也是在逼迫 AI 扩大上下文范围,用户必须把目标代码的前后几行也包含进 oldString 里,形成一个独一无二的指纹,这样工具才能精准锁定唯一的那个位置

当然,提示词这里最后也提供了批量处理策略(全局替换):当 AI 需要重命名一个变量(比如把userId改成user_id),或者统一修改某个函数名时,可以用replaceAll这个参数进行全局替换,该参数会绕过唯一性校验的限制,直接在当前文件中,把所有匹配的 oldString 一次性全部替换成 newString,可以极大提升重构效率,避免 AI 为了改名而反复调用十几次普通 Edit 工具的笨拙行为

OK,下面来看 Edit 工具的参数内容

  • filePath目标文件的绝对路径,在复杂的工程环境中,相对路径非常容易因为当前工作目录(CWD)的切换而失效,强制要求绝对路径,相当于给提供了绝对坐标,防止编辑到错误文件,同时,filePath也是必填项,没有明确的目标文件,就什么也编辑不了

oldString(文件里的锚点位置):也是必填项,上篇 blog 里已经简单介绍过,这里要被替换的字符串需要满足两个条件

  • 剥离了行号前缀的真实代码
  • 包含足够的上下文缩进,确保在文件中是唯一匹配的

如果oldString提取错误(比如带了行号,丢了缩进),工具会直接报错【oldString not found】;而如果写得太短,导致多处匹配,也同样会报错【Found multiple mathces】


OK,本篇先,到这里,如有疑问,欢迎评论区留言讨论,祝各位功力大涨,技术更上一层楼!!!更多内容见下篇 blog
【Agent】【OpenCode】edit 工具提示词(参数内容)

http://www.jsqmd.com/news/879782/

相关文章:

  • 94、【Agent】【OpenCode】edit 工具提示词(参数内容)
  • 2026年5月有实力的电动截止阀/电动闸阀厂家推荐钢特阀门科技有限公司 - 品牌鉴赏师
  • Graff平替怎么选?这5个品牌性价比碾压大牌 - 资讯纵览
  • Frida与Objection在移动端自动化安全测试中的工程化实践
  • 2026清明上河园汉服租赁保姆级横评:位置、服务与性价比谁是天花板? - 资讯纵览
  • 2026年5月济宁任城地区黄金回收白银铂金回收门店推荐TOP1 地址及联系方式 - 诚信金利回收
  • 2026年5月黄山祁门地区黄金回收白银铂金回收门店推荐TOP1 地址及联系方式 - 诚信金利回收
  • 免费一键生成证件照怎么做?2026免费工具实测推荐 - 科技大爆炸
  • 5分钟掌握WebPShop:Photoshop终极WebP插件完全指南
  • 2026年5月济宁市中地区黄金回收白银铂金回收门店推荐TOP1 地址及联系方式 - 诚信金利回收
  • 化学教学平台——数据可视化与电化学AI动画推演
  • Android App原生指令通道doCommandNative深度解析与Frida Hook实战
  • 2026 成都钢管批发哪家好?四川盛世钢联全品类一站式供应更靠谱 - 四川盛世钢联营销中心
  • 徒手撸极简前后端分离Demo!吃透原生JS动态渲染底层
  • 如何免费将PPTX转换为HTML?探索纯JavaScript解决方案的完整指南
  • 深度解析:Android Studio中文语言包全功能实现方案
  • 谷歌内部CSR策划SOP首次流出(非公开版):含风险预判矩阵、利益相关方触达热力图与监管审计应答话术库
  • 2026长岛民宿推荐榜:本地人私藏高口碑排名指南 - 资讯纵览
  • 2026 年成都 H 型钢厂家及采购优选推荐 四川盛世钢联钢厂联营资源等你来抢 - 四川盛世钢联营销中心
  • 摒弃传统持卡定位弊端 全方位筑牢井下应急安全屏障
  • 基于68万次提交的机器学习项目开发模式与演化规律分析
  • 2026年5月黄山歙县地区黄金回收白银铂金回收门店推荐TOP1 地址及联系方式 - 诚信金利回收
  • 2026贵阳装修公司排名,这5家专业又靠谱! - 资讯纵览
  • 证件照换底色哪种方法最好用?2026小程序vs在线工具vs手机APP全对比 - 科技大爆炸
  • 2026广东广州五大水晶珠宝生产厂家推荐:2026 最新排名出炉,汕晶源以全链路服务优势赢得口碑 - 十大品牌榜
  • 机器学习防御组合冲突检测:Def\Con原理与工程实践指南
  • 基于Silvaco的β-氧化镓(β-Ga₂O₃)基MSM型日盲紫外光电探测器仿真研究
  • 2026 成都 H 型钢批发哪家好?四川盛世钢联全品类一站式供应更靠谱 - 四川盛世钢联营销中心
  • 【论文解读】VVC/H.266 标准全面深度解析——基于 IEEE TCSVT 2021 权威综述论文
  • m4s-converter技术解析:跨平台B站缓存视频无损转换方案