Step 0 项目结构
1 | step0/ |
核心组件
LLM Client (src/llm/client.ts)
封装 LLM API 调用逻辑:
1 | import OpenAI from 'openai'; |
Agent (src/agent.ts)
简单的 Agent 实现:
1 | import { LLMClient } from './llm/client.js'; |
Main (src/main.ts)
程序入口:
1 | import { SimpleAgent } from './agent.js'; |
配置管理 (src/config.ts)
1 | import dotenv from 'dotenv'; |
架构图
1 | ┌─────────────────────────────────────────┐ |
设计原则
1. 单一职责
每个模块只负责一件事:
main.ts- 程序启动和用户交互agent.ts- 业务逻辑llm/client.ts- API 调用
2. 依赖注入
1 | // 好的做法 |
3. 配置外部化
1 | // 好的做法 |
扩展点
这个简单的架构为后续扩展预留了空间:
| 位置 | 扩展内容 |
|---|---|
agent.ts |
添加对话历史、工具调用 |
llm/client.ts |
添加流式输出、错误重试 |
config.ts |
添加更多配置选项 |
main.ts |
添加命令行参数 |
总结
Step 0 建立了基础架构:
- ✅ 模块化设计
- ✅ 配置管理
- ✅ LLM 集成
- ✅ 交互式 CLI
这为后续步骤打下了坚实基础。
下一章: 第三章:对话历史管理 →
导航
上一篇: 2.2 第一个 AI 对话程序
下一篇: 3.1 上下文的重要性