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,就能匹配到 logError,log_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 工具提示词

相关推荐
AllData公司负责人21 分钟前
AI大模型数据开发底座系列说明书,AllData集成Chat2DB开源项目建设AI 数据库分析底座,涵盖AI 洞察/对话SQL/智能视图!
数据库·人工智能·sql·开源·ai 洞察·对话sql
指尖时光.1 小时前
【Agent】个人 Agent 工作台建设指南
agent·知识库·智能体·skill·agent开发
泯泷2 小时前
让 Agent 分清“马上办、等一等、顺手办”
人工智能·llm·agent
鲜于言悠9052 小时前
Claude Fable 5.2 登场,专治复杂推理与长任务
人工智能
联犀3 小时前
如何工程化降低语音交互AI设备的延迟(小智ai,芙崽这样的ai设备)
人工智能
杉岩数据3 小时前
杉岩数据董事长陈坚:从数据存储到行业智能——杉岩的AI时代战略布局
人工智能
冬奇Lab3 小时前
Loop 工程到底是高深的新技术,还是炒冷饭?用训练一个识别狗的模型讲明白
人工智能
冬奇Lab4 小时前
一天一个开源项目(第260篇):Plannotator —— 给 AI 编码 Agent 配一块「可批注的审阅台」,计划和代码改动都能在浏览器里逐条批示
人工智能·开源·claude
泯泷4 小时前
语音,正在成为 AI Agent 最自然的接口
人工智能·llm·agent
杨凯凡5 小时前
IT日报|2026-11-13:GitHub 大规模凭据攻击、Signal 形式化验证、Claude 新模型与 AI 安全诉讼
人工智能·安全·github