AI相关-(智能体理解)Trae-Codex-Qoder智能体理解:规则、记忆、技能与AGENTS.md的作用)
Trae / Codex / Qoder 智能体理解:规则、记忆、技能与 AGENTS.md 的作用本文用于系统性地表达对 AI 编程智能体(Agent)工作原理的理解。核心观点一句话:智能体没有任何神秘成分——规则、记忆、技能、AGENTS.md 本质都是文本文件;每次对话本质是一次(或多次)HTTP 请求;"智能"来自客户端精心组装的上下文 + 大模型的推理能力。目录大模型本身是无记忆的每次请求实际发送了什么:上下文组装HTTP 入参示例与出参示例上下文窗口与上下文压缩规则、记忆、技能、AGENTS.md 各自的作用何时触发、触发原理智能体循环:Agent 是怎么"干活"的源码安全:会不会泄露?会不会被拿去训练?实践方法论:AGENTS.md 应该"蒸馏式"成长,而不是凭空生成微调 vs 上下文注入:让模型"懂框架"的两条路线需要掌握的概念清单常见疑问速答总结一、大模型本身是无记忆的这是理解一切的前提:大模型是无状态的计算引擎。每次调用就是发送一个messages数组,模型处理完即"忘掉",服务器端不会记住任何一次对话。所谓"连续对话"的体验,完全是客户端(Trae / Codex / Qoder)制造出来的:客户端把之前需要的内容重新打包,再发给模型。模型部署后权重是冻结的,你发过去的代码、对话只参与这一次前向计算,不会更新模型本身。所以"AI 怎么知道我们之前说了什么"的答案是:不是模型记得,而是客户端每轮都把它认为需要的历史内容重新发了一遍。二、每次请求实际发送了什么:上下文组装客户端每次调用模型前,都会重新组装一份上下文,大致结构如下:messages = [ 系统提示词(system prompt) —— 角色定义、行为规范、安全约束 + 项目规则 —— 如 .trae/rules 下"始终生效"的规范 + AGENTS.md 内容 —— 项目上下文、架构决策、代码落点约定 + 记忆内容 —— 用户画像、项目记忆(按相关性检索后注入) + 技能目录 —— 所有技能的"名称 + 一句话描述"(常驻) + 工具定义 —— Read / Grep / Edit / RunCommand 等工具的说明 + 历史对话 —— 之前的用户消息、AI 回复、工具调用及结果 + 你的最新消息 —— 本次输入 ]关键认知:组装是有选择的,不是无脑全量累加。“技能生效”= 该技能的文本被注入了本轮上下文;没注入,模型根本不知道它存在。你主动说"请使用 xx 技能",等于强制触发注入,所以必然生效。三、HTTP 入参示例与出参示例智能体与模型之间就是标准的 HTTP 调用(OpenAI 兼容格式是行业事实标准)。3.1 入参示例(POST /v1/chat/completions){"model":"some-large-model","temperature":0.2,"stream":true,"messages":[{"role":"system","content":"你是一个Java后端开发助手……(系统提示词 + 项目规则 + AGENTS.md + 工具定义,全部拼在上下文里)"},{"role":"user","content":"帮我给 SignController 增加一个按身份证号查询签到记录的接口"},{"role":"assistant","content"