☰
Coding Agent 常用术语速查表:Prompt / Context / Memory / Tools 一次搞懂(建议收藏)
2026/9/26 11:46:50 网站建设 项目流程

1. 为什么这四个词总让人犯迷糊

刚接触 Coding Agent 的时候,我猜你大概率遇到过这种场景:看官方文档,Prompt、Context、Memory、Tools 四个词反复出现,每个字都认识,连在一起却说不清边界在哪。更麻烦的是,同一个概念在 Claude Code 里叫一个名字,在 Codex 里换个说法,到了 Gemini 又变成第三种表述,查着查着就乱了。

这篇速查表就是来解决这个问题的。它面向刚上手 AI 编程工具的开发者,把 Coding Agent 最核心的四个术语——Prompt(提示词)、Context(上下文)、Memory(记忆)、Tools(工具)——拉到同一张认知地图上,用一句话讲清各自管什么,再给出一份可以直接复制的配置骨架,最后带你在 TaoToken 统一 Key/API 通道下逐项验证这四个术语的真实行为。读完你至少能做到两件事:一是看到任何 Coding Agent 文档里的这四个词,能立刻判断它属于哪一层;二是自己动手跑一遍,确认概念不是纸上谈兵。

先说结论,方便你建立第一印象。Prompt 是你这次让 Agent 做什么;Context 是 Agent 当前能看见的全部信息;Memory 是跨回合、跨会话能复用的信息;Tools 是 Agent 能调用的手脚。四者不是并列关系,而是层层叠加:Prompt 决定方向,Context 决定视野,Memory 决定连续性,Tools 决定执行力。搞混它们,最常见的后果就是——明明需求写得很清楚,Agent 还是跑偏,因为问题往往出在 Context 或 Memory,而不是 Prompt 本身。

下面按「概念对照 → 环境准备 → 配置骨架 → 逐项验证 → 排障」的顺序展开,每一步都给可复制的命令和配置。

2. 四大术语一句话对照与边界

在动手之前,先把四个词的定义和易混点钉死。我用一张表把核心区别列出来,后面所有操作都围绕这张表展开。

术语一句话解释管什么典型载体
Prompt你这次让 Agent 做什么任务方向与验收标准对话输入、prompts 模板文件
ContextAgent 当前能看见的信息集合回答质量的上限打开的文件、命令输出、上下文文件
Memory跨回合/跨会话可复用的信息连续性与一致性记忆文件、项目说明文件
ToolsAgent 能调用的能力从「猜」变「查」读/写/搜索/执行命令/外部接入

2.1 Prompt 与 System Prompt 的边界

Prompt 是用户给 Agent 的任务指令,包含背景、需求、约束、验收四要素。System Prompt 则是工具或团队预置的「默认岗位说明书」,影响默认行为,比如是否谨慎、是否先跑测试、输出格式偏好。从模型视角看,两者没有本质区别,都是请求里的一段上下文,只是角色不同:

{ "model": "gpt-5.2", "messages": [ { "role": "system", "content": "你是一个谨慎的 Coding Agent,优先保证测试通过,避免无关重构。" }, { "role": "user", "content": "修复当前仓库中失败的测试,确保 npm test 全绿。" } ] }

记住一句话:Prompt 是「这次要做什么」,System Prompt 是「长期默认怎么做」。

2.2 Context 与 Context Files 的边界

Context 是当前一次请求里模型可见的信息集合,包括文件内容、选中片段、命令输出、对话历史。Context Files 是给 Agent 看的「项目级说明书」,把长期有效的信息放进仓库,让 Agent 每次按同一套约定工作。前者是「当前看到什么」,后者是「每次都该知道的项目约定」。常见命名:Claude Code 用 CLAUDE.md,Gemini 用 GEMINI.md,Codex 用 AGENTS.md。

2.3 Memory 与 Context Files 的边界

Memory 更偏「偏好与长期复用」,比如你喜欢的输出格式、习惯;Context Files 更偏「项目说明书与团队约定」,可审计、可进版本库。Memory 做得好,能显著降低 token 消耗和沟通成本,因为不用每次都从零解释。

2.4 Tools 与 Skills 的边界

Tools 是 Agent 的手脚,读文件、写文件、搜索、跑命令、访问外部系统。Skills 是可复用的 SOP 打包,把步骤、清单、输出契约、资源放进一个单元,按需加载。Tools 解决「能不能做」,Skills 解决「按什么流程做」。

3. TaoToken 前置:统一 Key 与 API 通道

