91、【Agent】【OpenCode】grep 工具提示词(参数内容)

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

背景

上篇 blog
【Agent】【OpenCode】grep 工具提示词

分析了 Grep 工具剩下的提示词:可以通过 Glob 通配符模式搜索指定文件,返回结果按修改时间排序,并且内容自带行号,然后重点提到了 Glob 和 Grep 工具的配合,类似在图书馆里找书,其中 Glob 工具是看书名和目录,而 Grep 工具则是翻开书,去读书里面的文字,Glob 工具找的是外壳(文件名),而 Grep 找的是文件内容,在复杂的编程任务中,经常需要找同时满足名字和内容两个条件的文件,此时单靠一个工具搞不定,就需要先用 Glob 工具圈地,快速,低成本地筛选出目标文件,然后再用 Grep 工具深挖,在 Glob 工具划定的范围里,快速完成内容检索,在真实的 Linux 命令行中,也经常会看到这种先 Glob 后 Grep 的组合,并举了例子,下面继续分析

OpenCode

下面继续看 Grep 工具的参数内容

  • pattern(搜索的内容,必填项) :唯一必填的参数,让 AI 填入想要在文件里查找的内容,这里的内容是 regex pattern 正则模式,不是普通字符串,AI 可以使用强大的正则语法来进行模糊匹配 ,比如,AI 填入 log.*Error,就能匹配到 logErrorlog_an_Error 等各种变体,或者填入 function\\s+\\w+,可以找出所有 JS 函数定义,相当于 Linux 命令行里的
bash 复制代码
grep -E ...

让 AI 具备极强的语义搜索能力

  • path(可选项):圈定搜索的范围,是 AI 的空间定位参数,决定了 Grep 工具从哪个文件夹开始向下递归搜索,如果 AI 没传这个参数,工具默认在当前工作目录下全盘扫描
  • include(可选项)允许 AI 在调用 Grep 工具时,直接带上一组 Glob 通配符作为过滤器 ,比如当 AI 传入 include: "*.js",Grep 工具在底层先执行一次快速的 Glob 匹配,把所有的 .js 文件挑出来,然后只在这些文件里运行正则搜素,排除其他文件的干扰

下面看下一个工具 Edit

其路径位于 opencode/packages/opencode/src/tool/edit.txt

Edit 工具是 AI 可以调用的文件编辑器 ,这里的提示词规范了 AI 应该如何精准,安全的对文件进行编辑,指出并解决了 AI 在编辑中最容易出现的三个问题:上下文丢失,定位不准,以及覆盖冲突,下面来详细分析下

第一条规则:先读后写,是核心安全机制,有如下作用

  • 防止 AI 幻觉,防止覆盖:防止 AI 在不知道文件当前内容的情况下盲目修改,或者用自己记忆中的旧版本内容,去覆盖用户刚刚修改过的新代码
  • 锁机制(底层逻辑) :在 OpenCode 等工具的底层,这也属于是分布式系统中常见的锁机制:AI 读取文件时,客户端会记录这个文件的快照(比如修改时间 mtime),当 AI 发起编辑请求时,客户端会检查这个快照是否还有效,如果文件在 AI 读取后,编辑前被外部(比如用户手动保存,或者 linter 自动格式化等)修改过,此时再编辑就会直接报错失败,强制 AI 重新读取最新版本,避免丢失更新的问题

第二条规则,行号前缀格式细节,这里主要教 AI 如何把 Read 工具读回来的带行号的展示层和真实文件内容进行剥离

  • 首先解释下行号前缀格式,之前分析 Read 工具说了,为了让用户和 AI 方便阅读,返回的并不是文件原始内容,而是经过装饰的,装饰格式为:行号 + 冒号 + 空格,比如,文件里真实的一行代码是
python 复制代码
const a = 1

那么 Read 工具返回的时候,会变成

python 复制代码
1: const a = 1

这里的 1: 就是行号前缀(line number prefix)


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

相关推荐
南屹川8 小时前
【Python进阶】异步编程完全指南:从asyncio到实战应用
人工智能
Industio_触觉智能8 小时前
瑞芯微RK3576迷你工控整机边缘计算盒子规格书参数配置性能说明,触觉智能IPC7609
人工智能·嵌入式硬件·边缘计算·openharmony·开源鸿蒙·瑞芯微·rk3576
AI街潜水的八角8 小时前
PyTorch框架——基于深度学习PmrNet神经网络AI去噪图像增强系统(含训练代码、创新对比、数据集和GUI交互界面)
人工智能·pytorch·深度学习
月光船幽幽8 小时前
Helio协议热切换实战解析
人工智能·动态规划·拓扑学
烟雨江南7858 小时前
农田上空的“智慧天眼”:多光谱视觉系统在作物生长监测与病虫害大范围筛查中的落地方案
人工智能·ai质检
逆境不可逃8 小时前
【与我学 ClaudeCode】并发篇 之 Background Tasks :守护线程与异步通知队列
人工智能·arcgis·agent
南屹川8 小时前
【前端进阶】React状态管理完全指南:从useState到Redux
人工智能
网宿安全演武实验室8 小时前
AI 赋能代码审计:静态扫描与AI Skill的协同实践
人工智能·主机安全·终端安全·网络攻防
hh.h.8 小时前
PyTorch模型适配昇腾NPU:从零开始的端到端流程
人工智能·pytorch·python·cann