Parameters Reference

Every constructor parameter for every agent type, RAG, memory, and storage class — with types, defaults, and when-to-use notes.

13 min read
19 sections
Edit this page

A single-page reference to every public constructor parameter in shipit_agent. Use this as the cheat sheet you keep open in another tab while you build.

Conventions:

  • Type — Python type hint
  • Default — value when omitted (or required for required args)
  • What it does — one-line description
  • Use it when — concrete trigger for setting it

Agent

The core class. Every other agent type wraps an Agent internally.

python
from shipit_agent import Agent

agent = Agent(
    llm=llm,
    rag=my_rag,
    max_iterations=8,
    parallel_tool_execution=True,
)
ParameterTypeDefaultWhat it doesUse it when
llmLLMrequiredThe LLM client used for every completion.Always.
promptstrDEFAULT_AGENT_PROMPTThe system prompt.Override to give the agent a persona or domain framing.
toolslist[Tool][]Tools the agent can call.Pass your own tool list. Use with_builtins() for the full catalogue.
mcpslist[MCPServer][]MCP servers attached at run time.Connect to remote / local MCP tool servers.
namestr"shipit"Agent identifier surfaced in events and traces.Multi-agent setups — give each one a name.
descriptionstr""Free-form description (used in traces and supervisor delegation).Multi-worker supervisors.
metadatadict[str, Any]{}Arbitrary metadata attached to every event.Tag runs with request id, user id, etc.
historylist[Message][]Pre-existing conversation messages to seed the run.Resume a chat from previous context.
memory_storeMemoryStore | NoneNoneLong-term memory store.Cross-conversation knowledge persistence.
session_storeSessionStore | NoneNoneConversation history store.Multi-turn chat with persistence.
credential_storeCredentialStore | NoneNoneOAuth tokens / API keys.Tools that need credentials (Slack, Gmail, …).
trace_storeTraceStore | NoneNoneAudit log of every event.Production observability.
session_idstr | NoneNoneLogical session identifier.Multi-turn chat with session_store.
trace_idstr | NoneNoneLogical trace identifier.Distributed tracing.
max_iterationsint4Hard cap on LLM iterations per run.Bump higher for deep reasoning, lower to fail fast.
retry_policyRetryPolicyRetryPolicy()LLM/tool retry behaviour.Production with flaky upstreams.
router_policyRouterPolicyRouterPolicy()Auto-planning + tool routing.Disable auto-plan with RouterPolicy(auto_plan=False).
parallel_tool_executionboolFalseRun independent tool calls in parallel.Latency-sensitive runs with multiple parallel calls.
hooksAgentHooks | NoneNonePre/post-LLM and tool middleware.Custom logging, redaction, instrumentation.
context_window_tokensint0Auto-compact messages above this token count (0 = off).Long runs against models with finite context.
replan_intervalint0Re-run the planner every N iterations (0 = off).Long-horizon tasks where the plan should evolve.
ragRAG | NoneNoneAuto-wires RAG tools + system prompt + source tracker.Grounded answers with citations.

Class methods:

  • Agent.with_builtins(llm=..., **kwargs) — also wires the full builtin tool catalogue (web search, code exec, file workspace, integrations, …).

DeepAgent

Power-user create_deep_agent factory. Strict superset of LangChain's create_deep_agent. See DeepAgent docs.

python
from shipit_agent.deep import DeepAgent