要让四个术语的验证可复现,第一步是把模型调用通道固定下来。我用 TaoToken 作为统一入口,好处是 Key 和 API 地址统一,切换模型时不用改代码,验证 Context 和 Memory 行为时变量更少。

先拿到 Key。打开控制台创建 API Key:

# 控制台地址(创建与管理 Key) https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite

创建后把 Key 写进环境变量,避免硬编码进仓库:

export TAOTOKEN_API_KEY="sk-你的key" export TAOTOKEN_BASE_URL="https://taotoken.net/api"

注意 API 地址是https://taotoken.net/api,不带任何查询参数。Key 的管理页面在:

https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite

如果你更习惯用现成的对话界面先感受模型行为,可以直接用模型对话页:

https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_content=model-chat&utm_campaign=rewrite

接入文档在这里,遇到参数问题优先查它:

https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite

提示:Key 只放环境变量或本地配置文件,不要提交到 Git。团队协作时用各自的 Key,便于审计。

4. 可复制配置骨架:settings.json 与 config.toml

概念要落地,得有配置文件承载。下面给两份骨架,一份 JSON 风格(对应 Claude Code 类工具的 settings.json),一份 TOML 风格(对应 Codex 类工具的 config.toml)。你可以直接复制改。

4.1 settings.json 骨架

这份配置把权限、钩子、上下文文件、记忆文件四块分开,正好对应 Tools、Context、Memory 三个术语。

{ "model": "gpt-5.2", "apiBase": "https://taotoken.net/api", "apiKeyEnv": "TAOTOKEN_API_KEY", "permissions": { "allow": ["Read", "Grep", "Glob"], "ask": ["Write", "Edit"], "deny": ["Bash:rm -rf", "Bash:git push --force"] }, "context": { "files": ["CLAUDE.md", "docs/architecture.md"], "ignore": [".git", "node_modules", "dist"] }, "memory": { "userFile": "~/.agent/memory.md", "projectFile": ".agent/project-memory.md" }, "hooks": { "afterEdit": ["npm run format", "npm run lint"], "beforeStop": ["npm test -- --silent"] } }

逐块解释。permissions对应 Tools,allow 是免确认,ask 是执行前二次确认,deny 是直接拦截。context.files对应 Context Files,列出的文件每次都会进上下文。context.ignore降噪降成本。memory对应 Memory,分用户级和项目级。hooks是事件驱动自动化,改完文件自动格式化,结束前强制跑测试。

4.2 config.toml 骨架

TOML 风格更适合命令行工具,结构一样,只是语法不同。

model = "gpt-5.2" api_base = "https://taotoken.net/api" api_key_env = "TAOTOKEN_API_KEY" [context] files = ["AGENTS.md", "docs/architecture.md"] ignore = [".git", "node_modules", "dist"] max_tokens = 32000 [memory] user_file = "~/.agent/memory.md" project_file = ".agent/project-memory.md" [tools] allow = ["read", "grep", "glob"] ask = ["write", "edit"] deny = ["bash:rm -rf", "bash:git push --force"] [hooks] after_edit = ["npm run format", "npm run lint"] before_stop = ["npm test -- --silent"]

两份配置的核心思想一致:把「能做什么」(Tools)、「看见什么」(Context)、「记住什么」(Memory)显式写出来,而不是靠默认行为。写出来之后,Agent 的行为才可预测、可审计。

5. 逐项验证:让四个术语真实可观测

配置写完不算完,得验证。下面用 curl 和命令行逐项确认,每步都给预期结果。

5.1 验证 Prompt 与 System Prompt

先发一个同时带 system 和 user 的请求,观察输出是否遵循 system 里的约束。

curl -s https://taotoken.net/api/chat/completions \ -H "Authorization: Bearer $TAOTOKEN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-5.2", "messages": [ { "role": "system", "content": "回答必须用一句话,不超过20字。" }, { "role": "user", "content": "解释什么是 Coding Agent。" } ] }'

预期结果:返回内容是一句话且很短。如果输出很长,说明 system 约束没生效,检查请求体里 role 是否写成了 system。

5.2 验证 Context 与 Context Files

把项目说明文件的内容拼进请求,对比有无上下文时的回答差异。

# 把 AGENTS.md 内容作为上下文注入 CONTEXT=$(cat AGENTS.md) curl -s https://taotoken.net/api/chat/completions \ -H "Authorization: Bearer $TAOTOKEN_API_KEY" \ -H "Content-Type: application/json" \ -d "{ \"model\": \"gpt-5.2\", \"messages\": [ { \"role\": \"system\", \"content\": \"以下是项目约定:\n$CONTEXT\" }, { \"role\": \"user\", \"content\": \"这个项目怎么跑测试?\" } ] }'

