Reasoning Finance Agent
ReasoningTools and WebSearch for step-by-step financial analysis on Slack
Part of the Slack interface examples. Follow the setup guide.
The source example below uses claude-sonnet-4-20250514, which Anthropic retired. Before running it, replace that model ID with claude-sonnet-4-6 (or another available compatible Claude model).
Code
from agno.agent import Agent
from agno.db.sqlite import SqliteDb
from agno.models.anthropic import Claude
from agno.os.app import AgentOS
from agno.os.interfaces.slack import Slack
from agno.tools.reasoning import ReasoningTools
from agno.tools.websearch import WebSearchTools
agent_db = SqliteDb(session_table="agent_sessions", db_file="tmp/persistent_memory.db")
reasoning_finance_agent = Agent(
name="Reasoning Finance Agent",
model=Claude(id="claude-sonnet-4-20250514"),
db=agent_db,
tools=[
ReasoningTools(add_instructions=True),
WebSearchTools(),
],
instructions="Use tables to display data. When you use thinking tools, keep the thinking brief.",
add_history_to_context=True,
num_history_runs=3,
add_datetime_to_context=True,
markdown=True,
)
# Setup our AgentOS app
agent_os = AgentOS(
agents=[reasoning_finance_agent],
interfaces=[Slack(agent=reasoning_finance_agent)],
)
app = agent_os.get_app()
if __name__ == "__main__":
agent_os.serve(app="reasoning_agent:app", reload=True)Usage
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activateSet Environment Variables
export SLACK_TOKEN=***
export SLACK_SIGNING_SECRET=***
export ANTHROPIC_API_KEY=***Install Dependencies
uv pip install 'agno[os,slack]' anthropic ddgsRun Example
python reasoning_agent.pyKey Features
- Chain-of-Thought Reasoning: ReasoningTools enables structured step-by-step analysis
- Web Search: Searches the web for current information via WebSearchTools
- Persistent Sessions: SQLite database for conversation history across restarts