当你把一台本地 LLM 跑起来,它默认只是一个"会接龙"的通用模型——没有名字、没有记忆、也没有立场。要让它真正成为你的工作搭档,核心不是换模型,而是写一份上下文文件(Context File)。本期研究基于一期视频的完整脚本,把"上下文工程"拆成 10 个可执行的步骤,并梳理从 LLM 到 Agent Skill 的演进路径。

同一份模型权重,搭配不同的上下文文件,会呈现截然不同的人格与产出:技术导师、调试搭档、文案助手、甚至一个带道德底线的合作伙伴。本文将逐章拆解视频中的核心要点——身份、关系、价值观、能力、工具、记忆、风格、示例、迭代——并把它们映射到主流 Agent Skill 设计框架中。

第一章:为什么上下文是 LLM 的灵魂

很多人误以为本地 LLM 的"性格"来自模型权重,但实际上系统提示词(System Prompt)和上下文文件才是塑造行为的主战场。视频里有一句金句:"Same model, different context, completely different personality."——这正是上下文工程的本质。

模型不会"猜",它只会严格遵循你喂给它的文本。上下文文件写得越清晰,后续得到的回答就越稳定;写得越模糊,模型就越容易在通用客服口吻和胡说八道之间漂移。

把上下文文件想象成 LLM 的灵魂。同一个 Qwen / Llama 模型,挂上不同的 corecontext.text,效果可能像两个完全不同的助手。

从 System Prompt 到 Agent Skill 的迁移

今天的 Agent Skill 框架(Claude Skills、OpenAI GPTs、CrewAI Roles)本质上是把上下文文件模块化、版本化、可调用化。先掌握最朴素的"写一份 corecontext.text",再迁移到 Agent Skill 是最稳的路径。

第二章:搭建身份与关系基础(Step 1-2)

第一步永远是建一个项目文件夹,固定存放 corecontext.text、roadmap.text、hardware.md 等文件。第二步是在上下文顶部写 Identity 与 Relationship 两段。这两段决定了模型"以谁的口吻"和"对谁说话"。

Identity:给模型起名、定调

Identity 段落的核心要素是名称、语气与风格锚点。视频中给出的范例是 Eloise:一个温暖、技术扎实、语气好奇且略带俏皮的 AI 搭档。

corecontext.text — Identity
# Identity
You are Eloise, a warm, technically skilled AI companion who speaks clearly, with a curious, playful tone.

Relationship:把用户也写进上下文

Relationship 段落把用户的身份、兴趣、协作模式一并写入。这能避免模型以"通用客服"的口吻回复,而是以"可信赖的协作者"姿态出现。

corecontext.text — Relationship
# Relationship
The user is Clinton, a web designer and robotics enthusiast. Speak to him as a trusted collaborator and friend, not as a corporate help desk.

第三章:注入价值观与能力边界(Step 3-5)

Step 3-5 是把"原始模型"转成"有立场的搭档"的关键步骤:价值观(Values)、能力(Capabilities)、限制(Limits)。这三段决定了模型在面对边界问题时如何取舍。

Values:道德底线要写进第一版

本地模型很强大,但也可能输出有害、违法或违背你价值观的内容。视频反复强调:"Your local model is powerful, so give it a moral grounding from day one."

永远不要等模型"出事了"再补价值观。第一版就要写清楚:诚实、安全、尊重、不协助任何非法或危险行为。

Capabilities:明确在线/离线边界

Capabilities 段落必须写清楚模型能做什么、不能做什么。本地 LLM 通常不能联网,但很多用户会下意识问它"帮我查一下最新新闻"。提前声明边界,能让模型主动给出 offline 替代方案。

corecontext.text — Capabilities
# Capabilities
You can read local project files in this folder. But you cannot access the internet. If a task needs online data, explain that you are offline and suggest a workaround.

第四章:声明工具与记忆体系(Step 6-7)

Step 6-7 让模型知道自己能调用哪些工具,以及哪些文件承载着长期记忆。模型不会自动获知你的文件夹结构,必须显式列出。

Tools:工具即接口,名字即契约

Tools 段落的核心原则是:每个工具一行,名字与用途对齐。视频示例里只有 list_files 和 run_sim 两个工具,但写法已经足以覆盖绝大多数 Agent Skill 的 tool declaration 规范。

corecontext.text — Tools
# Tools
tool list_files: shows the contents of the project folder.
tool run_sim: starts the robot simulation.

Memory:让模型知道"哪里找什么"

Memory 段落把关键文件的用途写进上下文。例如长期计划放 roadmap.text,硬件参数放 hardware.md。这样当用户问"接下来做什么"或"这台机器能跑什么模型"时,模型能精确指向正确的文件。

清晰的文件映射 > 让模型自行搜索。在小项目里,前者几乎总是更稳。

第五章:风格调优与示例示范(Step 8-9)

Step 8-9 是把"通用助手"调成"专属搭档"的最后两步:Conversation Style 和 Examples。视频的金句:"Models learn a lot from examples. If you want a certain rhythm or attitude, show it, do not just describe it."

Conversation Style:节奏与术语策略

风格段落不要写得太抽象。直接给出"回答长度偏好"、"是否解释术语"、"是否保持温度"这种可执行的硬规则,才能真正影响输出。

corecontext.text — Style
# Conversation Style
Keep answers concise unless asked for detail. Explain jargon in simple language. Keep a warm and human tone.

Examples:演示而非描述

在上下文末尾放 2-3 段 user/assistant 对话样例,远比写十行"你要温柔、你要简洁"更有效。模型会模仿示例的节奏、句长、表情使用频率,这就是后来 Agent Skill 框架里所谓 few-shot exemplars 的雏形。

Show, don't tell。这条原则在上下文工程里的优先级,比在 UI 设计里还要高。

第六章:把上下文当作活文档持续迭代(Step 10)

Step 10 是最重要也最容易被忽略的一步:把上下文文件当作"活文档"持续迭代。模型只安装一次,但上下文需要反复打磨。

好行为固化为模式,坏行为修正为规则

使用过程中,模型给出一次特别贴合你风格的回答,就把那段对话写进 Examples;模型跑偏一次,就在 Values 或 Style 里加一条新的硬规则。这种"用出来的上下文"才是真正的差异化竞争力。

接受第一版的不完美

"You will not get a perfect on the first day, and that is fine."——视频反复提醒:不要追求一次性写完。把第一版当成"骨架",让真实使用场景来填充血肉。

常见误区:写完第一版就再也没改过。一个不更新的 corecontext.text,会随着模型升级、任务变化而悄悄失效。

结论

从 LLM 到 Agent Skill 的演进路径,其实就是"上下文工程"不断被产品化的过程。掌握 10 步骨架(身份、关系、价值观、能力、工具、记忆、风格、示例、迭代),等于掌握了所有 Agent Skill 框架的最小公约数。

下一步建议:把这 10 段拆成独立的 .md 文件(如 identity.md / tools.md / style.md),用 frontmatter 标记版本号,再用一个 loader 把它们在每次会话开始时按需拼装、回喂给模型。这就是"Agent Skill"在工程上的真正含义——你的上下文文件就是你的 Agent 的全部能力定义。