edit | blame | history | raw

excalidraw-plugin: parsed
tags: [excalidraw]

---
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== You can decompress Drawing data with the command palette: 'Decompress current Excalidraw file'. For more info check in plugin settings under 'Saving'

command是啥

✅ 简单直接回答你的问题:

在图片里的 AGENTS.md 规则中,**“Command” 指的就是 AI Coding Agent(Codex CLI)在终端里执行的 shell 命令**。

它不是你手动敲的命令,而是 AI 自己决定要执行的命令,用来感知项目、读取代码、构建、测试、git 操作等。


在 Vibe Coding(AI 辅助编码)场景里,Command 具体是什么?

Codex(以及 Cursor、Aider、Windsurf、Hermes 等 agent)的工作模式是:

AI 不是直接改代码,而是先通过执行各种终端命令来“看”你的项目,然后再决定怎么修改。

所以 Command = AI 主动调用的 shell 指令

常见 Command 分类举例(以你正在开发的 Apptag macOS App 为例):

类型 典型 Command 示例 输出特点 是否需要 byte cap? 说明
探索项目结构 find . -name "*.swift", ls -la Sources/, tree 可能非常大 强烈需要 大项目里文件成百上千
读取代码 cat Sources/Apptag/AppDelegate.swift, cat Package.swift 文件越大输出越大 需要(除非很确定文件很小) 这是最常见的触发 token 消耗的操作
Git 操作 git log --oneline, git diff, git show HEAD 历史越多越大 需要 git log 不加限制很容易几万行
构建 / 编译 swift build, xcodebuild -scheme Apptag build, swift package resolve 日志经常很 verbose 需要 构建日志经常有几千行
依赖 / 环境检查 swift package show-dependencies, which swift, xcodebuild -list 中等大小 建议 cap 保险起见
测试 / 运行 swift test, xcodebuild test 输出可能很大 需要 测试失败日志特别长
安全小命令 pwd, git status, echo "test", ls(小目录) 输出很小 不需要 可以直接执行

为什么这条规则这么重要?(图片里强调的点)

图片里的核心规则是:

Any command with unknown or potentially large output must be byte-capped.

意思是:**凡是输出未知或可能很大的命令,必须先做字节截断**。

默认写法:
bash COMMAND 2>&1 | head -c 4000

关键点解析:

  1. 2>&1:把错误输出(stderr)也一起捕获,不然错误信息可能会漏掉或单独爆炸。
  2. head -c 4000:按**字节**截断前 4000 字节(约 4KB),而不是按行数。
  • 为什么用字节而不是行?因为一行可能有几千个字符(比如 minified 的 JS、长日志行),按行截断不靠谱。
  1. 不是简单限制行数,而是给“未知命令”做**默认 byte cap**,写进 AGENTS.md 让 AI 自动遵守。

这正是标题说的「只靠 AGENTS.md 一条规则就能省 40%-50% token」的原因——很多时候 AI 其实不需要看完整输出,前面一小部分就已经够它判断了。


实际使用建议(给你当前 Codex + Apptag 项目)

推荐做法:

  1. 在你 Apptag 项目根目录创建一个 AGENTS.md 文件(如果还没有的话)。
  2. 把图片里的规则放进去,并可以适当调大一点(比如 60008000),因为你做 macOS App,有时候想多看一点构建日志或 Swift 文件内容。
  3. 可以再补充一些针对 Swift/macOS 的规则,比如:
  • 优先使用 swift build / xcodebuild 而不是直接操作 .xcodeproj
  • 修改代码前先 git statusgit diff
  • 大文件读取必须加 head -c

示例(你可以直接复制使用):

## Command Output

Protect context usage. **Any command with unknown or potentially large output must be byte-capped.**

Default pattern:

COMMAND 2>&1 | head -c 6000
```

Project Specific Rules (Apptag - macOS Swift App)

  • 这是 macOS App 项目,主要使用 Swift + SwiftUI / AppKit
  • 构建命令优先使用 swift buildxcodebuild
  • 查看 Swift 文件时,如果文件较大,必须使用 byte cap
  • 提交前必须检查 git statusgit diff
    ```

总结:

  • Command = AI 在终端里自己执行的 shell 命令(不是你手动敲的)。
  • 这条规则的核心就是**防止 AI 把大输出全塞进 context**,从而大幅节省 token。
  • 把这个规则写进 AGENTS.md 后,Codex 就会**自动**给危险命令加 | head -c xxxx

需要我帮你写一个**完整版、适合你 Apptag 项目的 AGENTS.md**(包含 byte cap + Swift/macOS 专用规则 + git 工作流规则)吗?可以直接给你一个优化后的版本。

这个例子要照抄吗

这个例子要照抄吗

例子要照抄吗

Excalidraw Data

Text Elements

这里说的命令是啥? ^MVIaYBfC

Element Links

rIEDYU1Q: [[DS/AI-vibe-coding/Agent.md/Drawing 26.0525.excalidraw.md#command是啥]]

Embedded Files

576efc5c49a904d7fda09f7d439cd31d3e879fdd: [[Pasted Image 20260525061319_361.png]]

%%

Drawing

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

%%