init repo

This commit is contained in:
Summer Shen
2026-03-31 09:14:32 +08:00
commit 9578366e36
34 changed files with 5200 additions and 0 deletions
@@ -0,0 +1,45 @@
## ADDED Requirements
### Requirement: Agent 构建与 SKILL 注入
系统 SHALL 提供一个 Agent 构建函数/类,接受 SKILL 列表和 LLM 配置,创建一个集成了 SKILL 上下文的 LlamaIndex AgentWorkflow。
#### Scenario: 使用 SKILL 列表创建 Agent
- **WHEN** 调用 Agent 构建函数,传入一个包含 2 个 Skill 实例的列表和 LLM 配置
- **THEN** 创建的 AgentWorkflow 的 system prompt 中包含这 2 个 Skill 的 `name``description``body` 内容
#### Scenario: 无 SKILL 创建 Agent
- **WHEN** 调用 Agent 构建函数,传入空的 SKILL 列表
- **THEN** 创建的 AgentWorkflow 仅包含基础 system prompt,不含任何 SKILL 上下文
### Requirement: System Prompt 组装
系统 SHALL 按照固定格式将多个 SKILL 的内容组装到 system prompt 中,每个 SKILL 之间用分隔符隔开。
#### Scenario: 多 SKILL 的 prompt 格式
- **WHEN** 注入 2 个名为 "skill-a" 和 "skill-b" 的 SKILL
- **THEN** 生成的 system prompt 依次包含基础 prompt、"## Active Skills" 标题、每个 SKILL 的 "### Skill: {name}" 标题及其 body 内容,SKILL 之间用 `---` 分隔
#### Scenario: SKILL 顺序保持一致
- **WHEN** 按 ["skill-b", "skill-a"] 顺序注入 SKILL
- **THEN** system prompt 中 skill-b 的内容出现在 skill-a 之前
### Requirement: Agent 对话执行
系统 SHALL 提供运行 Agent 的能力,接受用户输入并返回 LLM 响应。
#### Scenario: 单轮对话
- **WHEN** 向 Agent 发送一条用户消息
- **THEN** Agent 调用 LLM 并返回文本响应
#### Scenario: 带工具的对话
- **WHEN** Agent 配置了工具函数,且用户消息触发了工具调用
- **THEN** Agent 执行工具调用并将结果整合到最终响应中
### Requirement: 工具注册
系统 SHALL 支持在创建 Agent 时注册 Python 可调用函数作为工具。
#### Scenario: 注册 Python 函数为工具
- **WHEN** 传入一个带 docstring 的 Python 函数到 Agent 构建函数的 `tools` 参数
- **THEN** 该函数被注册为 LlamaIndex 工具,Agent 可在对话中调用它
#### Scenario: 无工具的 Agent
- **WHEN** 创建 Agent 时不传入任何工具
- **THEN** Agent 正常运行,仅进行对话,不进行工具调用