十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

OpenResearch如何把Claude Code变成研究智能体?harness机制全解

OpenResearch如何把Claude Code变成研究智能体?harness机制全解 OpenResearch如何把Claude Code变成研究智能体harness机制全解【免费下载链接】OpenResearchTurn your coding agents into research agents项目地址: https://gitcode.com/GitHub_Trending/op/OpenResearchOpenResearch 是一个本地优先的研究智能体工作区它的核心 trick 是一层harness 兼容层通过统一的Harness抽象把 Claude Code、Codex、OpenCode、Cursor 这些编码智能体coding agent改造成能读文献、提假设、跑实验、产出研究证据的研究智能体research agent。本文带你从源码角度拆解这套 harness 机制的完整设计。为什么编码智能体变不成研究智能体编码智能体擅长写代码但做研究还需要一套完整的工作流创建实验基线 → 分支变体 → 并行跑实验 → 分析证据 → 决定下一步。直接让 Claude Code 裸跑会出现乱改运行命令、用环境变量扫超参、把结论建立在不可复现的结果上等问题。OpenResearch 的解法分两层harness 层把各家智能体的 CLI 封装成统一接口稳定地驱动它们完成一轮轮会话skill 层把研究方法论文档注入智能体让它遵守实验树的纪律。harness 是什么一个 trait 一个注册表整套机制的核心在 src/local/harness/mod.rs一个Harnesstrait四个智能体各一个实现文件智能体实现文件说明Claude Codeclaude.rs常驻子进程 stream-json 事件流Codexcodex.rsapp-server 协议 传统 exec 双路径OpenCodeopencode.rsserve 常驻进程 HTTP 内联应答Cursorcursor.rs轻量适配所有消费方会话调度、检测扫描、技能安装器都只遍历同一个注册表 registry()新增一个 harness 一个新文件里写一个impl Harness 注册表里加一行其余代码零改动。这就是全解里最值钱的设计能力是可选的。每个 harness 最多提供三种能力可以只实现其中一部分detection检测CLI 装没装、登没登录、账号和模型有哪些 → 驱动orx up界面里的智能体选择器chat驱动会话run_turn拉起 CLI、把各家原生事件流归一化成统一的 wire partsskill install技能安装往~/.claude/skills/orx等位置写入技能 shim让智能体自动发现orx。检测先确认 Claude Code可用再开口检测逻辑在 detect.rs遵循只读、尽力而为原则——文件缺失或 JSON 解析失败只算未检测到绝不报错。以 Claude 为例claude.rsclaude --version探针10 秒超时从输出里解析出版本号必须含数字才算真的版本行claude auth status --json是登录状态的唯一事实来源本地配置只贡献展示信息认证状态归一为四档Ready/NeedsLogin/Unknown/Unsupported例如 OAuth 登录但 CLI 版本过旧 2.1.211会降级为Unsupported避免拉起一个会崩的子进程。检测结果还会带上模型目录和每个模型支持的推理档位detect.rs供前端渲染模型选择器——选哪个模型、给多高的思考力度都由检测到的真实能力决定而不是硬编码。一轮对话如何跑起来run_turn 全链路Claude Code 的适配是四种里最典型的claude.rs 模块注释每个会话一个常驻子进程claude --print --input-format stream-jsonstdin 保持打开多轮对话复用同一个进程省掉了每轮重新冷启动的开销事件流边界识别每一轮从--replay-user-messages回显的那条用户消息开始到result事件结束中间的工具调用、文本全部归一化成 wire parts 推给前端配置变更或崩溃时自动--resume权限模式、effort 档位变化或进程挂了就带着稳定session_id重新拉起会话不断。围绕这条链路还有三道保命设计机制位置作用看门狗mod.rs一轮 30 分钟无任何事件视为卡死主动中断而不是永远转圈退避重试mod.rs最多 3 次重试指数退避 确定性抖动总预算 15 秒恢复快照mod.rs原生会话丢失时用本地存档的对话快照作为上下文续接并提示不要重复已完成的工具操作权限模式与 Plan 门禁各家智能体的权限词汇总是询问 / 自动接受 / 完全访问……被统一成一个内部枚举再映射回各自的原生参数定义见 options.rs。Claude 的Plan 模式有个隐蔽的坑headless 下--permission-mode plan会把任意Bash(orx …)当写操作拦截而研究智能体恰恰要靠只读的orx runs、orx logs、git show来看证据、做计划。OpenResearch 的解法是一个PreToolUse钩子 orx plan-gate只读命令放行写操作保持拦截——规划可以随便看动手必须等你批准。分类采用严格的白名单策略未知命令一律视为不读。灵魂一步orx install-skills 注入研究方法harness 解决了怎么驱动skill 解决怎么研究。orx install-skills会把一个 SKILL.md shim 写入智能体的技能目录如~/.claude/skills/orx/shim 本身不含操作细节只告诉智能体一句话每个会话开始时先运行orx skill加载随 CLI 打包的最新操作手册。真正的研究纪律写在 SKILL.md 的四条铁律里节点一经实验回答就永久冻结——想试新想法给节点分支一个子节点运行命令和环境是固定契约——所有节点跑同一条命令变代码不变命令里的旋钮——超参写进代码/配置按变体分支树向下长不横着铺——一轮内适度展开然后沿着赢家往下走。配套的模块化技能文档如 orx-experiment-tree、orx-compute、orx-evidence按orx skill name按需加载覆盖实验树、多后端算力Slurm / K8s / Ray / Modal / SSH、证据分析等主题。容易被忽略的细节自动标题新会话用一个廉价的一次性子请求one_shot无工具、30 秒超时给会话起 6 词以内的短标题并对模型爱加引号、尾句号的习惯做了防御性清洗title.rs引导steering支持运行中向智能体插话的 harness 会在 UI 上开放转向输入不支持的则排队到本轮结束mod.rs交互提示回流Claude 的提问会让本轮结束、答案以--resume新消息续接OpenCode 则在活协议上内联应答两条路径统一收敛在resume_from_prompt接口后mod.rs。上手三步从官方渠道安装 CLImacOS / Linux 一条安装脚本即可Windows 用 beta 包 Git for Windows见 docs/windows.md终端运行orx up浏览器打开本地面板127.0.0.1:4791harness 选择器会显示已检测到的 Claude Code 登录状态与模型运行orx install-skills把研究技能注入你的编码智能体之后在面板里给一个研究方向智能体就会按实验树纪律自主迭代。小结OpenResearch 的 harness 机制本质上是把驱动一个编码智能体这件事抽象成检测、会话、技能三个正交能力用注册表 trait 让四个智能体平权接入再叠加权限门禁、看门狗、重试与恢复快照这些工程化的保险丝最后靠 skill 注入研究方法——于是 Claude Code 就从帮你写代码升级成了帮你做研究。想深入源码建议从 src/local/harness/mod.rs 的模块注释读起它几乎是整套机制的导读。【免费下载链接】OpenResearchTurn your coding agents into research agents项目地址: https://gitcode.com/GitHub_Trending/op/OpenResearch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表