如果大家觉得有帮助,欢迎点个star支持一下。
最近在疯狂更新,帖子不一定来得及更新,以 Github 为准
Motivation
这个 project 的初衷,源于我读到的 Anthropic 的 skills 设计,对这种即插即用、可组合的范式产生了强烈兴趣,觉得在抽象层面非常优雅。由此引出了一个问题:能否像搭积木一样,通过编排 skills 来完成科研流程(好吧,我承认其实是懒癌犯了,想走捷径了,想把 codex 当成拉磨的驴 Agent 来用)?进一步来说,能否用 skills 的组合与调度,替代一部分原本依赖重型编码、耗时执行的复杂研究任务?在这一想法的驱动下,随着 skills 体系逐渐成形、效果开始显现,项目便沿着这个方向持续推进,逐步系统化地构建和打磨这套以 skills 为核心的 Pipeline。其核心理念是:将研究流程显式建模为可组合的语义单元(skills with contracts),使研究任务能够像软件工程一样实现可编排、可复用、可演化、可审计。
System Design
- skills 层面
一开始我先入为主地把 skills 理解成“函数”,但后来发现它更接近于一个自包含的执行单元,skill 描述的不是“怎么调用”,而是“在什么条件下、以什么方式完成一件事,并如何判断它是否完成”,这里推荐看 anthropic 的官方Github 或者 doc。
- What: 输入是什么,输出是什么(显式依赖)
- How: 怎么做,有哪些边界情况(notes + procedures)
- When done: 完成标准是什么(acceptance criteria)
- What NOT to do: 边界约束(guardrails,比如 NO PROSE)
-
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的风险,需要自己校正。 -
具体实现
配合 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
- GitHub - anthropics/skills: Public repository for Agent Skills
- https://github.com/hellowind777/helloagents/tree/main/Codex/Skills
- GitHub - renocrypt/latex-arxiv-SKILL: A .codex SKILL for issue-driven ML/AI arXiv review papers: scaffold LaTeX + verify BibTeX citations end-to-end.
- Agent Skills - Claude API Docs
Todo
- 加入多 cli 协作,multi-agent design (在合适的环节接入 API,替代或者分担 codex 执行过程中的压力)
- 持续打磨写作技巧,提升写作上下限
- 完善剩余的Pipeline,example 新增例子
- 精简Pipeline中冗余的中间内容,遵循优雅的奥卡姆剃刀原则,如无必要,勿增实体。