预期结果:回答会引用 AGENTS.md 里的测试命令。如果回答是泛泛的「用 npm test」,说明上下文没注入成功,检查变量是否为空。

5.3 验证 Memory

Memory 的验证要跨两次请求。第一次让 Agent 记住一个偏好,第二次看它是否还记得。

# 第一次:写入偏好 curl -s https://taotoken.net/api/chat/completions \ -H "Authorization: Bearer $TAOTOKEN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-5.2", "messages": [ { "role": "user", "content": "记住:以后所有回答都用中文,代码注释也用中文。" } ] }' # 第二次:新会话,看是否保留 curl -s https://taotoken.net/api/chat/completions \ -H "Authorization: Bearer $TAOTOKEN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-5.2", "messages": [ { "role": "user", "content": "写一个冒泡排序。" } ] }'

预期结果:第二次的注释是中文。如果还是英文,说明 Memory 没有持久化——纯 API 调用本身不跨会话记忆,需要靠配置文件里的 memory 字段或外部存储实现。这一点很多人会误解,以为模型自己会记,其实不会。

5.4 验证 Tools

Tools 的验证看 Agent 是否会主动调用工具而不是凭空回答。

curl -s https://taotoken.net/api/chat/completions \ -H "Authorization: Bearer $TAOTOKEN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-5.2", "messages": [ { "role": "user", "content": "读取当前目录下的 package.json,告诉我项目名。" } ], "tools": [ { "type": "function", "function": { "name": "read_file", "description": "读取指定路径的文件内容", "parameters": { "type": "object", "properties": { "path": { "type": "string" } }, "required": ["path"] } } } ] }'

预期结果:返回里出现tool_calls字段,请求调用 read_file。如果模型直接编了一个项目名,说明 tools 没传对或模型不支持,检查 tools 数组格式。

6. 本篇常见错排查

验证过程中最容易踩的坑,我按现象、原因、解决三段式列出来。

报错 401 Unauthorized。现象是请求直接被拒。原因通常是 Key 没写进环境变量,或者变量名和配置里的apiKeyEnv不一致。解决:echo $TAOTOKEN_API_KEY确认有值,再检查配置里的环境变量名拼写。

报错 404 或路径错误。现象是提示接口不存在。原因多半是 API 地址写成了带路径的形式,比如多加了/v1。解决:base 地址统一用https://taotoken.net/api,具体路径由工具拼接。

Context 注入了但回答没变化。现象是明明拼了项目说明,回答还是泛泛而谈。原因可能是上下文太长被截断,或者放在了 user 而不是 system 里。解决:先缩短上下文测试,确认生效后再逐步加长;项目约定放 system 更稳。

Memory 跨会话失效。现象是第二次请求完全不记得第一次的偏好。原因前面说过,纯 API 不持久化。解决:用配置文件里的 memory 字段指向本地文件,或把偏好写进 Context Files。

Tools 调用被拦截。现象是 Agent 想写文件但被拒绝。原因是 permissions 里 Write 在 ask 或 deny 列表。解决:确认操作风险后,把对应工具移到 allow,或手动确认。

Hooks 没触发。现象是改完文件没自动格式化。原因通常是 hooks 命令路径不对,或工作目录不是项目根。解决:在 hooks 里用绝对路径或cd到项目根再执行。

注意:排障时优先看返回体的 error 字段,比猜快得多。接入相关的细节以接入文档为准。

7. 概念地图与下一步

把四个术语串成一条线:你用 Prompt 下达任务,Agent 靠 Context 理解现状,靠 Memory 保持连续,靠 Tools 落地执行。四者缺一,Agent 就会表现得像个失忆又没手的新人。

如果你主要在做长期编码或 Agent 编排,建议直接上 Coding Plan,把 Key、配额、模型路由一次配好,省得每次手动切:

https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite

如果你用的是 Claude Code 这类工具,接入配置参考:

https://taotoken.net/claude-code?utm_source=taotoken_aicg_blog_end&utm_content=claude-code&utm_campaign=rewrite

最后留一个我自己的习惯:每接一个新项目,先花十分钟写 Context Files,把跑测试、构建、目录职责、验收标准四件事写清楚。这十分钟通常能省下后面几十次来回解释。概念速查表收藏归收藏,真正让 Agent 听话的,永远是那份写清楚的项目说明书。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询