agent = DeepAgent.with_builtins(
    llm=llm,
    rag=rag,
    verify=True,
    reflect=True,
    max_iterations=20,
)
ParameterTypeDefaultWhat it doesUse it when
llmLLMrequiredBacking LLM client.Always.
namestr"shipit-deep-agent"Agent identifier.Multi-agent setups.
descriptionstr"A deep agent that plans, verifies, and uses a workspace."Free-form description.Supervisor delegation.
promptstrDEEP_AGENT_PROMPTOpinionated deep-agent system prompt.Override only if you know what you're doing.
extra_toolslist[Tool][]User tools to add on top of the deep tool set.Add domain-specific tools.
mcpslist[MCPServer][]MCP servers.Tool servers.
workspace_rootstr".shipit_workspace"Filesystem root for workspace_files.Customise where the agent's notes live.
Power features
ragRAG | NoneNoneAuto-wired RAG with source citations.Grounded answers.
memoryAgentMemory | NoneNoneLong-term cross-session memory.Multi-session knowledge retention.
memory_storeMemoryStore | NoneNoneBacking memory store.Custom persistence.
session_storeSessionStore | NoneNoneSession backing for chat().Persistent chat.
verifyboolFalseRun verify_output after every answer; verdict on result.metadata["verification"].High-stakes answers that must be checked.
reflectboolFalseWrap in ReflectiveAgent — generate, critique, revise loop.Quality matters more than latency.
reflect_thresholdfloat0.8Quality target (0..1) for reflection.Tune how strict reflection is.
reflect_max_iterationsint3Max self-critique iterations.Cap reflection cost.
goalGoal | NoneNoneSwitch to goal-driven mode (delegates to GoalAgent).You have explicit success criteria.
Runtime tuning
max_iterationsint8Max LLM iterations.Deeper reasoning vs faster fails.
parallel_tool_executionboolTrueParallelise independent tool calls.Default on — disable for debugging.
context_window_tokensint0Auto-compact above N tokens.Very long runs against finite-context models.
retry_policyRetryPolicy | NoneNoneOverride retry behaviour.Flaky upstreams.
router_policyRouterPolicy | NoneNoneOverride routing.Disable auto-plan.
hooksAgentHooks | NoneNoneMiddleware.Custom logging / redaction.
trace_storeTraceStore | NoneNoneAudit log.Production observability.
credential_storeCredentialStore | NoneNoneOAuth tokens.Connector tools.
Builtins
use_builtinsboolFalseBundle the regular built-in tool catalogue.Default on for with_builtins().
web_search_providerstr"duckduckgo"Web search backend."brave", "tavily", "serper", "playwright".
web_search_api_keystr | NoneNoneAPI key for the web search provider.Required for everything except DDG.

Methods: run, stream, chat, add_tool, add_mcp. See DeepAgent docs.


create_deep_agent (functional helper)

LangChain-compatible spelling.

python
from shipit_agent.deep import create_deep_agent

agent = create_deep_agent(
    llm=llm,
    tools=[my_tool, plain_python_function],
    system_prompt="...",
    rag=rag,
    verify=True,
)
ParameterTypeDefaultWhat it does
llmLLMrequiredLLM client.
toolslist[Tool | Callable]NoneTools or plain Python functions. Functions are auto-wrapped as FunctionTool.
system_promptstrDEEP_AGENT_PROMPTSystem prompt.
ragRAG | NoneNoneRAG instance.
use_builtinsboolFalseBundle the builtin tool catalogue.
verifyboolFalseVerification mode.
reflectboolFalseReflective mode.
goalGoal | NoneNoneGoal-driven mode.
memoryAgentMemory | NoneNoneLong-term memory.
max_iterationsint8Iteration cap.
**kwargsForwarded to DeepAgent.__init__.

GoalAgent

Decompose → execute → self-evaluate.

python
from shipit_agent.deep import Goal, GoalAgent

goal_agent = GoalAgent.with_builtins(
    llm=llm,
    goal=Goal(
        objective="Build a calculator CLI",
        success_criteria=["Handles +,-,*,/", "Has tests", "Has error handling"],
    ),
    rag=rag,
)
result = goal_agent.run()  # GoalResult
ParameterTypeDefaultWhat it does
llmLLMrequiredLLM client.
goalGoalrequiredObjective + success criteria + max_steps.
toolslist[Tool][]Tools the inner agent can use.
mcpslist[MCPServer][]MCP servers.
use_builtinsboolFalseBundle the builtin tool catalogue.
promptstr"You are a helpful assistant. Complete the task thoroughly."System prompt.
memoryAgentMemory | NoneNoneLong-term memory.
ragRAG | NoneNoneRAG instance — forwarded to every inner Agent build.
**agent_kwargsForwarded to the inner Agent.

Goal fields:

FieldTypeDefault
objectivestrrequired
success_criterialist[str][]
max_stepsint20

ReflectiveAgent

Generate → critique → revise.

python
from shipit_agent.deep import ReflectiveAgent

