为AI智能体提供语义代码缓存,缓存、检索并复用先前执行中的代码。
代码缓存 - 密码缓存用于 AI 代理是一项面向实际任务的技能,主要用于这种技能可以通过 Raysurfer API 缓存语义密码;当您的代理生成并执行代码时, 密码缓存存储它。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
该技能通过 Raysurfer API 实现语义化代码缓存。
当您的 Agent 生成并执行代码时,Code Cache 会将其保存。当后续出现相似任务时,Agent 可直接检索并运行已缓存的代码,无需重新生成——从而节省时间与 token 开销。
请从 Raysurfer 控制台获取您的 API 密钥,并完成如下配置:
# 通过环境变量配置 export RAYSURFER_API_KEY=your_api_key_here # 或通过 OpenClaw 配置 openclaw config set skills.entries.code-cache.apiKey "your_api_key_here"
/code-cache search <任务描述> [--top-k N] [--min-score FLOAT] [--show-code]
根据自然语言描述,检索匹配的已缓存代码片段。
选项说明:
--top-k N —— 返回结果的最大数量(默认值:5)--min-score FLOAT —— 最低判决分阈值(默认值:0.3)--show-code —— 显示匹配度最高的代码片段源码示例:
/code-cache search "生成季度营收报告" /code-cache search "获取 GitHub 热门仓库列表" --top-k 3 --show-code
/code-cache files <任务描述> [--top-k N] [--cache-dir DIR]
检索已就绪、可直接执行的代码文件,并为您的 LLM 自动添加格式化提示(prompt)。
选项说明:
--top-k N —— 返回文件的最大数量(默认值:5)--cache-dir DIR —— 输出目录路径(默认值:.code_cache)示例:
/code-cache files "获取 GitHub 热门仓库列表" /code-cache files "构建图表" --cache-dir ./cached_code
/code-cache upload <任务描述> --files <路径> [<路径>...] [--failed] [--no-auto-vote]
将某次执行中生成的代码上传至缓存,供未来复用。
选项说明:
--files, -f —— 待上传的文件(必填项,支持多个)--failed —— 标记本次执行为失败(默认为成功)--no-auto-vote —— 禁用对所存代码块的自动投票示例:
/code-cache upload "构建图表" --files chart.py /code-cache upload "数据流水线" -f extract.py transform.py load.py /code-cache upload "失败尝试" --files broken.py --failed
/code-cache vote <代码块 ID> [--up|--down] [--task TEXT] [--name TEXT] [--description TEXT]
对已缓存代码是否实用进行投票。该机制将持续优化后续检索质量。
选项说明:
--up —— 支持票 / 点赞(默认行为)--down —— 反对票 / 点踩--task —— 原始任务描述(可选)--name —— 代码块名称(可选)--description —— 代码块描述(可选)示例:
/code-cache vote abc123 --up /code-cache vote xyz789 --down --task "生成报告"
该技能封装了以下 Raysurfer API 方法:
| 方法 | 说明 |
|---|---|
search(task, top_k, min_verdict_score) |
统一接口:检索已缓存的代码片段 |
get_code_files(task, top_k, cache_dir) |
获取可用于 sandbox 执行的代码文件 |
upload_new_code_snips(task, files_written, succeeded, auto_vote) |
在代码执行完成后,将其存入缓存 |
vote_code_snip(task, code_block_id, code_block_name, code_block_description, succeeded) |
对代码片段的实用性进行投票 |
LLM Agent 经常重复执行相同模式的任务。与其每次重新生成代码,不如:
了解更多,请访问 raysurfer.com 或查阅完整文档。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 133.9万人学习
共49课时 | 82.5万人学习