为AI智能体提供语义代码缓存,缓存、检索并复用先前执行中的代码。
代码缓存 - 密码缓存用于 AI 代理
功能概述
代码缓存 - 密码缓存用于 AI 代理是一项面向实际任务的技能,主要用于这种技能可以通过 Raysurfer API 缓存语义密码;当您的代理生成并执行代码时, 密码缓存存储它。
核心要点
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
使用与执行
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
结果检查与注意事项
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
Code Cache — 面向 AI Agent 的语义化代码缓存
该技能通过 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 "生成报告"
工作原理
- 缓存命中(Cache Hit):当请求与先前执行过的任务相似时,Code Cache 即刻返回已缓存的代码版本
- 缓存未命中(Cache Miss):若无匹配项,Agent 正常生成代码;随后 Code Cache 将其自动存入缓存以备将来使用
- 判决评分(Verdict Scoring):成功运行的代码获得 👍,失败代码获得 👎——检索质量随时间持续提升
API 参考文档
该技能封装了以下 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 经常重复执行相同模式的任务。与其每次重新生成代码,不如:
- 快达 30 倍:直接调用经过验证的代码,无需等待模型生成
- 成本更低:通过复用已缓存方案显著降低 token 消耗
- 质量更高:缓存代码均已通过实际运行验证,并经用户投票评估
- 输出一致:相同任务始终触发同一套已被验证的解决方案
了解更多,请访问 raysurfer.com 或查阅完整文档。
热门AI工具
相关专题
本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。
0
2026.10.22
本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。
0
2026.10.22
本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。
0
2026.10.22
本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。
0
2026.10.22
本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。
0
2026.10.22
本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。
0
2026.10.22
本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。
0
2026.10.22
PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。
0
2026.10.22
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.5万人学习
共6课时 | 54.7万人学习
