[v0.1] 我把科研流程拆成了一堆 Skills,让codex/cc像打工人一样拉磨

如果大家觉得有帮助,欢迎点个star支持一下。

最近在疯狂更新,帖子不一定来得及更新,以 Github 为准

Motivation

这个 project 的初衷,源于我读到的 Anthropic 的 skills 设计,对这种即插即用、可组合的范式产生了强烈兴趣,觉得在抽象层面非常优雅。由此引出了一个问题:能否像搭积木一样,通过编排 skills 来完成科研流程(好吧,我承认其实是懒癌犯了,想走捷径了,想把 codex 当成拉磨的驴 Agent 来用)?进一步来说,能否用 skills 的组合与调度,替代一部分原本依赖重型编码、耗时执行的复杂研究任务?在这一想法的驱动下,随着 skills 体系逐渐成形、效果开始显现,项目便沿着这个方向持续推进,逐步系统化地构建和打磨这套以 skills 为核心的 Pipeline。其核心理念是:将研究流程显式建模为可组合的语义单元(skills with contracts),使研究任务能够像软件工程一样实现可编排、可复用、可演化、可审计。

System Design

  1. skills 层面
    一开始我先入为主地把 skills 理解成“函数”,但后来发现它更接近于一个自包含的执行单元,skill 描述的不是“怎么调用”,而是“在什么条件下、以什么方式完成一件事,并如何判断它是否完成”,这里推荐看 anthropic 的官方Github 或者 doc。
  • What: 输入是什么,输出是什么(显式依赖)
  • How: 怎么做,有哪些边界情况(notes + procedures)
  • When done: 完成标准是什么(acceptance criteria)
  • What NOT to do: 边界约束(guardrails,比如 NO PROSE)
  1. pipeline 层面
    在设计上对 skills 做了解耦 (不想重复造轮子了,另外改原子化组成的 Pipeline 只需增删改skills):不再为每一个研究任务编写一条固定流程,而是将研究过程拆解为一组原子化的 skills(如 retrieval、taxonomy、outline、evidence、writing、validation),再通过 UNITS.csv 显式描述它们的执行顺序与依赖关系。这样一来,不同类型的任务(survey、systematic review、tutorial)可以复用同一套 skills,仅通过不同的编排方式完成,流程本身不再与具体任务强绑定。
    整个流程被拆解成了 C0-C5 阶段,每一阶段有阶段性的产物(说多了都是泪,end2end 固然优雅,还是要保留中间产物便于回滚),会有隐式或者显示的规则/代码确保产物没有特别大的遗漏,在关键性节点引入确定性质量门(如 placeholder leakage、citation health、evidence binding 检查)用来兜底。
    同时这套Pipeline 也可以高度个性化,个人比较倾向于设计 Pipeline 的时候让模型自己头脑风暴考虑怎么组合 skills,然后作为参考设计完整的 Pipeline,当然存在garbage in garbage out的风险,需要自己校正。

  2. 具体实现
    配合 claude code和 codex 开启了 self-loop 的开发(工具改变生活),抽象出一堆 skills,约束 Pipeline 渐进式执行

Usage

打开terminal 开始指挥手下,启动 codex --sandbox workspace-write --ask-for-approval never (记得要把 sandbox 里面的 network 打开)

[sandbox_workspace_write]
network_access = true

补充修订:/experimental 可以打开这两个feature

[features]
unified_exec = true
shell_snapshot = true

模拟 example

你:给我写一个 agent 的 latex-survey
↓ [C0-C1] 检索 800+ 篇论文 → 去重到 150+ 核心集 arxiv 会补全 meta 信息
↓ [C2] 构建 taxonomy + outline + mapping(NO PROSE)→ 停在 C2 等审批

你:C2 同意,继续

↓ [C3-C4] 构建证据底座(paper notes + evidence packs + citations)(NO PROSE)
↓ [C5] 基于 evidence 开始写作 → 质量门检查

【如果 PASS】→ output/DRAFT.md + latex/main.pdf ✓
【如果 FAIL】→ output/QUALITY_GATE.md 告诉你改哪个中间产物

你(如果 FAIL):按报告修复对应文件(如 outline/evidence_drafts.jsonl),然后说"继续"
→ 从失败 unit 恢复执行,不需要全部重跑

