Pi Agent: Session Management

Última atualização: 2026-08-31

--- title: "Gerenciamento de Sessao" description: "Domine o gerenciamento de sessoes do Pi Agent incluindo criacao, persistencia, recuperacao, ramificacao e compartilhamento." order: 8 lang: pt-br

Sessões são as "cápsulas de memória" do Agent — salve para continuar depois; ramifique para explorar possibilidades.


1. O que é uma Sessão

Uma Sessão registra uma interação completa, incluindo:

PYTHON
from pi_agent import Agent, Session

session = Session(name="project_review")
agent = Agent(name="reviewer", session=session)

agent.chat("Review main.py")
agent.chat("What security issues are there?")

print(len(session.messages))  # 4 (2 user + 2 assistant)

2. Persistência de Sessão

(1) Salvar em Arquivo

PYTHON
from pi_agent import Agent

agent = Agent(name="tutor")
agent.chat("Teach me Python decorators")

agent.session.save("decorator_session.json")

(2) Carregar de Arquivo

PYTHON
from pi_agent import Agent

agent = Agent(name="tutor")
agent.session.load("decorator_session.json")

agent.chat("How does it differ from class method decorators?")

(3) Salvamento Automático

PYTHON
agent = Agent(name="tutor", auto_save=True, save_dir="./sessions/")

3. Ramificação de Sessão

Ramificação cria caminhos de conversa paralelos a partir de qualquer ponto:

Exemplo 1: Explorando Diferentes Abordagens (Dificuldade: ⭐⭐)

PYTHON
from pi_agent import Agent

agent = Agent(name="architect")
agent.chat("Design a user authentication system architecture")
# Agent gave JWT approach

branch1 = agent.branch(name="jwt_branch")

agent.chat("Redesign using OAuth2")
# Agent gave OAuth2 approach

branch1.chat("How to handle token refresh in JWT?")

# Two independent sessions
print(agent.session.messages)       # JWT -> OAuth2 path
print(branch1.session.messages)     # JWT -> refresh path

4. CLI de Gerenciamento de Sessões

BASH
pi-agent sessions list
pi-agent sessions show decorator_session
pi-agent chat --session decorator_session
pi-agent sessions delete old_session
pi-agent sessions export decorator_session --format markdown --output chat.md

5. Busca e Tags de Sessão

(1) Adicionar Tags

PYTHON
agent.session.add_tag("python")
agent.session.add_tag("decorator")
agent.session.add_tag("advanced")

(2) Buscar Sessões

PYTHON
from pi_agent import SessionManager

manager = SessionManager()
sessions = manager.find_by_tag("python")
sessions = manager.find_by_date("2026-08-28")
sessions = manager.search("decorator closure")

(3) Busca via CLI

BASH
pi-agent sessions search "decorator"
pi-agent sessions list --tag python --date 2026-08-28

6. Compartilhamento de Sessão

(1) Exportar como Markdown

PYTHON
agent.session.export("chat.md", format="markdown")

(2) Exportar como JSON

PYTHON
agent.session.export("chat.json", format="json")

(3) Compartilhar com Outro Agent

PYTHON
new_agent = Agent(name="continuer")
new_agent.session.import_from(agent.session)
new_agent.chat("Continue the discussion, dive deeper into metaclasses")

❓ Perguntas Frequentes

P: Onde os arquivos de sessão são armazenados? R: O padrão é ~/.pi-agent/sessions/. Personalize com o parâmetro save_dir. P: Quão grandes os arquivos de sessão ficam? R: Depende do comprimento da conversa. ~50-200KB para 100 turnos. Imagens e código longo aumentam o tamanho. P: Posso mesclar duas sessões? R: Sim. Use session.merge(other_session). As mensagens são ordenadas por timestamp.


❓ Resumo


📝 Exercícios

  1. Básico (Dificuldade: ⭐): Crie uma sessão, faça 5 rodadas de conversa, salve e recarregue.
  2. Intermediário (Dificuldade: ⭐⭐): Crie duas ramificações a partir de uma sessão, explore abordagens diferentes, compare resultados.
  3. Avançado (Dificuldade: ⭐⭐⭐): Construa um script de "painel de sessões" que mostre estatísticas de todas as sessões: tags, contagem de turnos, uso de tokens.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%