23 lines
671 B
TypeScript
23 lines
671 B
TypeScript
import { type LanguageModel, stepCountIs, ToolLoopAgent } from "ai";
|
||
|
||
import type { Logger } from "../../logger";
|
||
|
||
import { createGetCurrentTime } from "../tools/get-current-time";
|
||
|
||
const SYSTEM_PROMPT = `你是 Alfred,一个 AI 助手。
|
||
|
||
## 输出规范
|
||
- 使用中文回复
|
||
- 代码块用 Markdown 围栏语法,标注语言
|
||
- 给出结论时简洁直接,不要长篇铺垫
|
||
- 不确定的事明确说"不确定"`;
|
||
|
||
export function createAlfredAgent(model: LanguageModel, logger?: Logger) {
|
||
return new ToolLoopAgent({
|
||
instructions: SYSTEM_PROMPT,
|
||
model,
|
||
stopWhen: stepCountIs(20),
|
||
tools: { getCurrentTime: createGetCurrentTime(logger) },
|
||
});
|
||
}
|