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 工具提示词

相关推荐
fanstuck17 小时前
1M 上下文能怎么用?我用 Seed Evolving 做了一个招标文件版本差异审查器
服务器·人工智能·数据分析·开源·aigc
墨舟的AI笔记19 小时前
React 组件库的 Tree Shaking:按需加载与副作用的工程化治理
人工智能
tkevinjd20 小时前
MiniCode 项目详解6:原项目控制系统的10个缺陷(已修复)
python·llm·agent
WoooChi20 小时前
DailyTech-20260724
人工智能·科技·业界资讯
zh路西法20 小时前
【CAM Grad-CAM Grad-CAM++】深度学习模型可解释性:从原理到YOLOv8部署实战
人工智能·深度学习·yolo·yolov8·grad-cam·cam
雨辰AI20 小时前
全集实战:企业级大模型服务化部署全栈指南|FastAPI 封装 + Nginx 负载均衡 + 高可用架构 从单机到生产一步到位
人工智能·ai·负载均衡·fastapi·ai编程
触底反弹20 小时前
Vibe Coding 不写 Git,等于悬崖边飙车
人工智能·git·面试
咖啡屋和酒吧21 小时前
健康管理:现代生活的科学守护
人工智能·生活·精选
星栈独行21 小时前
翻完 Pi 源码:它和 Codex、Claude Code 有何不同
开发语言·javascript·人工智能·程序人生
没有梦想的咸鱼185-1037-166321 小时前
AI-Python机器学习与深度学习技术:CNN/Transformer/扩散模型、SHAP可解释及Hermes智能体自动化
人工智能·python·深度学习·机器学习·chatgpt·cnn·transformer