agent = ReflectiveAgent.with_builtins(
    llm=llm,
    quality_threshold=0.8,
    max_reflections=3,
    rag=rag,
)
ParameterTypeDefault
llmLLMrequired
toolslist[Tool][]
mcpslist[MCPServer][]
reflection_promptstr"Check for accuracy, completeness, and clarity."
max_reflectionsint3
quality_thresholdfloat0.8
use_builtinsboolFalse
promptstr"You are a helpful assistant."
memoryAgentMemory | NoneNone
**agent_kwargsForwarded to inner Agent (so rag= works).

AdaptiveAgent

Writes new tools at runtime.

python
from shipit_agent.deep import AdaptiveAgent

agent = AdaptiveAgent.with_builtins(
    llm=llm,
    can_create_tools=True,
    sandbox=True,
)
ParameterTypeDefault
llmLLMrequired
toolslist[Tool][]
mcpslist[MCPServer][]
can_create_toolsboolTrue
sandboxboolTrue
use_builtinsboolFalse
promptstr"You are a helpful assistant."
**agent_kwargsForwarded to inner Agent.

Supervisor

Coordinates multiple worker agents.

python
from shipit_agent.deep import Supervisor

supervisor = Supervisor.with_builtins(
    llm=llm,
    worker_configs=[{"name": "researcher", "prompt": "You research."},
        {"name": "writer", "prompt": "You write."},],
    rag=rag,
    max_delegations=15,
)
ParameterTypeDefault
llmLLMrequired
workerslist[Worker]required (use with_builtins(worker_configs=...) for the easy path)
strategystr"plan_and_delegate"
allow_parallelboolFalse
max_delegationsint15
ragRAG | NoneNone — wired into every with_builtins worker
**agent_kwargsForwarded to every worker Agent built via with_builtins.

Worker fields:

FieldTypeDefault
namestrrequired
agentAnyrequired
capabilitieslist[str][]

PersistentAgent

Long-running checkpointed task.

python
from shipit_agent.deep import PersistentAgent

agent = PersistentAgent(
    llm=llm,
    checkpoint_dir="./checkpoints",
    checkpoint_interval=5,
    max_steps=50,
    rag=rag,
)
agent.run("long task", agent_id="task-1")
agent.resume(agent_id="task-1")  # after a crash
ParameterTypeDefault
llmLLMrequired
toolslist[Tool][]
checkpoint_dirstr".shipit_checkpoints"
checkpoint_intervalint5
max_stepsint50
ragRAG | NoneNone
**agent_kwargsForwarded to inner Agent.

RAG

The Super RAG facade. See Super RAG docs.

python
from shipit_agent.rag import RAG, HashingEmbedder

rag = RAG.default(embedder=HashingEmbedder(dimension=512))
rag.index_file("docs/manual.pdf")
ctx = rag.search("python version", top_k=5, enable_reranking=True)
ParameterTypeDefaultWhat it does
vector_storeVectorStorerequiredCosine vector index.
embedderEmbedder | CallablerequiredAnything coercible to an Embedder.
keyword_storeKeywordStore | NoneNoneOptional BM25 index for hybrid search.
rerankerReranker | NoneNoneLLM / Cohere / cross-encoder reranker.
chunkerDocumentChunker | NoneDocumentChunker()Chunking strategy.
auto_embed_on_addboolTrueSet False when reloading chunks that already have embeddings.

RAG.search keyword arguments:

ParameterTypeDefaultWhat it does
querystrrequiredNatural-language query.
top_kint5Max chunks returned.
filtersIndexFilters | NoneNoneScope by source, document_id, metadata, time.
hybrid_alphafloat0.51.0 = pure vector, 0.0 = pure BM25.
enable_rerankingboolFalseRun the reranker over top candidates.
enable_recency_biasboolFalseExponential decay over created_at.
chunks_aboveint0Number of preceding neighbouring chunks to expand.
chunks_belowint0Number of following neighbouring chunks to expand.

DocumentChunker

ParameterTypeDefaultDescription
target_tokensint512Preferred chunk size.
overlap_tokensint64Character-overlap budget between consecutive chunks.
title_prefix_charsint64Title characters prepended to text_for_embedding.

HashingEmbedder / CallableEmbedder

python
from shipit_agent.rag import HashingEmbedder, CallableEmbedder

# Stdlib-only deterministic embedder (great for tests / demos)
hash_emb = HashingEmbedder(dimension=384, seed="shipit-rag")

# Wrap any callable
def embed(texts: list[str]) -> list[list[float]]:
    return my_provider.embed(texts)

