Skip to content

快捷语法与 always 参数

在代码里编写 Prompt 时,我们通常希望表达更简洁、结构更清晰,尤其是在多人协作或快速迭代时。快捷语法就是为此而生:它让开发者更便捷地使用框架推荐的 slot,同时提升代码可读性,但不改变底层 Prompt 结构。

快捷语法做了什么

这些方法本质上等价于 set_request_promptset_agent_prompt

快捷方法实际写入的槽位说明
input()input请求输入
info()info背景信息
instruct()instruct指令/约束
examples()examples示例
output()output输出结构
attachment()attachment附件内容
options()options模型请求参数

还有三个“规则类”快捷语法:

快捷方法作用实际写入
rule()设置规则并注入指令模板system.rule + instruct
role()设置角色并注入指令模板system.your_role + instruct
user_info()写入用户信息并注入指令模板system.user_info + instruct

system() 用于写入 system 槽位;在 Agent 的快捷语法中配合 always=True 可写入 Agent Prompt,否则写入 Request Prompt。

always 参数的意义

在 Agent 的快捷语法中,你可以传 always=True,把内容写入 Agent Prompt(长期生效),否则写入 Request Prompt(仅当前请求)。

python
agent = Agently.create_agent()

# 写入 Agent Prompt:长期规则
agent.instruct("输出必须简洁。", always=True)

# 写入 Request Prompt:本次请求
agent.input("解释递归,并给出示例。")

快捷语法的价值在于“可读性 + 速度”,本质仍是标准槽位的写入方式。长期规则依旧建议写入 Agent Prompt,模板化内容建议走配置化 Prompt。

链式语法:清晰完成 Prompt 表达

链式写法把“输入 → 约束 → 输出”放在同一段语义块中,代码结构自然、可读性强,适合在工程中快速表达一次请求的完整意图。

python
from agently import Agently

agent = Agently.create_agent()

result = (
  agent
  .info({"背景": "面向工程落地的 AI 应用框架"})
  .input("写一段面向开发者的产品介绍")
  .instruct("先给一句话定位,再给 2 条能力亮点")
  .output({
    "定位": (str, "一句话定位"),
    "亮点": [
      {
        "标题": (str, "亮点标题"),
        "说明": (str, "一句话说明")
      }
    ]
  })
  .start()
)

print(result)