第 4 章 · 01 五个 system prompt 精读


文档摘要

第 4 章 · 01 五个 system prompt 精读 本节摘要:本节精读 里的五个 system prompt——DIRECTOR、SENTIMENT、QUANT、RISK、EXECUTION。这五段文字是 AutoHedge 全部「智能」的来源:它们定义了每个 Agent 的角色(你是谁)、目标(你要做什么)、输入(你会收到什么)、输出(你要给出什么)。本节逐个 prompt 拆解这种「角色-目标-输入-输出」四段法,看作者如何用文字塑造出「总监/情绪分析师/量化分析师/风控师/执行员」五种性格。读完本节,你掌握 LLM 应用里最核心的工程技能——写一个结构清晰的 system prompt。 内容来源:原项目源码 ,精读并套用体系化模板。

第 4 章 · 01 五个 system prompt 精读

本节摘要:本节精读 autohedge/prompts.py 里的五个 system prompt——DIRECTOR、SENTIMENT、QUANT、RISK、EXECUTION。这五段文字是 AutoHedge 全部「智能」的来源:它们定义了每个 Agent 的角色(你是谁)、目标(你要做什么)、输入(你会收到什么)、输出(你要给出什么)。本节逐个 prompt 拆解这种「角色-目标-输入-输出」四段法,看作者如何用文字塑造出「总监/情绪分析师/量化分析师/风控师/执行员」五种性格。读完本节,你掌握 LLM 应用里最核心的工程技能——写一个结构清晰的 system prompt。

内容来源:原项目源码 autohedge/prompts.py,精读并套用体系化模板。

学习目标

阅读完本节,你应当能够:

  1. 用「角色-目标-输入-输出」四段法拆解每个 prompt。
  2. 说出五个 Agent 各自的角色定位差异。
  3. 指出 QUANT/SENTIMENT 用了 Markdown 加粗而 RISK/EXECUTION 没用的风格差异。
  4. 理解 prompt 里编号清单对输出的约束作用。
  5. 体会 system prompt 是 Agent 行为的「配置文件」。

一、四段法:好 prompt 的通用骨架

读完五个 prompt,能归纳出 AutoHedge 的 prompt 写作套路——角色-目标-输入-输出四段法:

作用 典型句式
角色 Role 给 LLM 一个身份 You are a ... AI
目标 Goal 说清要达成什么 Your primary objectives are: 1. ... 2. ...
输入 Input 描述会收到什么 you will receive ...
输出 Output 规定产出格式 Your output should include: 1. ... 2. ...

下面逐个 prompt 用这个框架拆。

二、DIRECTOR_PROMPT:编排者

prompts.py 第 6-21 行(第 3 章第 1 节已详讲,这里复述要点):

You are a Trading Director AI, responsible for orchestrating the trading process. Your primary objectives are: 1. Conduct in-depth market analysis to identify opportunities and challenges. 2. Develop comprehensive trading theses, encompassing both technical and fundamental aspects. 3. Collaborate with specialized agents to ensure a cohesive strategy. 4. Make informed, data-driven decisions on trade executions. For each stock under consideration, please provide the following: - A concise market thesis ... - Key technical and fundamental factors ... - A detailed risk assessment ... - Trade parameters ...

四段法拆解:

  • 角色:「Trading Director AI,负责编排整个交易流程」——编排者,不是执行者。
  • 目标:四点编号清单(市场分析、综合假设、协作专家、数据决策)。
  • 输入:隐式——「每只考虑中的股票」(不显式写输入段)。
  • 输出:四点要求(假设/影响因素/风险评估/交易参数)。

关键句是目标 3「Collaborate with specialized agents」——它与 handoffs=ALL_AGENTS 配套,告诉 LLM「你有同事,该找人帮忙就 handoff」。

💡 核心心法:system prompt 与 Agent 构造参数是互补的——prompt 给出意图(「要协作」),参数给出能力(handoffs=...)。两者缺一不可:光写 prompt 没设 handoffs,LLM 想协作也没对象;光设 handoffs 没写 prompt,LLM 不知道自己该协作。

三、SENTIMENT_PROMPT:最详尽的 prompt

prompts.py 第 40-82 行,是五个 prompt 里最长最详尽的。结构:

  • 角色:「Financial Sentiment Analysis AI,专门评估市场新闻与社交情绪」。
  • 目标(职责):六点编号清单——新闻情绪、社交监控、情绪打分、主题识别、情绪变化、反向指标。
  • 输入:三段(ticker、新闻社交合集、时间窗)。
  • 输出:七点编号清单(总分、情绪分解、关键主题、关键事件、情绪趋势、交易含义、反向信号)。