custom_emb = CallableEmbedder(fn=embed, dimension=1536)
ClassParameterDefault
HashingEmbedderdimension384
HashingEmbedderseed"shipit-rag"
CallableEmbedderfnrequired
CallableEmbedderdimensionrequired

LLMReranker

python
from shipit_agent.rag import LLMReranker

reranker = LLMReranker(llm=my_llm, batch_size=10)
ParameterTypeDefault
llmLLMrequired
batch_sizeint10

AgentMemory

python
from shipit_agent import AgentMemory

memory = AgentMemory.default(llm=llm, embedding_fn=embed)

AgentMemory is the unified facade over ConversationMemory, SemanticMemory, and EntityMemory. See the Advanced Memory guide for the full parameter set on each component class.


RetryPolicy

python
from shipit_agent.policies import RetryPolicy

policy = RetryPolicy(
    max_retries=3,
    base_delay=1.0,
    max_delay=30.0,
    backoff_factor=2.0,
    retry_on_tool_failure=True,
)
ParameterTypeDefaultDescription
max_retriesint3Max retry attempts.
base_delayfloat1.0Initial delay in seconds.
max_delayfloat30.0Cap on delay between retries.
backoff_factorfloat2.0Exponential backoff multiplier.
retry_on_tool_failureboolTrueRetry tools on transient failures.

RouterPolicy

python
from shipit_agent.policies import RouterPolicy

policy = RouterPolicy(
    auto_plan=True,
    use_tool_search=True,
    tool_search_top_k=5,
)
ParameterTypeDefaultDescription
auto_planboolTrueAuto-invoke plan_task before the first LLM call.
use_tool_searchboolFalseUse tool_search to short-list tools.
tool_search_top_kint5Number of tools surfaced by tool_search.

AgentChatSession (Agent.chat_session(), DeepAgent.chat())

python
session = agent.chat_session(session_id="user-42", trace_id="req-1")
for event in session.stream("Hi"):
    print(event.message)
ParameterTypeDefaultDescription
agentAgentrequiredThe underlying agent.
session_idstrrequiredLogical session identifier.
trace_idstr | NoneNoneDistributed-trace id.
session_storeSessionStore | NoneNoneBacking store. Defaults to agent.session_store or InMemorySessionStore.

Storage backends

ClassModuleConstructor
InMemorySessionStoreshipit_agent.storesInMemorySessionStore()
FileSessionStoreshipit_agent.storesFileSessionStore(root="path/")
InMemoryMemoryStoreshipit_agent.storesInMemoryMemoryStore()
FileMemoryStoreshipit_agent.storesFileMemoryStore(root="path/")
InMemoryTraceStoreshipit_agentInMemoryTraceStore()
FileTraceStoreshipit_agentFileTraceStore(root="path/")

All four protocols (SessionStore, MemoryStore, TraceStore, CredentialStore) are documented in Architecture.


CLI — shipit chat

bash
shipit chat [--agent TYPE] [--provider NAME] [--session-id ID]
            [--session-dir PATH] [--workspace PATH]
            [--rag-file PATH ...] [--rag-dim INT]
            [--reflect] [--verify]
            [--goal TEXT] [--criteria TEXT ...]
            [--no-builtins] [--quiet]
FlagTypeDefaultDescription
--agentchoicedeepOne of agent, deep, goal, reflective, adaptive, supervisor, persistent.
--providerstr$SHIPIT_LLM_PROVIDERLLM provider override.
--session-idstrrandomResume a specific session id.
--session-dirpath(in-memory)Persist sessions to disk.
--workspacepath.shipit_workspaceWorkspace root for workspace_files.
--rag-filepath (repeatable)[]Index a file before the session starts.
--rag-dimint512HashingEmbedder dimension when --rag-file is used.
--reflectflagoffEnable reflective mode (DeepAgent).
--verifyflagoffEnable verification mode (DeepAgent).
--goalstrnoneGoal objective (use with --agent goal).
--criteriastr (repeatable)[]Goal success criterion.
--no-builtinsflagoffSkip the regular builtin tool catalogue.
--quietflagoffHide intermediate event stream.

Slash commands inside the REPL: /help, /agent, /agents, /tools, /sources, /index, /rag, /goal, /reflect, /verify, /history, /clear, /save, /load, /reset, /quiet, /info, /exit, /quit. See DeepAgent docs.


See also