示例产物(v0.1,包含完整中间产物)全在 example 里面,可以看最新时间戳,也会保留之前觉得写的还行的

这是一个“完整跑通”的示例 workspace:从找论文 → 出大纲 → 整理证据 → 写草稿 → 编译 PDF,所有中间产物都在里面,方便你对照理解整条链路。

  • 示例路径:example/e2e-agent-survey-latex-verify-<时间戳>/(对应流程:pipelines/arxiv-survey-latex.pipeline.md
  • 过程中会在 C2(大纲) 停下来等你确认;确认后才会写正文
  • 默认配置(A150++):核心论文 300 篇、每个小节映射 28 篇、证据模式用 abstract(摘要级);目标是全局引用足够密(全局 unique citations 默认收敛到推荐值)
  • 一般建议:draft_profile: survey(默认交付);想更严格再用 draft_profile: deep

Limitation

写作部分 self-loop了 N 次,迭代思路是选取一些写的比较好的 survey,让cc 或者 codex学习下写作风格和结构,然后了解workspace中的实际产物分析和优秀 survey 的差距,把暴露出的问题和改进意见写到某个 md 里面,再根据改进意见头脑风暴,反向调整重构 skills 和 Pipeline

写作还是门艺术活,高度依赖审美和经验,现在这套流程离从 0 到 1 写出顶会级别的描述还是有不少距离的,另一方面,写作技巧可能很难被精确的量化,目前更多是通过将其转化为“受约束的优化问题”,给出正反例,给出一些引导性句子,杜绝一些模型的写作怪癖/特殊表达,这样的方式虽然提升了下限,也不可避免会落入俗套,模板化。

Future work

当然最终目标还是希望同时提高上下限,fighting,也希望能够加入一些可解释性。

如果大家有好的建议,欢迎多多提出;趁着现在热情还没降下去,这个 repo 会持续更新,也欢迎点个star支持一下。

Reference

  1. GitHub - anthropics/skills: Public repository for Agent Skills
  2. https://github.com/hellowind777/helloagents/tree/main/Codex/Skills
  3. GitHub - renocrypt/latex-arxiv-SKILL: A .codex SKILL for issue-driven ML/AI arXiv review papers: scaffold LaTeX + verify BibTeX citations end-to-end.
  4. Agent Skills - Claude API Docs

Todo

  1. 加入多 cli 协作,multi-agent design (在合适的环节接入 API,替代或者分担 codex 执行过程中的压力)
  2. 持续打磨写作技巧,提升写作上下限
  3. 完善剩余的Pipeline,example 新增例子
  4. 精简Pipeline中冗余的中间内容,遵循优雅的奥卡姆剃刀原则,如无必要,勿增实体。
300 个赞

这个流程设计看起来很棒啊 如果有使用效果展示什么的就更好了哈哈哈哈

6 个赞

mark学习一下

1 个赞

收藏了,回头好好钻研

mark 感谢分享!

完全想不到skill居然可以这样玩

膜拜佬…认真学习ing

Github repo 里面 example/ 有中间态的产物

1 个赞

加入书签,啥时候看不知道,顶佬。

太强了,大佬

2 个赞

学习一下。我也在做,可以引入多cli协作,我基本上是在ccw基础上做的,skill+command形式+multiagent形式

1 个赞

多 cli 我其实本来是想加进去的,但是我不太清楚如何科学评测,怕加进去熵增,所以有些 judge我还是采用手动 cc/cx 做的,我觉得可以引入 openrouter 或者公益站的一些 api 充当 llm as a judge

1 个赞

多 cli 环节 基本在头脑风暴环节,以及实验过程引入,第一个主要靠人判断,第二个是产物约束。单靠cc很难独立完成实验工作

1 个赞

mark 了,加入 todo list
另外我发现 cc 很喜欢走捷径,cx 很喜欢思考

1 个赞

逮捕大帅哥

1 个赞

急需来点锐评

1 个赞

:eyes:太牛了

1 个赞

不是很懂,但感觉好厉害!

1 个赞

立刻学习:flexed_biceps:

1 个赞

收藏 膜拜学习

1 个赞

收藏,期待越来越好~

1 个赞