Agent SDK
配置模型、提示词与工作目录
组织 Options,区分启动配置、持久指令、工具集合和运行期修改。
一份 Options 描述一次连接
Options 使用值式链式构造。调用 With 方法会返回新配置,使用时要接住返回值,或直接链式赋值。先建立可信的基础配置,再附加与本次任务有关的选项。
options := client.NewOptions().WithRuntime(client.RuntimeNXS).
WithCWD("/srv/agent-work").
WithAppendSystemPrompt("回答引用文件位置;没有证据时说明尚未确认。")
WithCWD 决定工作目录,不是沙箱根目录。目录需要在运行时所在环境中存在,访问范围仍由操作系统与运行时策略决定。WithAdditionalDirectories 扩展目录访问,不应让未验证的用户输入直接决定该列表。
系统提示词的几种入口
| 方法 | 用途 |
|---|---|
WithSystemPrompt | 设置自定义系统提示文本 |
WithSystemPromptFile | 从指定文件提供系统提示配置 |
WithSystemPromptPreset | 使用运行时支持的预设并附加内容 |
WithAppendSystemPrompt | 在运行时提示基础上补充宿主要求 |
WithAppendSystemPromptParts | 区分稳定追加段和动态追加段 |
自定义完整提示会改变运行时原有工作方式,接入初期优先使用追加要求。提示中写职责、材料和验收标准;访问控制应放在权限或工具代码中,不靠一句“不要访问别人的数据”。
稳定的职责不必每轮重复发送。只与下一条消息有关的宿主上下文使用下一轮上下文,避免污染持久指令。
模型与思考设置
WithModel 设置模型标识,WithFallbackModel 配置后备模型;是否能使用取决于运行时与账号。使用 SupportedModels 获取当前会话的可选项,而不是向用户展示一份固定的全量模型表。
思考配置可通过 WithThinking、WithEffort、WithMaxThinkingTokens 传入。它们不是所有模型通用的开关,预算和支持范围需要实测。运行期间修改模型可调用 SetModel,并检查返回错误。
设置来源与 Skill
WithSettings、WithSettingsObject 和 WithSettingSources 分别用于设置 JSON 文本或文件路径、内联对象和来源列表。不要同时维护几份相互冲突的配置来源;发布时记录你允许载入哪些层级,排错时核对实际合并结果。
Skill 有 WithSkills、WithDisabledSkills、WithAllSkills 和 WithoutSkills 等入口。Skill 的发现目录与运行时加载规则有关,列出一个名称不代表文件已经存在。需要使用的 Skill 应随运行环境准备,并用小任务确认实际生效。
改变启动期工具策略、Skill 配置或进程环境时,可能需要重启运行时。遇到 ErrRestartRequired 应重新组织连接生命周期,不要忽略错误后继续显示新配置。
环境与诊断
WithEnv 和 AddEnv 向运行环境提供变量。Bridge 不解释模型服务的请求格式,也不会把所有环境变量变成模型配置。只传入任务需要的值,凭据从部署环境读取,不写进 Go 源码和文档。
WithStderr 用于收集子进程诊断,WithDiagnostics 用于 bridge 传输事件,WithInitializeTimeout 设置初始化期限。它们和模型任务的执行 deadline 是不同层次。如何分辨这些超时见错误处理。