几个值得学的写法:

  • 打分约定:「quantitative sentiment scores (0-1 scale) with 0 being extremely negative and 1 being extremely positive」——明确量程与端点,避免 LLM 自由发挥。
  • 反向指标:第 6 点「Contrarian Indicator Assessment」——让 LLM 思考「极度情绪是否反而是反向交易机会」,这是专业交易里的真实考量。
  • 谦逊兜底:结尾「sentiment is just one factor ... should be considered alongside technical, fundamental, and macroeconomic factors」——提醒 LLM 别把情绪当圣杯。

注意它通篇用 Markdown 加粗(**News Sentiment Analysis**),这是给 LLM 的视觉锚点,让它更容易抓到结构。

四、QUANT_PROMPT:数值分析专家

prompts.py 第 25-38 行:

  • 角色:「Quantitative Analysis AI,提供深入数值分析支持交易决策」。
  • 目标:四点加粗清单——技术指标、统计模式、风险指标(VaR/ES/Greeks)、成功率概率。
  • 输入:「从 Director 收到的交易假设」(显式说明数据来源)。
  • 输出:隐式——「comprehensive analysis」+ confidence scores。

关键句:「Your analysis should build upon this thesis, providing detailed numerical insights to support or challenge the Director's hypothesis」——特意写「support or challenge(支持或质疑)」,鼓励 LLM 当「魔鬼代言人」,而非一味附和 Director。

⚠️ 现实澄清:QUANT_PROMPT 要求算 VaR、ES、Greeks、技术指标,但量化 Agent 没挂任何取行情/算指标的工具(第 3 章第 2 节指出过)。所以这些「数值分析」实际是 LLM 凭训练数据的,不是真算的。prompt 写得越专业,这个落差越讽刺。

五、RISK_PROMPT:最细致的输入描述

prompts.py 第 85-118 行,特点是对输入字段的描述最细致:

  • 角色:「Risk Assessment AI,评估与缓解交易风险」。
  • 目标:四点(仓位、回撤、市场风险、相关性风险)。
  • 输入:详细列出假设段(direction/confidence/entry/stop loss/take profit/timeframe/key factors/risks)与分析段(technical/volume/trend scores、support/resistance)——逐字段描述
  • 输出:四点(仓位/最大回撤/风险敞口/风险评分),要求「structured format」。

这种「逐字段描述输入」的写法,是为了让 LLM 知道每一段该用来干什么。配合 workers.py 里追加的「当收到消息时,它包含 Stock, Thesis, Quant Analysis」(第 4 章第 2 节专讲),形成完整的输入契约。

注意 RISK_PROMPT 不用 Markdown 加粗,是纯文本——与 QUANT/SENTIMENT 的风格不一致。这反映五个 prompt 可能是不同时期写的,没有统一风格审查。

六、EXECUTION_PROMPT:订单生成器

prompts.py 第 121-137 行:

  • 角色:「Trade Execution AI,精准执行交易」。
  • 目标:四点加粗——生成订单参数、设入场出场、定订单类型、定时间约束。
  • 输入:隐式。
  • 输出:结构化清单(股票与数量、入场出场价、订单类型、时间约束、附加指令)。

注意它的措辞「execute trades with precision and accuracy」——但如前所述,股票端无真实下单链路,它只生成订单文本。prompt 里的「execute」是语言上的,不是真的执行。

七、五种性格的对比

一张表收束五个 prompt 塑造的性格:

Agent 角色 目标条数 输出形态 加粗
Director 编排者 4 假设+因素+风控+参数
Sentiment 情绪分析师 6 7 项结构化清单
Quant 量化分析师 4 数值+置信度
Risk 风控师 4 4 项风险指标
Execution 执行员 4 6 项订单字段

可以看出:职责越「结构化」的 Agent(risk/execution/quant),输出要求越像表格;职责越「叙事化」的(director),输出要求越像报告。这是 prompt 工程的常识——输出形态要匹配下游用途。

本节要点回顾

  1. 四段法骨架:角色(You are a ... AI)+ 目标(编号清单)+ 输入(会收到什么)+ 输出(要给什么);五个 prompt 都遵循此骨架。
  2. Director:编排者;目标含「Collaborate with specialized agents」配合 handoffs=ALL_AGENTS;prompt 与参数互补。
  3. Sentiment:最长最详尽,6 目标 + 7 输出,明确 0~1 量程,含反向指标考量;通篇 Markdown 加粗。
  4. Quant:数值分析专家,鼓励「support or challenge」Director 假设;但无工具,指标实为 LLM 编造。
  5. Risk:对输入字段描述最细致(逐字段列假设段与分析段),要求 structured format;风格不一致(不加粗)。
  6. Execution:订单生成器,4 目标 + 结构化清单;措辞「execute」是语言的,股票端无真实下单。
  7. 风格不统一:加粗与否、详尽与否因 prompt 而异,反映缺乏统一审查;输出形态匹配下游(结构化 vs 叙事化)。

下一节,我们看 workers.py 里那段被追加到 risk/execution/quant 三个 prompt 后的「结构化输出约定」——它如何用几行字显著提升输出可用性。


发布者: 作者: 灏天文库 转发
评论区 (0)
U