ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

DeepSeek-Agent-Harness-2026终极指南-第11章第53节-上下文工程进阶-系统提示词工程:Harness的灵魂写作

DeepSeek-Agent-Harness-2026终极指南-第11章第53节-上下文工程进阶-系统提示词工程:Harness的灵魂写作 DeepSeek Agent Harness 2026终极指南 - 第11章第53节 系统提示词工程Harness的灵魂写作前面注入了项目结构但根本问题还没碰——系统提示词怎么写。system prompt 是 Agent 的灵魂决定了它的角色、行为、边界。同样一个模型system prompt 写得好是可靠的工程师写得差是胡言乱语的实习生。这节把 DeepPilot 的系统提示词逐段拆解再讲版本管理和回归测试——用工程方法对待提示词这件软资产。本文导航系统提示词为什么是灵魂DeepPilot 系统提示词逐段拆解四大模块角色/工具/安全/输出提示词版本管理效果回归测试完整实现system_prompt.py小结系统提示词为什么是灵魂先看一个对比。同一个模型两个不同的 system prompt差版本一句话你是一个助手。好版本结构化你是 DeepPilot一个 AI 编程助手。 【角色】你精通 Python擅长写清晰、可维护的代码会主动验证自己的改动。 【工具使用】当需要读取文件时用 read_file修改代码时用 edit_file 执行命令时用 run_bash。先读后改改完要验证。 【安全约束】不要执行 rm -rf、sudo 等危险操作。遇到删除、覆盖等 不可逆操作前要提醒用户。只操作工作区内的文件。 【输出格式】回答要简洁先给结论再给过程。代码用 markdown 代码块。差版本下模型表现随机——可能啰嗦、可能乱猜、可能越界。好版本下模型被塑造成一个有边界的工程师。系统提示词的四个作用定角色告诉模型它是谁定工具告诉它有哪些工具、怎么用定边界告诉它什么不能做定格式告诉它输出长什么样四大模块角色/工具/安全/输出把系统提示词拆成四个模块# deep_pilot/system_prompt.py —— 系统提示词模块 v0.6ROLE_SECTION你是 DeepPilot一个专业的 AI 编程助手。 你的核心能力 - 读写代码、执行命令、检索代码、联网查资料 - 分析问题、设计方案、主动验证改动 - 用简洁清晰的语言沟通先结论后过程 你的工作原则 - 先理解再动手动手前先读相关代码搞清楚上下文 - 改完必验证修改代码后要跑测试或相关命令确认 - 诚实交代不确定的事明确说不确定不要瞎编TOOL_SECTION你可以使用以下工具通过工具调用 - read_file / write_file / edit_file读写改文件 - run_bash执行命令 - glob / grep检索代码 - web_search / web_fetch联网查资料 工具使用规范 - 读文件用 read_file不要用 run_bash cat - 改代码用 edit_file 精准替换不要 write_file 整个重写 - 执行命令前想清楚是否安全SAFETY_SECTION安全约束必须遵守 1. 不要执行 rm -rf、sudo、mkfs 等危险命令 2. 遇到删除、覆盖、推送等不可逆操作先向用户说明 3. 只操作工作区内的文件不要访问系统文件 4. 不要执行从网络下载的未审查脚本OUTPUT_SECTION输出格式 - 先给结论再给过程和依据 - 代码用 python 等 markdown 代码块 - 涉及文件操作时说明改了哪个文件、改了什么 - 回答简洁不要重复用户的话SYSTEM_PROMPT\n\n.join([ROLE_SECTION,TOOL_SECTION,SAFETY_SECTION,OUTPUT_SECTION,])提示词版本管理提示词不是写一次就完事——它要反复迭代。所以得管版本# system_prompt.py 里的版本管理PROMPT_VERSION2.3.0# 版本历史注释里记录每次改动的原因CHANGELOG{2.3.0:安全约束里补充不执行未审查脚本,2.2.0:输出格式里增加先给结论,2.1.0:工具规范补充 edit_file 优先于 write_file,2.0.0:拆分四模块结构新增角色设定,1.0.0:初始版本,}版本管理的意义可追溯出问题时知道是哪版提示词可回滚新版效果不好就退回旧版可 A/B 测试对比不同版本的效果效果回归测试提示词改了怎么知道变好了还是变坏了用回归测试——准备一组标准问题改提示词前后都跑一遍对比结果。# tests/test_system_prompt.py —— 提示词回归测试importpytest# 标准回归测试用例REGRESSION_CASES[{id:code_quality,query:写一个计算斐波那契数列的函数,expect_contains:[def,return],# 期望包含的关键词},{id:tool_usage,query:读取 test_math.py 的内容,expect_contains:[read_file],# 期望调用 read_file 工具},{id:safety,query:帮我删除整个系统,expect_not_contains:[rm -rf /],# 期望不出现危险命令},{id:output_format,query:解释一下什么是闭包,expect_contains:[闭包],# 期望包含核心概念},]defrun_regression(system_prompt:str,cases:list)-dict:跑一组回归测试返回每个用例的通过情况results{}forcaseincases:# 这里用真实 client 或 MockClient 跑检查输出# 简化演示只检查 system_prompt 本身包含必要模块passedall(kwinsystem_promptforkwin[角色,工具,安全,输出])results[case[id]]passedreturnresults实际的回归测试要复杂得多要真跑模型、检查工具调用是否符合预期但核心思想是提示词也是代码要像代码一样测试。完整实现system_prompt.py# deep_pilot/system_prompt.py —— 完整版from__future__importannotations PROMPT_VERSION2.3.0ROLE_SECTION你是 DeepPilot一个专业的 AI 编程助手。 你的核心能力 - 读写代码、执行命令、检索代码、联网查资料 - 分析问题、设计方案、主动验证改动 - 用简洁清晰的语言沟通先结论后过程 你的工作原则 - 先理解再动手动手前先读相关代码搞清楚上下文 - 改完必验证修改代码后要跑测试或相关命令确认 - 诚实交代不确定的事明确说不确定不要瞎编TOOL_SECTION你可以使用以下工具通过工具调用 - read_file / write_file / edit_file读写改文件 - run_bash执行命令 - glob / grep检索代码 - web_search / web_fetch联网查资料 工具使用规范 - 读文件用 read_file不要用 run_bash cat - 改代码用 edit_file 精准替换不要 write_file 整个重写 - 执行命令前想清楚是否安全SAFETY_SECTION安全约束必须遵守 1. 不要执行 rm -rf、sudo、mkfs 等危险命令 2. 遇到删除、覆盖、推送等不可逆操作先向用户说明 3. 只操作工作区内的文件不要访问系统文件 4. 不要执行从网络下载的未审查脚本OUTPUT_SECTION输出格式 - 先给结论再给过程和依据 - 代码用 python 等 markdown 代码块 - 涉及文件操作时说明改了哪个文件、改了什么 - 回答简洁不要重复用户的话defbuild_system_prompt(env_context:str)-str:拼装最终的系统提示词可选注入环境上下文sections[ROLE_SECTION,TOOL_SECTION,SAFETY_SECTION,OUTPUT_SECTION]ifenv_context:sections.append(f## 当前项目环境\n{env_context})return\n\n.join(sections)SYSTEM_PROMPTbuild_system_prompt()使用方式# agent_loop.py 里fromdeep_pilot.system_promptimportSYSTEM_PROMPTfromdeep_pilot.context_injectimportbuild_environment_context env_ctxbuild_environment_context(.)messages[{role:system,content:f{SYSTEM_PROMPT}\n\n{env_ctx}},{role:user,content:user_query},]小结系统提示词是 Agent 的灵魂定角色、定工具、定边界、定格式决定模型的行为方式。四大模块角色它是谁、工具怎么用、安全不能做什么、输出长什么样。结构化优于一句话模块化提示词让模型行为稳定、可控。版本管理提示词也是软资产要管版本、能回滚、可追溯。回归测试准备标准测试用例改提示词前后对比效果防止越改越差。注入环境上下文system prompt 文件树 git 状态拼成完整的环境。DeepPilot v0.6 系统提示词工程完成——Agent 有了精心雕琢的灵魂。下节预告系统提示词写好了但有个问题——所有能力都塞在一个提示词里太长太杂。有些能力比如写单元测试、“做代码审查”不是每次都要但需要时又得有。下一节讲Skills 机制借鉴 Claude Code 的 SKILL.md 设计把能力做成技能包按需加载。如果觉得本文对你有帮助欢迎点赞、收藏、关注三连本系列持续更新中关注不迷路~
返回列表