Skip to content

配置化 Prompt:YAML/JSON

在多人协作或频繁迭代时,我们通常希望 Prompt 能独立发布、可回滚、可审阅,因此配置化 Prompt 会显著提升维护效率。它把 Prompt 从代码逻辑中抽离为配置资产,便于用 Git 管理版本或通过前端配置界面更新,实现热更新而不影响业务逻辑。

写一份 YAML 配置

yaml
.agent:
  system: 你是一个严谨的技术文档助手。
  developer: 请遵循 Markdown 输出规范。

.request:
  input: 请解释递归,并给出 2 个提示。
  output:
    解释:
      $type: str
      $desc: 一句话解释
    提示:
      - $type: str
        $desc: 简短提示

output 支持 $type/$desc(也可用 .type/.desc)来描述 Agently Output Format。

设计思路:为什么要配置化

  1. Prompt 是“知识资产”,不应被代码发布节奏绑定
  2. Prompt 需要长期演进,配置更利于版本化与回滚
  3. Prompt 可以由非工程角色维护,降低沟通成本

在代码中加载

python
from agently import Agently

agent = Agently.create_agent()
agent.load_yaml_prompt("prompts/recursion.yaml")

只加载某一段

python
agent.load_yaml_prompt("prompts/recursion.yaml", prompt_key_path=".request")

$ 前缀直写 Agent Prompt

以下写法等价于 .agent

yaml
$system: 你是一个严谨的技术文档助手。
$developer: 请遵循 Markdown 输出规范。
input: 请解释递归。