V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
mlhiter955
V2EX  ›  程序员

继上次分享 claude code 经验后,过了半年我的一些新的体验带来的一篇指南分享给大家

  •  
  •   mlhiter955 ·
    mlhiter · 4h 13m ago · 585 views

    原文在这里:logseq

    这篇文章是我同事在出差的时候问我能不能分享一些 AI 经验给客户,进而形成的一篇文章,内容可能有点乱,可以多看看 skill 部分,那里是我用过的所有 skill ,是最核心最能给大家提效的部分。

    大家也可以 follow 一下我github,最近也在做一些好玩的项目,希望和大家交流经验和感悟~

    1. 背景

    本文是一篇面向开发者的 AI 提效 Harness 教程,主要讲讲我自己是怎么把 Codex App 、模型、skills 、提示技巧、编辑器、终端和任务管理方式串起来用的。

    这里的 Harness 不是一个具体的软件,也不是一个神奇 Prompt 。

    你可以简单理解成:为了让 AI 更稳定地参与开发工作,我们提前搭好的一套工作框架。

    ps: 这篇文章不讲很玄学的 AI 理论,主要是偏开发者日常使用的教程。如果你平时已经在用 Codex 、Cursor 、Claude Code 、Warp 、Zed 这些工具,应该会比较容易理解。

    2. AI 提效 Harness 是什么?

    我这里说的 AI 提效 Harness ,主要包含下面这几部分:

    模型:比如 gpt-5.5 、gpt-5.4 、gpt-5.3-codex 这类稳定可用的模型。

    skills:比如 think 、hunt 、check 、design 、find-docs 、agent-browser 、git-commit 、pr-creator 这些固定工作流。

    提示技巧:不是神级 Prompt ,而是把目标、上下文、约束、验收标准写清楚。

    工具与环境:比如 Codex App 、Warp 、Zed 、浏览器 Agent 。

    如果用一句话来解释:

    Harness 就是把 AI 从一个聊天框,变成一个可以进入开发流程的工作系统。

    没有 Harness 的时候,你可能是这样用 AI 的:

      遇到问题 -> 问 AI -> 拿到回答 -> 自己试 -> 不行再问
    

    有 Harness 以后,流程更像这样:

      明确任务 -> 选择模型 -> 选择 skill -> 给出项目规则 -> 执行 -> 测试 -> 看 diff -> 总结沉淀
    

    看起来步骤变多了,但是实际会更稳。

    因为 AI 最容易出问题的地方,往往不是它不会写代码,而是它不知道边界在哪里。

    3. Harness 的组成部分

    3.1 模型层

    模型层主要解决一个问题:什么任务用什么模型。

    不建议每次都临时纠结。可以直接给自己定一个默认规则。我一般是用 gpt ,claude 也行,不过 codex 太好用了,所以我选 openai 系的模型,直接用最好的就行,比如 gpt-5.5 的超高 think 。

    模型这方面最好是公司去做支持,做到每个人畅用,退而求其次的话就是去闲鱼买账号,保密性公司就用自己能力范围内最好的模型即可(不过这种方式我只能说跟闭源顶级模型没法比,效率天地之差)。

    3.2 skills 层

    Skill 也不是必须使用的,当你觉得任务对于 codex 很困难的时候或者说对 codex 没信心或者想要更好的效果时再使用。

    skills 层主要解决一个问题:怎么把重复工作流固定下来。

    我之前在 Skills 里整理过一批自己在用的 skill ,这里按使用场景完整列一下。

    3.2.1 编码类

    Waza:tw93 出品,我很喜欢的一套 skill 。

    think:构建之前的验证过程,会做调研、方案生成、方案攻击、交付验证。
    
    design:生成界面设计,可以引用参考著名网站,效果很好。
    
    check:PR 合并前的专业检查,适合交付前审一遍。
    
    hunt:修复 BUG 专用,核心是先找根因,再动手改。
    

    shadcn:如果项目里用了 shadcn/ui ,这个基本是必备的。

    vercel-composition-patterns:React 组件和 API 的常见可复用模式。

    vercel-react-best-practices:React 性能和重构指南。

    create-readme:专门写 README 的 skill ,比较简单,但是够用。

    3.2.2 设计类

    impeccable:我现在主要用的设计类 skill 。

    impeccable:总控 skill ,一般先 teach ,再多次 craft ,必要时 extract ,然后继续 craft 。
    
    polish:交付之前的最后完善,用来对齐设计系统和精调页面。
    
    critique:设计总监视角的 UX 评审,适合找下一步应该修什么。
    
    live:适合细节级别的页面选项,不适合整体大改。
    
    audit:上线前或重构前做代码级检查,包含可访问性、性能、主题、响应式等。
    
    distill:删繁就简。
    
    clarify:优化文案。
    
    optimize:优化 UI 性能。
    
    onboard:处理新用户进入相关的产品交互。
    
    harden:补边界情况和压力测试。
    
    animate:给具体功能增加有目的的动画。
    
    colorize:有策略地修改整体配色。
    
    bolder / quieter / delight:分别用于增强、减弱、增加惊喜感。
    
    adapt / typeset / layout:分别处理多端适配、文字排版、布局改进。
    
    overdrive:想做超出常规边界的 UI 时使用。
    
    shape:开工之前做功能 UI 访谈。
    

    logo generator:生成 logo 的 skill 。

    3.2.3 浏览器和文档处理类

    agent-browser:使用 agent-browser 这个 CLI 操作浏览器,返回数据精简,适合 AI Agent 。

    不过我现在一般使用 codex 内置的 browser use 和 computer use ,很好用。

    docx:处理 docx 。

    pdf:处理 PDF 。

    find-docs:Context7 查官方文档的 skill 。

    3.2.4 提交和协作类

    git-commit:根据 diff 生成规范提交信息。

    pr-creator:提 PR 用的,生成规范的标题和描述。

    3.2.5 写作和研究类

    Waza 里的 read 、learn 、write 也很常用。

    read:获取网页或者 PDF ,内置了一些常见网站的处理脚本和参考。
    
    learn:新领域深挖、研究型文章写作、已有资料的系统化产出,时间较长但是效果很好。
    
    write:编写、改写、润色文案,同时减轻 AI 味。
    

    kami:固定风格和模板的 PPT / PDF 生成 skill ,可以生成简历、一页纸、长文档、信件、作品集、PPT 、个股研报、更新日志。

    khazix skills:数字生命卡兹克的 skills 集合,内容质量很高。

    neat-freak:**每次任务跑完后**跟文档、CLAUDE.md / AGENTS.md 、Agent 记忆三者对齐,最好手动触发。
    
    hv-analysis:横纵分析法,适合研究产品、公司、概念、人物,会生成一个深度分析报告。
    
    khazix-writer:写卡兹克风格的公众号文章。
    

    3.2.6 不适合我,但是值得知道

    taste:比 Waza design 和 impeccable 更激进,适合生成一些落地页。

    oh-my-codex:一套固执己见的 Codex 增强套装,适合新手,但是侵入性比较强。

    gstank:YC 总裁的一整套 skill 体系,适合 CEO 等新人人群,一键使用,但是不太适合灵活开发者。

    andrej-karpathy-skills:简洁优先的一套 CLAUDE.md 思路,用来解决复杂度过高的问题,可以用 skill 模式参考,不建议直接装成全局规则。

    注意:skill 不是越多越好。开发者的 skills 宗旨应该是简单、功能聚焦、可用性强、不花活、快速。

    我个人不建议一上来安装几十个 skill 。

    因为功能重叠以后,AI 可能也不知道该用哪个,你自己也记不住(我列的这里面主要设计方面的 skill 有几个冲突的,我一般是用 waza 的 design )。

    先保留 6-10 个最常用的就够了。

    3.3 项目规则层

    项目规则层主要解决一个问题:AI 进入项目以后,应该遵守什么规则。

    这里我之前写得不完整,规则其实至少要分两层。

    全局规则:放所有项目都适用的个人偏好和安全边界。

    项目规则:放当前仓库的目录结构、命令、测试方式、业务边界。

    以我自己的机器为例,全局规则在 ~/.codex/AGENTS.md

    这个文件里适合放这类规则:

    不要执行数据库写操作,除非我明确要求。

    生产部署默认构建并推送 linux/amd64 镜像。

    查库、框架、SDK 、CLI 文档时默认使用 Context7 。

    测试阶段需要推远程镜像时,默认用我已经配置好权限的镜像仓库。

    这些规则和具体项目无关,但是对所有项目都应该生效,所以适合放全局。

    项目级规则就不要写这些机器级偏好,而是写当前仓库的真实信息。

    比如项目级 AGENTS.md 可以这样写:

      # 项目规则
      
      ## 项目说明
      - 这是一个 xxx 项目
      - 前端目录在 xxx
      - 后端目录在 xxx
      
      ## 常用命令
      - 安装依赖:pnpm install
      - 启动开发:pnpm dev
      - 类型检查:pnpm typecheck
      - 单元测试:pnpm test
      - lint:pnpm lint
      
      ## 修改约束
      - 不要修改无关文件
      - 不要重构本次任务之外的代码
      - 不要覆盖用户已有改动
      - 不要执行数据库写操作,除非用户明确要求
      
      ## 验收标准
      - 修改完成后说明改了什么
      - 尽量运行相关测试
      - 如果测试失败,需要说明失败原因
      - UI 改动需要检查桌面和移动端效果
    

    这个文件不需要写得很长。

    写得太长反而容易让重点被稀释。

    一个比较好用的原则是:

    全局规则写「我永远不希望 AI 做什么」。

    项目规则写「这个仓库应该怎么做」。

    最开始建议只写三类内容:

    常用命令。

    禁止操作。

    交付标准。

    后面你发现自己反复提醒 AI 的事情,再慢慢补进去。

    我项目下一般会放哪些规则文件?

    使用 neat-freak 这个 skill 每次任务完成后对这些文件进行更新

    DESIGN.md:写设计风格

    ROADMAP.md:路线图,用来给 Codex 划分优先级

    AGENT.md:Codex 规则文件,写项目介绍、基本规则( Not do )、运行命令等等,写啥 Codex 自己知道

    docs 文件夹

    architecture.md:架构文档
    
    ia.md:页面结构文档
    
    product.md:产品文档
    
    references.md:参考文档,如果我这个项目有别的现有参考项目,会维护在这里
    
    runbook.md:运行命令的详细介绍
    

    3.4 工具与环境层

    工具层主要解决一个问题:每个工具负责什么。

    我自己的使用方式大概是这样:

    Codex App (核心常用,功能很多,文章末尾有教程学学我这里不写了,其他的都是偶尔打开):负责长任务、多文件修改、跑测试、总结结果。 Replaced by Image Uploader

    Warp:偶尔跑跑命令,用来做主工作台也可以,适合喜欢终端的人,也能做到类似 codex app 这种侧边栏的效果(我之前就用 warp ,后来切换到 codex app ) Replaced by Image Uploader

    Zed:负责最后看 diff 、精修文字、手动改一些细节。一般是很严格正式的项目我会仔细看一下,大部分我不会细看。 Replaced by Image Uploader

    agent-browser:负责真实打开页面、点击、截图、做前端验证。

    Git:负责版本边界、提交、回滚和 PR 。

    环境的话就稍微说一下,关于我怎么让 codex 使用环境。

    我一般的话是开发使用本地环境,然后在本地放一个内网测试环境的 kc ,然后让 codex 直接操作 kc 往测试环境上部署。这样验收是非常方便的,就不需要你写测试环境的命令。
    
    我会告诉 codex 我们当前项目在哪个 ns 下,然后 codex 自己是能读懂各种 k8s 相关的东西,测试环境崩了也没事,一般不会崩,崩了基本可以回退,如果崩了不可以回退,codex 误操作的概率不大(除非你指定了一些危险操作),崩了说明环境有问题,可以反促进去对测试环境的维护和代码鲁棒性的提升。
    

    3.5 怎么管理自己的任务?

    用 Codex 用多了之后,你会发现需要同时推进特别多的项目,包括需求和 bug 。

    有一些管理的技巧:

    使用你最常用的工具来管理你的所有任务,我是使用我最常用的笔记软件 logseq 来管理所有的任务,我会把所有任务都标记成 Now 状态,然后 now 状态会一直挂在我打开笔记的第一个屏幕。然后你就可以慢慢处理。 Replaced by Image Uploader

    Codex App 有任务完成的小蓝标,也很方便可以让你看到任务完成的标志。

    3.6 关于提示技巧

    没太多技巧,能把需求讲清楚尽量讲清楚。这里有个核心技巧就是,在讲完需求之后让 AI 复述一下需求。这样就能够判断你俩对没对齐。

    再就是尽量显式指定 skill 去让 codex 执行,skill 对效率的提升是巨大的。

    4. 怎么搭建自己的 Harness ?

    4.1 第一步:先写一个最小规则文件

    不要一开始就写很复杂。

    先写全局规则,再写项目规则。

    全局规则写在 ~/.codex/AGENTS.md 这类位置,用来放所有项目都通用的规则。

    项目规则写在当前仓库里,用来放当前项目的命令和约束。

    全局规则建议只包含:

    安全边界。

    默认偏好。

    通用工具使用方式。

    项目规则建议只包含:

    项目说明。

    常用命令。

    不允许做的事情。

    验收标准。

    这个文件的目标不是写得漂亮,而是让 AI 少犯重复错误。

    4.2 第三步:精简你的 skills

    先不要追求全。

    先保留你真正会用的。

    比如:

    设计就用 design 。

    修 bug 用 hunt 。

    做方案用 think 。

    交付前用 check 。

    查文档用 find-docs 。

    测页面用 agent-browser 。

    提交用 git-commit 。

    提 PR 用 pr-creator 。

    等你发现某类工作经常重复,再考虑新增 skill 。

    再就是 skill 的话尽量不要靠 codex 自己去决定使用什么,而是自己明确指定,因为很多情况下 codex 不会知道调用什么 skill ,我们指定会得到更好的结果。

    4.3 第五步:每周复盘一次

    Harness 不是一次写完的。

    你可以每周看一下:

    哪些话你反复对 AI 说。

    哪些任务 AI 经常跑偏。

    哪些测试 AI 经常漏掉。

    哪些文件 AI 经常误改。

    然后把这些东西补到 AGENTS.md 或者对应 skill 里。

    这样你的 Harness 会越来越贴合自己的工作方式。

    5. 推荐阅读

    怎么使用 Codex App 看这个视频:

    {{video( https://www.bilibili.com/video/BV1dhdSB6E9E?share_source=copy_web)}}

    如果你想继续看一些和 Agent 、Harness 、上下文工程有关的资料,可以先看下面这些资料。

    想学习 skill 的话就直接看上面那些 skill 是咋写的即可。

    Anthropic:Building effective agents:这篇文章把 workflow 和 agent 区分得很清楚,适合理解为什么不要一上来就追求全自动。

    Anthropic:Claude Code best practices:Claude Code 官方实践,里面很多内容和本文说的项目规则、任务拆分、验证很接近。

    OpenAI:A practical guide to building agents:OpenAI 的 Agent 实践指南,偏产品和系统设计视角。

    OpenAI:Codex AGENTS.md 指南:讲 Codex 怎么使用 AGENTS.md ,可以直接参考它的结构。

    OpenAI:Codex prompting guide:适合看 Codex 任务怎么写得更清楚。

    HumanLayer:12-Factor Agents:非常有名的一组 Agent 工程原则,适合理解为什么上下文、状态、人工介入和可控流程很重要。

    Cursor Rules:如果你使用 Cursor ,可以参考它的 rules 体系来补自己的工具规则层。

    Aider:Linting and testing:Aider 对 lint/test 的支持很适合说明为什么验证应该成为 Harness 的一部分。

    Andrej Karpathy:Software Is Changing Again:这不是纯教程,但适合理解 AI 时代软件开发形态的变化。

    6. 总结

    总之,面向开发者的 AI 提效,不应该只关注哪个模型最强,也不应该只收藏各种 Prompt 。

    更重要的是搭一套自己的 Harness:

    固定模型路由。

    写清项目规则。

    精简 skills 。

    明确工具分工。

    把验证方式写清楚。

    持续复盘和沉淀。

    只要这套东西跑起来,AI 就不再只是一个问答工具,而会慢慢变成开发流程的一部分。

    大功告成。

    4 replies    2026-05-10 18:21:27 +08:00
    shakespark
        1
    shakespark  
       2h 38m ago
    感谢分享
    zisen
        2
    zisen  
       1h 40m ago
    感谢楼主分享,我发现针对不同的工作类型,使用的 skills 也会差别非常大,所以我觉得尽量不要一口气导入很多 skills 或者装那种懒人包之类的插件,而是根据自己的工作场景来导入然后调优,我的 skills 大部分是自己写的,也会分享给同事,但是放到互联网上作用就不大了
    teaguexiao
        3
    teaguexiao  
       1h 19m ago
    全局规则写「不希望 AI 做的事」、项目规则写「仓库的边界和命令」,这个拆法特别实用。亲测 AGENTS.md 里光一条「不要修改本次任务以外的文件」就能省掉 80% 的 review 时间。
    mlhiter955
        4
    mlhiter955  
    OP
       59 mins ago
    @zisen 是这样的,我这里列举的所有 skill 也不是都安装的,大部分是我接触感觉有价值的。平常常用的就那么几个哈哈。我最常用就是新需求会先用 think 来分析/bug 就用 hunt ,然后执行,最后 neat-freak 来同步一下记忆和文档,然后 git-commit 提交一下代码。设计的话就用 design 或者 impeccable ,这俩比较看我心情,前者简单些,后者复杂些。我自己也写过一些 skill ,也是都是些偏个人和内部的工作流,不太适合分享。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2876 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 11:21 · PVG 19:21 · LAX 04:21 · JFK 07:21
    ♥ Do have faith in what you're doing.