提示词与上下文¶
用指令说明 Agent 应该怎样工作,用动态上下文提供当前项目或用户的信息。
提供任务背景¶
完成模型配置,运行 python examples/runtime/context.py:
import asyncio
import os
import bumblehive
async def main() -> None:
config = bumblehive.RuntimeArguments(
model=os.environ["BUMBLEHIVE_MODEL"],
api_key=os.environ["BUMBLEHIVE_API_KEY"],
base_url=os.environ["BUMBLEHIVE_BASE_URL"],
agent_instructions="你是项目助手。回答简洁,只依据给定的项目事实。",
dynamic_context={"project": "BumbleHive", "stage": "文档整理"},
skill_names=[],
tool_names=[],
)
async with bumblehive.from_config(config) as runtime:
result = await runtime.run("我们正在做什么?建议下一步工作。")
print(result.error.message if result.error else result.final_content)
if __name__ == "__main__":
asyncio.run(main())
agent_instructions 定义助手的职责与回答要求,dynamic_context 提供项目名称和当前阶段。回答应提到 BumbleHive 正在整理文档,并据此建议下一步。
这些配置不是对话记忆;保存用户此前说过的话,使用会话与历史。单次修改指令的方式见模型配置。
控制长对话的大小¶
在 RuntimeArguments(...) 中按模型容量添加:
context_window_tokens=64000,
max_completion_tokens=2048,
max_tool_result_chars=12000,
分别控制上下文预算、为输出预留的 token 数,以及单个工具结果的字符预算。
SDK 会截断过长的工具结果,并在超出预算时裁剪较早的历史,不会自动生成摘要。重要的任务要求应放在指令或动态上下文中。预算无法容纳必要内容时,运行会返回错误。