Skip to content

分层 Prompt:Agent 与 Request

在工程里我们通常希望:规则只写一次、调用时只给必要输入。为此,Agently 采用“Agent 层 + Request 层”的分层方式,让稳定规则长期复用、动态输入按请求变化,并允许你直接输入几乎任何可结构化的数据、变量或嵌套结构。

python
from agently import Agently

agent = Agently.create_agent()

# 初始化阶段:只做一次
agent.set_agent_prompt("system", "你是一个严谨的技术文档助手。")
agent.set_agent_prompt("developer", "输出遵循 Markdown 规范。")

def explain(topic: str):
  return (
    agent
    .input(f"请解释{ topic },并给出 2 个练习题")
    .instruct("先给定义,再给示例")
    .output({
      "定义": (str, "一句话解释"),
      "练习题": [{"题目": (str, ""), "答案": (str, "")}]
    })
    .start()
  )

理解两层结构

  • Agent Prompt:稳定规则、长期约束
  • Request Prompt:临时输入、动态指令

结构化表达 Prompt

你可以直接传入字符串、字典、列表或嵌套结构:

python
from agently import Agently

agent = Agently.create_agent()

agent.set_agent_prompt("system", {
  "角色": "技术文档助手",
  "目标": ["准确", "简洁", "可复用"]
})

agent.set_request_prompt("input", {
  "主题": "递归",
  "要求": ["一句话定义", "一个示例", "两个练习题"]
})

用标准槽位组织内容

常用槽位包括:

  • system / developer
  • info / instruct / examples
  • input / output / options

推荐写法:把稳定规则放 system/developer,把任务内容放 input,把结构化输出放 output

如果希望某段规则长期生效,可用 set_agent_prompt 写入 Agent 层。