AI Researcher 的 CLI Agent 实践指南
Cursor、Codex、Claude Code 底层使用相同模型 — 能力差异来自 harness 设计。
[1] Anthropic, "Effective Harnesses for Long-Running Agents" — anthropic.com ↗
[2] OpenAI, "Harness Engineering" — openai.com ↗
CLI Agent 的一切工程化手段,都围绕一个核心:如何管理 context。
Feed sufficient context
用 Brainstorming 明确需求
用 Paper Agent 管理文献
用 Skills 注入领域知识
Skills · MCP · CLAUDE.md
Drive efficient decisions
自动化 Code Review
Hook 驱动的质量门禁
Pipeline 串联工作流
Hooks · Subagents · Loop
Keep the agent clear-headed
知识内化为文档 (CLAUDE.md)
及时压缩 (/compact)
重活外包给 Subagent
Memory · /compact · Subagent
Skills, Hooks, Sub-Agent, MCP — 都服务于同一目标:engineering the context.
[3] Anthropic, "Effective Context Engineering for AI Agents" — anthropic.com ↗
[4] Manus, "Context Engineering" — manus.im ↗
WORKFLOW
同时运行多个 Claude 实例,互不干扰
一个 Claude 写计划,另一个审计划
主 context 保持干净,重活外包
测试驱动 / CONTRACT.md 验收标准
DISCIPLINE
同类错误不再复现
每天 >1 次的操作 → 自定义 slash command
用中立 Prompt,防止 Agent 编造
让 Agent 自我整理,删除矛盾规则
[5] @bcherny, "10 Tips for Claude Code" — x.com/bcherny ↗
[6] @systematicls, "9 Coding Agent Principles" — x.com/systematicls ↗
CLI Agent 生态每周都在变 — 新 feature、新 pattern、新 workflow 层出不穷。
COMMUNITY VOICES
THE PROBLEM
新 feature 不断涌现
每个人的 workflow 都不一样
不知道从哪里开始
OUR APPROACH
不追单个 feature
围绕 Context 理解每个工具的角色
建立可复用的工作流
| 失败模式 | 问题 | 解决方案 |
|---|---|---|
| 厨房水槽 Session | 无关任务混入同一会话,context 污染 | 切换任务前 /clear |
| 反复纠正 | 失败尝试堆积,全是错误历史 | 纠正 2 次后 /clear,重新给干净 context |
| CLAUDE.md 过长 | 内容太多被忽略,规则互相矛盾 | 无情删减 + IF-ELSE 目录 + Skills |
| 信任验证差距 | 边界 case 未覆盖,Agent 悄悄走错路 | 提供可验证的完成标准 (CONTRACT.md) |
| 无限探索 | context 耗尽前仍在漫无目的探索 | 缩小范围 或 subagent 隔离探索 |
所有失败模式的根因都是同一个:context 管理失控
Skills、Hooks、Sub-agent、Loop — 不是凭空出现的功能,而是服务于 context 三个维度的工具。
INPUT
把足够的信息交给 Agent
OUTPUT
让 Agent 做高效决策和执行
MANAGEMENT
保持 Agent 头脑清醒
Markdown 文件(可含脚本、数据、模板),按需加载到 context,用完即释放。
WHAT IS A SKILL?
一段 Agent 可直接消费的结构化知识
定义了 何时触发、做什么、怎么做
本质:工作流的可重复化分发
ANTHROPIC OFFICIAL
Anthropic 内部有几百个活跃 Skills
覆盖从代码审查到运维手册的全流程
POPULAR SKILLS
Source: code.claude.com/docs/en/skills ↗ | HF Paper Skill: github.com/huggingface/skills ↗
Context 满了?整理成 Skill
当你发现反复在 session 开头粘贴同样的背景信息,
说明这些知识该固化为 Skill — 按需加载,不占常驻 context
重复的 Workflow → 一键 Skill
跑实验、写周报、做 slides、review 论文 — 只要做过两次以上的流程,
都值得写成 Skill,之后 /skill-name 一键复用,持续迭代优化
告别漫长 Prompt,维护 Skill 即可
不需要每次都写 500 字的 prompt 描述需求和约束,
Skill 内已编码了所有流程、踩坑点和质量标准 — 用时加载,用完释放
Tips: @trq212 ↗ | Source: code.claude.com/docs/en/skills ↗
Claude Code 消灭了写代码的重复劳动 — 但践行 Best Practice 这件事本身,又成了新的重复劳动。
WE KEEP FORGETTING TO...
INCONSISTENCY
有些 repo 执行了规范
有些没有
执行力取决于记忆力
THE IRONY
我们用 AI 消灭了代码的重复劳动
却在管理 AI 这件事上
制造了新的重复劳动
"Hooks are user-defined shell commands, HTTP endpoints, or LLM prompts that execute automatically at specific points in Claude Code's lifecycle."
— code.claude.com/docs/en/hooks
4 HANDLER TYPES
Shell 脚本 via stdin/stdout
POST 到 HTTP endpoint
单轮 LLM 判断
Spawn subagent 执行
KEY EVENTS (13+)
Hook = 把 Best Practice 从"记忆"变成"机制" — 在所有 repo 一致执行
Source: code.claude.com/docs/en/hooks ↗
几个我们日常在用的 Hook,覆盖安全护栏、质量门禁和实验管理
PreToolUse → git push 审查
推送前自动打开 diff,人工确认后再执行
PostToolUse → 自动格式化
编辑 .ts/.tsx 后自动 prettier + tsc 检查
Stop → console.log 审计
会话结束前扫描所有修改文件,阻止残留调试代码
Stop → Skill 沉淀提醒
检测到 10+ 文件编辑 → 提醒运行 /writing-skills
CASE: EXPERIMENT MANAGEMENT
Stop 检测到大量编辑 → 提醒把新知识沉淀为 Skill → 下次 session 自动可用
PostToolUse Skill 完成后自动推进 pipeline 阶段 → 提醒生成报告 / slides
PreCompact context 压缩前自动保存 pipeline 状态到 state.json
EXPERIMENT PIPELINE (HOOK-DRIVEN)
每个阶段由 hook 自动推进 — 你只需要关注当前实验
你想把论文知识输入到 repo,但读论文会污染你当前的 coding context。怎么办?
WITHOUT ISOLATION
WITH SUBAGENTS
PAPER READER
读论文 → 沉淀到 repo
独立 context 读取 PDF
提取方法论 + 关键公式
写入 docs/papers/
主 agent 只收到 summary
domain-expert agent + HF Paper Skill
BACKGROUND MONITOR
后台监测运行中的 job
/loop 定期访问 tmux
获取 GPU 使用率 + loss
异常时通知主 agent
正常时静默运行
background agent + loop + tmux
EXPERIMENT MANAGER
管理实验生命周期
创建 exp##x/ 目录结构
追踪实验状态 (state.json)
生成 summary + slides
归档完成的实验
exp-manager agent + pipeline hooks
Source: code.claude.com/docs/en/sub-agents ↗ | AReaL 最佳实践: zhuanlan.zhihu.com/p/2003269671630165191 ↗
Source: code.claude.com/docs/en/cli-reference ↗ (/loop)
人不擅长列计划,Agent 不擅长自我约束 — Superpowers 用一套完整 workflow 同时解决 context 的输入、输出和管理。
Brainstorming 产生丰富 context
不靠人写长 prompt
而是 Agent 逐个提问来澄清需求
自动生成完整的 spec 文档
Brainstorming → Spec
Sub-agent 驱动高效输出
细化任务切分 + 制定计划
交给 subagent 并行执行
双重 review 确保输出质量
Plan → Execute → Review
所有 context 落盘为文档
需求 → spec.md
计划 → plan.md
跨 session 完整保留,永不丢失
Spec + Plan + Git history
Source: github.com/obra/superpowers ↗
Prompt Engineering 的痛点:人往往说不清自己要什么。Superpowers 用结构化提问解决这个问题。
1. BRAINSTORMING
OUTPUT
docs/specs/YYYY-MM-DD-design.md
经 spec-reviewer 自动审查 + 用户确认
2. WRITING PLANS
OUTPUT
docs/plans/YYYY-MM-DD-plan.md
经 plan-reviewer 审查 + 用户确认
3. EXECUTE (Subagent-Driven)
4. REVIEW (双重审查)
5. VERIFY (证据优先)
无实际运行证据 → 不允许声称完成
6. FINISH (4 种路径)
worktree 自动清理
整个流程完全通用 — 不限于编程,任何需要 spec → plan → execute 的任务都适用
把前面所有实践融入一个 Claude Code plugin — 开箱即用的研究项目 harness
专有 Agent 喂 Context
Skill 驱动标准化输出
知识进 repo,不留聊天
Source: github.com/freemty/labmate ↗
AI 研究者用 Claude Code 跑实验时,反复遇到的 4 个痛点
CONTEXT LOSS
每次开 session 都要从头说
"上次跑到哪了?结论是什么?下一步做什么?"
实验越多,重复交代背景的时间越长
NO STRUCTURE
实验目录随手建,越来越乱
exp1/ test_v2/ final_final/
没有统一命名、没有标准结构,跨实验对比靠记忆
KNOWLEDGE EVAPORATES
实验结论只存在于聊天记录
论文笔记、调参心得、失败教训 —
session 结束就消失了,下次又踩同样的坑
MANUAL EVERYTHING
每个环节都要手动推进
建目录、跑实验、写总结、commit、生成 slides —
流程没有自动化,全靠人记着下一步是什么
Labmate 的答案:一条命令安装,获得完整的研究项目 harness — 7 agents + 7 skills + 5 hooks
github.com/freemty/labmate ↗ | First user: PostTrainBench — 迭代 auto post-training 的 agent
7 AGENTS
设计原则:4/7 只读,最小权限
7 SKILLS
完整实验周期:建 → 跑 → 分析 → 沉淀
5 HOOKS + INFRA
hook 只提醒不拦截,知识进 repo
用 /insights 分析历史对话 → 自动发现高频痛点 → 生成 Skill 建议
PROCESS
又一个 Meta Layer:
用 AI 分析你的 AI 使用模式 → 生成更好的 AI 工作流
EXAMPLE: TOP SKILL RECOMMENDATIONS
Workflow: @JamesAI — /insights → Skills pipeline ↗
项目的路由入口 — 精简、精确、可路由
DO 写进去
DON'T 不要写
"Steel. Steam. Infinite minds.
The next skyline is there, waiting for us to build it."
— Ivan Zhao (Notion), "Steam, Steel, and Infinite Minds"
1790 年,改良蒸汽机让煤矿挖出更多的煤、炼出更好的铁、造出更好的蒸汽机 — 飞轮第一次自锁转动。
我们即将进入一个 Agent 迭代 Agent 的时代,这像极了那个起点。
THE META LAYER
每当 AI workflow 能帮我们加速一件事,
我们就可以往上跳一层 —
思考如何在更 Meta 的层面
用 AI 加速 workflow 本身
CASE IN POINT
Labmate 的第一个用户是一个 Claude Agent,
正在加速一个 Language Model
Post-Training Agent 的工作效率
Agent 构建的 harness,
正在被用来加速下一个 Agent
Harness 让人和 Agent 都实现 scalable 的自我觉察 — 维护着让个体保持反思和明确目标的基础设施,而不只是执行任务
[1] Ivan Zhao, "Steam, Steel, and Infinite Minds" — notion.com/zh-cn/blog/steam-steel-and-infinite-minds-ai ↗
HARNESS / CONTEXT ENGINEERING
KEY PEOPLE & POSTS
CASE STUDY
SKILLS ECOSYSTEM
GITHUB REPOS
TOOLS & MISC
"We want humans to supervise the loops
from a leveraged point, not be in them."
— Ivan Zhao
Yuanbo Yang • 2026-03-16 • github.com/freemty/labmate