简介:本教程系统讲解终端AI编程助手的核心能力,包括自定义Command、Subagent子代理、Skills技能与程序化工具调用的底层原理与落地方法,并结合API文档生成、代码评审、批量处理等真实开发场景,演示如何将这些能力接入日常工作流,帮助开发者与技术负责人建立完整的配置、验证与排障体系,切实提升代码质量与开发效率。
近期 AI Coding 领域出现了不少值得关注的技术理念,例如子代理、技能、程序化工具调用等,它们率先由某主流终端 AI 编程助手提出并落地,随后被众多同类产品借鉴,包括图形化 AI 编辑器与各类轻量级 CLI 编码工具。这些能力并非某个产品的专属特性,而是具有普适性的 Agent 设计范式,对任何 AI Agent 类产品的开发都有参考价值。
本教程要帮助读者完成三件事:第一,理解 Command、Subagent、Skills、PTC 这些概念背后的技术原理,做到做技术决策时有据可依;第二,掌握自定义扩展的具体方法,包括编写规范、配置要点与目录组织;第三,把这些能力真正接入日常开发工作流,覆盖交互式开发、脚本批处理与二次开发三种形态。
本教程适合以下读者:
适用业务场景包括:存量代码的批量重构与文档补齐、代码评审自动化、团队编码规范的沉淀与执行、研发流水线中的智能卡点等。
在动手之前,先厘清几个概念的关系,否则很容易用错场景。
主流终端 AI 编程助手通常提供三种形态,各有分工:
选择依据很简单:人在回路用 TUI,机器在回路用 Headless,平台化建设用 SDK。
Command 本质上就是把一段预置的提示词快捷发送到对话中,省去重复输入。它的载体非常朴素:一个存放在指定位置的 Markdown 文件,通过文件头部的配置区声明名称、描述等属性。某图形化 AI 编辑器中的自定义 Command 与此概念完全一致,区别仅在于交互界面形态。
子代理由主对话派生,拥有独立上下文,执行完特定任务后仅返回结论。价值在于两点:一是上下文隔离,专项任务不会污染主对话的宝贵上下文窗口;二是可并行,多个互不依赖的子任务可以同时执行。
技能是把领域知识、流程规范、输出模板沉淀为文件,模型在需要时按需加载。它解决的是“团队经验无法复用”的问题,例如数据库变更流程、日志规范,写一次即可被所有成员的会话复用。
传统 Agent 循环中,每调用一次工具都要模型决策一轮,任务链条越长,往返次数越多,不仅消耗大量令牌,结果还带随机性。程序化工具调用的思路是:把一串确定性的工具调用与数据流转声明在一段受控程序中,一次性编排执行,从而降低开销、提升稳定性。是否启用它的判断标准是:调用链条是否确定。确定的编排类任务适合 PTC,需要模型临场判断的探索类任务仍走传统循环。
先在交互式终端进入助手,确认模型连通正常;再尝试一次非交互调用,确认脚本能拿到退出码与输出。这一步的作用是排除环境问题,避免后续把配置错误误判为能力问题。
# 示意伪代码,具体参数以所用工具文档为准<assistant-cli> "输出 hello 确认可用"<assistant-cli> run --headless --task "统计仓库中 TODO 数量"
按照所用工具约定的命令目录(通常在项目级或用户级配置目录下)新建 Markdown 文件,文件名即命令名,头部配置区声明属性:
---name: api-documentdescription: 生成并维护API文档,覆盖接口说明、参数表、请求响应示例与错误码。当需要补充或更新接口文档时调用。---请阅读接口处理代码,按统一模板输出文档,包含:路径、方法、参数说明、请求与响应示例、错误码。输出保存到 docs/api/ 目录,并保持与既有文档一致的风格。
注意两点:description 不是给人看的备注,而是模型判断“何时匹配该命令”的依据,务必写清触发场景与能力边界;提示词正文要给出输出模板和保存位置,否则输出风格不可控。
以代码评审为例,定义一个评审子代理:
# 示意结构,字段以所用工具文档为准name: code-reviewerdescription: 对指定代码变更执行评审,输出问题清单与改进建议instructions: 只关注正确性、安全性与可维护性;不修改代码,仅输出报告tools: [读取代码, 检索代码]
配置后,在主对话中说“让评审子代理检查本次变更”即可派发任务。要点是给子代理明确的完成判据(输出什么、输出到哪里),防止其在有限范围内反复打转。
把团队高频规范写成技能文件,例如“接口错误码规范”“数据库变更检查清单”。技能文件同样建议存放在约定的配置目录并纳入版本管理。加载遵循按需原则:描述写得准,模型才会在合适的时机取用。
对于“读一批文件、执行静态检查、汇总成报告”这类链路固定的任务,可用编排脚本一次声明:
# 伪代码:把多轮往返压缩为一次声明式编排plan = {steps: [{ tool: "read_files", input: "src/**/*.py" },{ tool: "static_check", input: "$.read_files.output" },{ tool: "write_report", input: "$.static_check.output", to: "report.md" }],on_error: "stop_and_report"}agent.execute(plan)
先在小样本上验证数据流格式一致后再放量,这是使用 PTC 最常见的坑。
本教程从原理到落地,完整走通了终端 AI 编程助手四大核心能力的实践路径:用 Command 固化高频操作,用 Subagent 隔离专项任务,用 Skills 沉淀团队知识,用程序化工具调用优化确定性编排,并通过交互、非交互、SDK 三种形态覆盖日常开发的全部回路。核心方法论只有一句话:把不确定的判断交给模型,把确定的流程交给编排,把重复的经验沉淀为资产。后续可继续关注 Agent 记忆管理、多智能体协同等方向的演进,持续迭代团队的 AI 研发效能体系。