Pi Agent: 交互模式
最后更新:2026-08-31
交互模式就像和 AI 面对面聊天——你说一句,它回一句,随时追问、随时切换话题。
1. 启动交互模式
BASH
pi-agent chat
进入交互式 REPL:
TEXT
📖 仅展示
🤖 Pi Agent v0.8.0
📡 Provider: deepseek (deepseek-chat)
💬 交互模式已启动,输入消息开始对话,输入 /help 查看命令
you>
(1) 带参数启动
BASH
pi-agent chat --provider openai --model gpt-4o --system "你是代码审查专家"
(2) 从文件加载上下文
BASH
pi-agent chat --context ./project_context.json
2. 基本操作
(1) 发送消息
直接输入文本并按回车:
TEXT
📖 仅展示
you> 帮我解释什么是装饰器
🤖 装饰器是 Python 中一种语法糖,用 @ 符号标注...
(2) 多行输入
用三引号包裹多行内容:
TEXT
📖 仅展示
you> """
请审查以下代码:
def add(a, b):
return a + b
"""
或用 Ctrl+Enter(部分终端)换行而不发送。
(3) 退出
TEXT
📖 仅展示
you> /exit
👋 再见!
或按 Ctrl+C / Ctrl+D。
3. 斜杆命令
交互模式内置命令以 / 开头:
| 命令 | 说明 |
|---|---|
| /help | 显示帮助信息 |
| /exit | 退出交互模式 |
| /clear | 清空当前对话历史 |
| /model | 切换模型 |
| /provider | 切换提供商 |
| /tools | 列出可用工具 |
| /use |
启用指定工具 |
| /unuse |
禁用指定工具 |
| /skill |
加载技能 |
| /save |
保存对话到文件 |
| /load |
加载对话文件 |
| /context | 显示当前上下文信息 |
| /history | 显示对话历史 |
| /retry | 重新生成上一条回复 |
| /edit | 编辑上一条用户消息 |
▶ 示例 1:会话内切换模型(难度⭐)
TEXT
📖 仅展示
you> /model deepseek-reasoner
📡 模型已切换到 deepseek-reasoner
you> 证明质数有无穷多个
🤖 [推理中...] 假设质数有限,设最大的质数为 p...
you> /model deepseek-chat
📡 模型已切换到 deepseek-chat
you> 用简单的话再说一遍
🤖 简单来说,质数是数不完的...
4. 工具交互
交互模式下可以动态启用/禁用工具:
TEXT
📖 仅展示
you> /tools
可用工具:
✅ calculator - 数学计算
✅ search - 网络搜索
❌ file_reader - 文件读取(未启用)
❌ shell - 系统命令(未启用)
you> /use file_reader
🔧 已启用工具:file_reader
you> /use shell
🔧 已启用工具:shell
you> 读取 main.py 的内容并运行它
🤖 [调用 file_reader] → 读取 main.py
🤖 [调用 shell] → 执行 python main.py
🤖 main.py 的运行结果是:Hello, World!
5. 对话管理
(1) 保存对话
TEXT
📖 仅展示
you> /save chat_20260828.json
💾 对话已保存到 chat_20260828.json
(2) 加载对话
TEXT
📖 仅展示
you> /load chat_20260828.json
📂 已加载对话(8 条消息)
you> /history
[1] user: 帮我解释什么是装饰器
[2] assistant: 装饰器是...
[3] user: 给个例子
...
(3) 编辑并重试
TEXT
📖 仅展示
you> 写一个排序算法
🤖 [给出了冒泡排序]
you> /edit
✏️ 编辑你的消息:写一个快速排序算法
🤖 [重新生成] 快速排序的核心思想是分治...
Alice 的经验:"交互模式特别适合探索式编程——你不确定答案时,可以和 Agent 一步步讨论。"
❓ 常见问题
Q 交互模式下怎么输入长代码?
A 用三引号
""" 包裹多行内容,或者先用 /load 加载代码文件,再让 Agent 分析。Q /retry 会消耗额外的 token 吗?
A 会。每次重试都是一次新的 API 调用。但之前的消息仍保留在上下文中。
Q 可以同时开多个交互会话吗?
A 可以,每个终端窗口是一个独立会话,互不影响。
📖 小节
pi-agent chat进入交互模式,直接输入文本对话- 斜杆命令管理模型、工具、对话历史
/use和/unuse动态切换工具/save和/load持久化对话,/edit和/retry修正交互
📝 作业
- 基础题(难度⭐):启动交互模式,进行 3 轮对话,用 /history 查看历史。
- 进阶题(难度⭐⭐):在交互模式中切换模型和工具,完成一个"搜索+计算"的组合任务。
- 挑战题(难度⭐⭐⭐):用交互模式完成一次完整的代码审查流程:加载代码→审查→修改→验证。