第5章 核心对象与配置系统

第5章 核心对象与配置系统

5.1 Agent(底层运行时)/ Session(编码场景封装)/ SessionManager(存储)三级对象

📌 网传版本里的 HarnessAgent 不属于 Pi 本体(那是 Vercel 适配器的类名,见第一部分 1.5)。Pi 本体真实的核心对象体系是下面这三级:

真实对象 来源包 作用
Agent pi-agent-core 最底层的代理实例,持有 systemPromptmodel,支持 subscribe() 订阅事件、prompt() 发起任务------"代理实例"概念最贴近的真实对应物
createAgentSession() / Session pi-coding-agent 面向编码场景封装好的会话对象,内置 CLI 使用的工具集、会话持久化,日常编程集成时最常打交道的对象
SessionManager pi-coding-agent 会话存储管理(SessionManager.inMemory() 临时会话,或落盘到 JSONL)
ModelRuntime / ModelRegistry pi-coding-agent 负责模型解析、鉴权信息关联

初始化示例(最底层):

ts 复制代码
import { Agent } from '@earendil-works/pi-agent-core';
import { getModel } from '@earendil-works/pi-ai';

const agent = new Agent({
  initialState: {
    systemPrompt: '你是一个乐于助人的编码助手。',
    model: getModel('anthropic', 'claude-sonnet-4-20250514'),
  },
});

编码场景更常用的封装:

ts 复制代码
import { createAgentSession, ModelRuntime, SessionManager } from '@earendil-works/pi-coding-agent';

const modelRuntime = await ModelRuntime.create();
const { session } = await createAgentSession({
  sessionManager: SessionManager.inMemory(),
  modelRuntime,
});

5.2 分层配置:全局 ~/.pi/agent/settings.json + 项目级 .pi/settings.json

📌 "PI 内核配置"真实对应的是分层设置系统,不是传给某个构造函数的配置对象。

配置文件 作用域
~/.pi/agent/settings.json 全局配置,对所有项目生效
.pi/settings.json 项目级配置,覆盖全局配置(对象字段做合并而非整体覆盖)
json 复制代码
{
  "defaultProvider": "anthropic",
  "defaultModel": "claude-sonnet-4-20250514",
  "defaultThinkingLevel": "medium",
  "theme": "dark"
}

配置系统覆盖的常用字段类别一览(各字段详细含义分散在后续章节展开):

分类 关键字段
模型与思考 defaultProviderdefaultModeldefaultThinkingLevelthinkingBudgets
项目信任 defaultProjectTrust(详见第四部分)
压缩 compaction.enabledcompaction.reserveTokenscompaction.keepRecentTokens
重试 retry.enabledretry.maxRetriesretry.baseDelayMsretry.provider.*
资源加载 packagesextensionsskillspromptsenableSkillCommands
会话 sessionDir
Shell shellPath

相关推荐
T型码农要学习2 小时前
开源项目5|FileBrowser:免费在线文件管理器!随时随地管控服务器文件
运维·服务器·人工智能·开源
智恒百亿2 小时前
8 卡 RTX 5090 服务器深度实测:256GB 显存能否支撑 70B 模型微调?选型参考
大数据·运维·服务器·人工智能
ai小陈4 小时前
PyTorch DataLoader数据加载性能排查:GPU利用率低的实操指南
人工智能·pytorch·python·深度学习·ai·gpu算力
测试者家园6 小时前
为什么意图驱动测试是自动化测试的下一站,而不是替代品
自动化测试·软件测试·人工智能·持续测试·ai赋能·智能化测试·软件测试变革
D202020207 小时前
TikTok Shop禁止AI语音直播落地后,跨境卖家如何通过达秘合规调整带货内容
人工智能
像风一样自由20207 小时前
20.Milvus常见问题检索不到维度错误和数据一致性
人工智能·大模型·milvus
现代野蛮人7 小时前
【深度学习实验】—— 基于 LSTM 与 Optuna 调参的丙型肝炎预测
人工智能·深度学习·lstm
支支დ7 小时前
VO by Vercel 前端特定优势:为什么它是构建 AI 应用的新范式
前端·人工智能
ZGIAI8 小时前
ZGI 让那些"等你去处理"的事,真正跑起来
人工智能·架构
ZGIAI8 小时前
ZGI:别再做Agent Demo了,先问问它在业务里能不能撑过下周三
人工智能·架构