多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

pi-autoresearch三大核心工具完全参考:从init_experiment到log_experiment

pi-autoresearch三大核心工具完全参考:从init_experiment到log_experiment pi-autoresearch三大核心工具完全参考从init_experiment到log_experiment【免费下载链接】pi-autoresearchAutonomous experiment loop extension for pi项目地址: https://gitcode.com/gh_mirrors/pi/pi-autoresearchpi-autoresearch 是 pi 终端 AI 编程代理的自主实验循环扩展Autonomous experiment loop extension for pi。它通过三个核心工具驱动整个自动化优化过程init_experiment负责初始化实验会话run_experiment负责运行并计时log_experiment负责记录结果并自动提交或回滚。本文面向新手完整讲解这三个工具的参数、行为与调用时机帮你快速上手 pi-autoresearch 自主实验循环。为什么需要这三个工具pi-autoresearch 的设计哲学是试一个想法 → 测量它 → 保留有效的改进 → 丢弃无效的尝试 → 无限循环。它适用于任何可量化的优化目标测试速度、打包体积、LLM 训练损失、构建时间、Lighthouse 评分……你只需要给 pi 一个指标metric剩下的交给自动循环。三个工具各司其职构成一条完整的数据流工具角色调用时机init_experiment 会话配置每个会话恰好一次优化目标变更时再次调用run_experiment 执行测量每次尝试改动后运行一次log_experiment 记录裁决紧跟每次run_experiment之后源码中这三个工具均注册在扩展入口 extensions/pi-autoresearch/index.ts其中 init_experiment 是一次性设置one-time setup而 run_experiment 与 log_experiment 则是循环体。init_experiment一次性配置实验会话它做什么init_experiment是整个实验会话的开工令。它做三件事设定实验身份会话名称、主指标metric名称、单位、优化方向写入配置头把配置以config行写入追加日志.auto/log.jsonl后续所有运行记录都挂在这个配置头之下激活 autoresearch 模式触发仪表盘、统计计数开始工作并触发before.sh钩子如果配置了的话。参数速查参数必填说明示例name✅会话的人类可读名称Optimizing test runtimemetric_name✅主指标显示名须与脚本输出一致total_µs、val_bpbmetric_unit➖单位影响数字格式化µs、ms、kb无单位填direction➖哪个方向更优默认lowerlower/higher参数定义见 index.ts 中的 InitParams。什么时候调用关键规则三条官方指引直接来自工具自带的 prompt 约束在首次run_experiment之前调用每个会话恰好一次如果.auto/log.jsonl已有配置不要再次调用如果优化目标变了换基准、换指标、换工作负载再次调用——它会插入新的配置头开启新段segment并重置基线旧结果会被归档保留在仪表盘中。调用成功后工具会提示你现在用run_experiment跑基线。这就是循环的起点。run_experiment自动计时与输出捕获它做什么run_experiment替代普通的 bash 命令执行为实验命令提供全套测量基础设施⏱️墙钟计时自动记录命令耗时输出捕获与截断送入模型上下文的输出只保留最后 10 行 / 4KB完整输出自动落盘到临时文件避免撑爆上下文✅成败判定通过退出码 超时检测自动判断 pass/fail指标自动解析如果基准脚本打印了结构化的METRIC namevalue行工具会自动解析并直接给出可用于 log_experiment 的数值无需人工从输出中提取️背压检查如果存在.auto/checks.sh基准通过后自动运行测试/类型检查检查失败会明确要求记录为checks_failed。参数速查参数必填默认说明command✅—Shell 命令如bash .auto/measure.shtimeout_seconds➖600基准命令超时时间秒checks_timeout_seconds➖300.auto/checks.sh的独立超时两个重要的护栏机制基准脚本强制一旦项目里存在.auto/measure.shrun_experiment会拒绝运行其他自定义命令强制你跑基准脚本见 isAutoresearchShCommand 校验。这保证了每次实验都在同一个口径下测量数据才可比实验次数封顶若在.auto/config.json配置了maxIterations达到上限后run_experiment会直接拒绝执行并提示你调用init_experiment开启新段——这是控制 token 成本的关键开关配置方式见 site/content/configuration.md。结构化输出的小约定让.auto/measure.sh按如下格式输出即可被自动解析每行一个指标METRIC total_ms9620 METRIC compile_ms1230其中与init_experiment的metric_name一致的那个会被识别为主指标其余为次级指标用于监控权衡tradeoff。log_experiment记录结果自动提交或回滚log_experiment是循环中唯一的裁决工具它把一次运行的结果变成不可篡改的记录 明确的 git 动作。参数速查参数必填说明commit✅Git 短提交哈希7 位metric✅主指标数值崩溃时填 0status✅四选一keep/discard/crash/checks_faileddescription✅一句话说明本次尝试了什么metrics➖次级指标字典如{ compile_µs: 4200 }force➖为引入全新次级指标而设为trueasi➖自由键值对诊断信息见下文完整参数 schema 见 LogParams 定义。四种状态的自动行为这是log_experiment最强大的地方——你不需要手动 git commit 或 git revert状态含义自动 git 动作keep主指标改善自动git add -A git commit提交信息中附带指标结果 JSONdiscard变差或持平自动回滚代码改动.auto/会话文件保留crash运行崩溃/超时自动回滚checks_failed基准通过但正确性检查失败自动回滚且在仪表盘中单独展示裁决规则很简单主指标为王——改善就keep否则discard。次级指标几乎不参与裁决除非出现灾难性劣化。此外还有一道硬闸门若上一次运行的 checks 失败keep会被直接拒绝强制记为checks_failed见 keep 闸门逻辑。置信度评分Confidence Score运行满 3 次后每次log_experiment会附带一个置信度分数最佳改进量与本次会话噪声地板MAD中位数绝对偏差的比值。置信度颜色含义≥ 2.0× 绿改进很可能是真实的1.0–2.0× 黄高于噪声但勉强建议重跑确认 1.0× 红在噪声范围内先别急着 keep该分数仅供参考advisory永远不会自动丢弃结果——最终决策权仍在代理手里。ASI 与回马枪让失败也有价值asiActionable Side Information参数是自由键值对用来记录什么能帮助下一次决策。尤其建议重度标注失败被 discard/crash 的代码改动会被回滚日志里的 description ASI 是唯一存活的记录。还有一个精巧机制asi.revisits_run当某个被丢弃的旧想法因为其前置条件已变化而值得重试时填入当初的 run 编号仪表盘会显示↻ Revisiting #7——正如这张图所展示的第 7 次尝试失败第 15 次重试同一想法并获胜。三工具串联一次完整实验循环把三个工具串起来就是 pi-autoresearch 的永动机init_experiment(name, metric_name, metric_unit, direction)— 配置会话跑基线run_experiment(command: bash .auto/measure.sh)— 自动计时 解析METRIC行log_experiment(commit, metric, status, description, asi)— keep 则自动提交否则自动回滚 读取结果与置信度 → 提出新假设 → 回到第 2 步直到被打断。技能文档 skills/autoresearch-create/SKILL.md 对这三个工具有最简洁的官方定义会话文件布局.auto/prompt.md、.auto/measure.sh、.auto/log.jsonl等也在其中说明。每行的运行记录由 extensions/pi-autoresearch/jsonl.ts 负责解析重启后会话可以只凭这些文件完整恢复。监控结果仪表盘与导出循环运行期间有三种方式观察进度常驻 Widget编辑器上方始终显示完整结果表commit、指标、状态、描述与置信度全屏仪表盘/autoresearch dashboard打开可滚动全屏覆盖层运行中的实验会显示实时计时器浏览器看板/autoresearch export打开实时刷新的网页版 dashboard并生成可分享的结果卡片循环结束后用/autoresearch finalize可以把所有 keep 的实验自动整理成可独立评审的分支用/autoresearch clear则彻底清空日志重新开始。新手避坑指南在专用分支上运行pi-autoresearch 会真实地编辑文件、创建和回滚提交并执行.auto/下的脚本。请把它当作可执行代码对待跑在干净的专用分支或 worktree 中见 README 安全章节控制成本自主循环会持续消耗 token务必用.auto/config.json的maxIterations给实验次数封顶口径一致性不要绕过run_experiment手动跑基准命令——计时、指标解析、checks 联动都会失效别浪费失败每次 discard/crash 都认真写 ASI未来回看.auto/log.jsonl时你会感谢当时的自己。总结pi-autoresearch 用三个极简工具构建了一套完整的自主优化基础设施工具一句话总结init_experiment开工令定指标、定方向、写配置头run_experiment测量台自动计时、捕获输出、解析 METRIClog_experiment裁决台记结果、自动提交或回滚、算置信度给 pi 一个指标让它跑起来Give pi a metric. Let it run.——这就是 pi-autoresearch 的全部哲学。【免费下载链接】pi-autoresearchAutonomous experiment loop extension for pi项目地址: https://gitcode.com/gh_mirrors/pi/pi-autoresearch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表