エージェントは自律的に動作する AI プログラムです。従来のソフトウェアは事前にプログラムされた一連のステップに従いますが、エージェントは機械学習モデルを使用して行動方針を動的に決定します。
Agno は人気急上昇中のマルチエージェント・システムを構築するためのフルスタック・フレームワークです。
Agno : ユーザガイド : イントロダクション : エージェントとは ? / Colab 実行例
作成 : クラスキャット・セールスインフォメーション
作成日時 : 07/12/2025
バージョン : Agno 1.7.1
* 本記事は docs.agno.com の以下のページを独自に翻訳した上で、Google Colab 上での動作確認を加えてまとめ直しています :
* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。
Agno ユーザガイド : イントロダクション : エージェントとは ? / Colab 実行例
エージェントは自律的に動作する AI プログラムです。
従来のソフトウェアは事前にプログラムされた一連のステップに従います。エージェントは機械学習モデルを使用して行動方針を動的に決定します、そのコア・コンポーネントは :
- モデル : 実行フローを制御します。推論、行動、応答かのいずれかを決定します。
- ツール : エージェントがアクションを実行しう、外部システムとやり取りすることを可能にします。
- 指示 (Instructions) : エージェントをプログラムし、ツールを使用したり応答する方法を教える手段です。
エージェントはまたメモリ、知識、ストレージと推論能力も備えています :
- 推論 : エージェントが応答前に「考える」ことができて、アクション (i.e. ツール呼び出し) の結果を「分析する」ことができるようにします、これは応答の信頼性と品質を向上させます。
- 知識 : エージェントが実行時に検索してより良い決定を行い正確な応答を提供できるようにするドメイン固有情報です (RAG)。知識はベクトルデータベースに保存されて、この実行時検索パターンはエージェント型 RAG/エージェント型検索と呼ばれます。
- ストレージ : セッション履歴や状態をデータベースに保存するためにエージェントが使用します。モデル API はステートレスですが、ストレージは会話を中断したところから継続することを可能にします。これはエージェントをステートフルにし、複数ターンや長期の会話を可能にします。
- メモリ : エージェントに以前のやり取りからの情報を保存して思い起こす機能を与え、ユーザの好みを学習したり応答をパーソナライズすることを可能にします。
レベル 1 : ツールと指示を備えたエージェント
最も単純なエージェントはモデル、ツールと指示から成ります。yfinance ライブラリを使用してデータを取得し、結果をテーブルに表示する指示を持つエージェントを構築しましょう。
level_1_agent.py
from agno.agent import Agent
from agno.models.anthropic import Claude
from agno.tools.yfinance import YFinanceTools
agent = Agent(
model=Claude(id="claude-sonnet-4-20250514"),
tools=[YFinanceTools(stock_price=True)],
instructions="Use tables to display data. Don't include any other text.",
markdown=True,
)
agent.print_response("What is the stock price of Apple?", stream=True)
仮想環境を作成し、依存関係をインストールし、API キーをエクスポートしてエージェントを実行します。
- 仮想環境のセットアップ
uv venv --python 3.12 source .venv/bin/activate
- 依存関係のインストール
uv pip install -U agno anthropic yfinance
- Anthropic キーのエクスポート
export ANTHROPIC_API_KEY=sk-***
- エージェントの実行
python level_1_agent.py
Note : Set debug_mode=True or export AGNO_DEBUG=true to see the system prompt and user messages.
Colab で実行
Google Colab で動作確認をしておきます :
%%capture --no-stderr
%pip install -U --quiet agno anthropic yfinance
import getpass
import os
def _set_env(key: str):
if key not in os.environ:
os.environ[key] = getpass.getpass(f"{key}:")
_set_env("ANTHROPIC_API_KEY")
from agno.agent import Agent
from agno.models.anthropic import Claude
from agno.tools.yfinance import YFinanceTools
agent = Agent(
model=Claude(id="claude-sonnet-4-20250514"),
tools=[YFinanceTools(stock_price=True)],
instructions="Use tables to display data. Don't include any other text.",
markdown=True,
)
agent.print_response("What is the stock price of Apple?", stream=True)
出力例
▰▱▱▱▱▱▱ Thinking...
┏━ Message ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ┃
┃ What is the stock price of Apple? ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┏━ Tool Calls ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ┃
┃ • get_current_stock_price(symbol=AAPL) ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┏━ Response (5.0s) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ┃
┃ ┃
┃ ┃
┃ Stock Symbol Current Price ┃
┃ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃
┃ AAPL $210.70 ┃
┃ ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
レベル 2 : 知識とストレージを備えたエージェント
知識 (Knowledge) : モデルは膨大な量のトレーニングデータを持っていますが、より良い決定を行い、正確な応答を提供するためには殆ど常にドメイン固有情報を提供する必要があります (RAG)。この情報はベクトルデータベースにストアし、エージェントが実行時にそれを検索できるようにします。
ストレージ : モデル API はステートレスで、ストレージドライバはチャット履歴と状態をデータベースに保存します。エージェント実行時、データベースからチャット履歴と状態を読み取り、メッセージリストに追加し、会話を再開し、エージェントをステートフルにします。
この例では、以下を使用します :
- UrlKnowledge : 埋め込み用に OpenAI を使用して、Agno ドキュメントを LanceDB にロードします。
- SqliteStorage :エージェントのセッション履歴と状態をデータベースに保存します。
level_2_agent.py
from agno.agent import Agent
from agno.embedder.openai import OpenAIEmbedder
from agno.knowledge.url import UrlKnowledge
from agno.models.anthropic import Claude
from agno.storage.sqlite import SqliteStorage
from agno.vectordb.lancedb import LanceDb, SearchType
# Load Agno documentation in a knowledge base
# You can also use `https://docs.agno.com/llms-full.txt` for the full documentation
knowledge = UrlKnowledge(
urls=["https://docs.agno.com/introduction.md"],
vector_db=LanceDb(
uri="tmp/lancedb",
table_name="agno_docs",
search_type=SearchType.hybrid,
# Use OpenAI for embeddings
embedder=OpenAIEmbedder(id="text-embedding-3-small", dimensions=1536),
),
)
# Store agent sessions in a SQLite database
storage = SqliteStorage(table_name="agent_sessions", db_file="tmp/agent.db")
agent = Agent(
name="Agno Assist",
model=Claude(id="claude-sonnet-4-20250514"),
instructions=[
"Search your knowledge before answering the question.",
"Only include the output in your response. No other text.",
],
knowledge=knowledge,
storage=storage,
add_datetime_to_instructions=True,
# Add the chat history to the messages
add_history_to_messages=True,
# Number of history runs
num_history_runs=3,
markdown=True,
)
if __name__ == "__main__":
# Load the knowledge base, comment out after first run
# Set recreate to True to recreate the knowledge base if needed
agent.knowledge.load(recreate=False)
agent.print_response("What is Agno?", stream=True)
依存関係をインストールし、OPENAI_API_KEY をエクスポートしてエージェントを実行します。
- 新しい依存関係のインストール
uv pip install -U lancedb tantivy openai sqlalchemy
- エージェントの実行
python level_2_agent.py
Colab で実行
Google Colab で動作確認をしましょう :
%%capture --no-stderr
%pip install -U --quiet agno anthropic yfinance
%pip install -U --quiet lancedb tantivy openai sqlalchemy pylance
import getpass
import os
def _set_env(key: str):
if key not in os.environ:
os.environ[key] = getpass.getpass(f"{key}:")
_set_env("ANTHROPIC_API_KEY")
_set_env("OPENAI_API_KEY")
from agno.agent import Agent
from agno.embedder.openai import OpenAIEmbedder
from agno.knowledge.url import UrlKnowledge
from agno.models.anthropic import Claude
from agno.storage.sqlite import SqliteStorage
from agno.vectordb.lancedb import LanceDb, SearchType
# Load Agno documentation in a knowledge base
# You can also use `https://docs.agno.com/llms-full.txt` for the full documentation
knowledge = UrlKnowledge(
urls=["https://docs.agno.com/introduction.md"],
vector_db=LanceDb(
uri="tmp/lancedb",
table_name="agno_docs",
search_type=SearchType.hybrid,
# Use OpenAI for embeddings
embedder=OpenAIEmbedder(id="text-embedding-3-small", dimensions=1536),
),
)
INFO Creating table: agno_docs
# Store agent sessions in a SQLite database
storage = SqliteStorage(table_name="agent_sessions", db_file="tmp/agent.db")
agent = Agent(
name="Agno Assist",
model=Claude(id="claude-sonnet-4-20250514"),
instructions=[
"Search your knowledge before answering the question.",
"Only include the output in your response. No other text.",
],
knowledge=knowledge,
storage=storage,
add_datetime_to_instructions=True,
# Add the chat history to the messages
add_history_to_messages=True,
# Number of history runs
num_history_runs=3,
markdown=True,
)
# Load the knowledge base, comment out after first run
# Set recreate to True to recreate the knowledge base if needed
agent.knowledge.load(recreate=False)
INFO Loading knowledge base
INFO Added 2 documents to knowledge base
agent.print_response("What is Agno?", stream=True)
レベル 3 : メモリと推論を備えたエージェント
- 推論 (Reasoning) : エージェントが「考える」&「分析する」ことを可能にし、信頼性と品質向上させます。ReasoningTools はエージェントの応答品質を向上させる最善のアプローチの一つです。
- メモリ : エージェントがユーザの好みを分類、保存、思い起こす (recall) ことを可能にし、応答をパーソナライズします。メモリは、エージェントがペルソナを構築して以前のやり取りから学習するのに役立ちます。
level_3_agent.py
from agno.agent import Agent
from agno.memory.v2.db.sqlite import SqliteMemoryDb
from agno.memory.v2.memory import Memory
from agno.models.anthropic import Claude
from agno.tools.reasoning import ReasoningTools
from agno.tools.yfinance import YFinanceTools
memory = Memory(
# Use any model for creating and managing memories
model=Claude(id="claude-sonnet-4-20250514"),
# Store memories in a SQLite database
db=SqliteMemoryDb(table_name="user_memories", db_file="tmp/agent.db"),
# We disable deletion by default, enable it if needed
delete_memories=True,
clear_memories=True,
)
agent = Agent(
model=Claude(id="claude-sonnet-4-20250514"),
tools=[
ReasoningTools(add_instructions=True),
YFinanceTools(stock_price=True, analyst_recommendations=True, company_info=True, company_news=True),
],
# User ID for storing memories, `default` if not provided
user_id="ava",
instructions=[
"Use tables to display data.",
"Include sources in your response.",
"Only include the report in your response. No other text.",
],
memory=memory,
# Let the Agent manage its memories
enable_agentic_memory=True,
markdown=True,
)
if __name__ == "__main__":
# This will create a memory that "ava's" favorite stocks are NVIDIA and TSLA
agent.print_response(
"My favorite stocks are NVIDIA and TSLA",
stream=True,
show_full_reasoning=True,
stream_intermediate_steps=True,
)
# This will use the memory to answer the question
agent.print_response(
"Can you compare my favorite stocks?",
stream=True,
show_full_reasoning=True,
stream_intermediate_steps=True,
)
Colab で実行
Google Colab で動作確認をしましょう :
%%capture --no-stderr
%pip install -U --quiet agno anthropic yfinance
%pip install -U --quiet lancedb tantivy openai sqlalchemy pylance
import getpass
import os
def _set_env(key: str):
if key not in os.environ:
os.environ[key] = getpass.getpass(f"{key}:")
_set_env("ANTHROPIC_API_KEY")
from agno.agent import Agent
from agno.memory.v2.db.sqlite import SqliteMemoryDb
from agno.memory.v2.memory import Memory
from agno.models.anthropic import Claude
from agno.tools.reasoning import ReasoningTools
from agno.tools.yfinance import YFinanceTools
memory = Memory(
# Use any model for creating and managing memories
model=Claude(id="claude-sonnet-4-20250514"),
# Store memories in a SQLite database
db=SqliteMemoryDb(table_name="user_memories", db_file="tmp/agent.db"),
# We disable deletion by default, enable it if needed
delete_memories=True,
clear_memories=True,
)
agent = Agent(
model=Claude(id="claude-sonnet-4-20250514"),
tools=[
ReasoningTools(add_instructions=True),
YFinanceTools(stock_price=True, analyst_recommendations=True, company_info=True, company_news=True),
],
# User ID for storing memories, `default` if not provided
user_id="ava",
instructions=[
"Use tables to display data.",
"Include sources in your response.",
"Only include the report in your response. No other text.",
],
memory=memory,
# Let the Agent manage its memories
enable_agentic_memory=True,
markdown=True,
)
%%time
# This will create a memory that "ava's" favorite stocks are NVIDIA and TSLA
agent.print_response(
"My favorite stocks are NVIDIA and TSLA",
stream=True,
show_full_reasoning=True,
stream_intermediate_steps=True,
)
▰▰▰▰▰▰▰ Thinking...
┏━ Message ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ┃
┃ My favorite stocks are NVIDIA and TSLA ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┏━ Reasoning step 1 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ┃
┃ Understanding user's favorite stocks ┃
┃ Action: Update user memory with their favorite stocks information ┃
┃ ┃
┃ Reasoning: The user has mentioned their favorite stocks are NVIDIA and TSLA (Tesla). This is information I ┃
┃ should capture in their memory for future reference. I should use the update_user_memory tool to store this ┃
┃ preference information. ┃
┃ Confidence: 1.0 ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┏━ Tool Calls ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ┃
┃ • think(title=Understanding user's favorite stocks, thought=The user has mentioned their favorite stocks are ┃
┃ NVIDIA and TSLA (Tesla). This is information I should capture in their memory for future reference. I should ┃
┃ use the update_user_memory tool to store this preference information., action=Update user memory with their ┃
┃ favorite stocks information, confidence=1.0) ┃
┃ • update_user_memory(task=Add a new memory that the user's favorite stocks are NVIDIA and TSLA (Tesla). This ┃
┃ shows their preference for technology and electric vehicle stocks.) ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┏━ Response (17.2s) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ┃
┃ Thanks for sharing your favorite stocks! I've noted that you prefer NVIDIA and TSLA (Tesla) - both excellent ┃
┃ choices in the technology and electric vehicle sectors. ┃
┃ ┃
┃ Would you like me to provide any information about these stocks, such as their current prices, recent news, ┃
┃ analyst recommendations, or company overviews? I can help you stay updated on your favorite investments. ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
CPU times: user 1.39 s, sys: 79.8 ms, total: 1.47 s
Wall time: 17.7 s
%%time
# This will use the memory to answer the question
agent.print_response(
"Can you compare my favorite stocks?",
stream=True,
show_full_reasoning=True,
stream_intermediate_steps=True,
)
▰▰▱▱▱▱▱ Thinking...
┏━ Message ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ┃
┃ Can you compare my favorite stocks? ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┏━ Reasoning step 1 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ┃
┃ Understanding user request and recalling their favorite stocks ┃
┃ Action: Gather comprehensive data for both NVIDIA and TSLA stocks including current prices, company info, ┃
┃ analyst recommendations, and recent news ┃
┃ ┃
┃ Reasoning: The user is asking me to compare their favorite stocks. From the memories, I can see that their ┃
┃ favorite stocks are NVIDIA and TSLA (Tesla). I should gather comprehensive information about both stocks to ┃
┃ provide a meaningful comparison. This would include current stock prices, company information, analyst ┃
┃ recommendations, and recent news for both companies. ┃
┃ Confidence: 0.95 ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┏━ Reasoning step 2 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ┃
┃ Comprehensive data gathered for both favorite stocks ┃
┃ Successfully gathered comprehensive data for both NVIDIA (NVDA) and Tesla (TSLA) including current stock ┃
┃ prices, company information, analyst recommendations, and recent news. NVIDIA is at $164.92 with a market cap ┃
┃ of $4.02T and strong buy recommendations, while Tesla is at $313.51 with a market cap of $1.01T and hold ┃
┃ recommendations. ┃
┃ Reasoning: I have all the necessary data to provide a comprehensive comparison of the user's favorite stocks. ┃
┃ The data includes financial metrics, analyst opinions, and recent news for both companies. NVIDIA shows ┃
┃ stronger analyst sentiment and financial metrics, while Tesla shows mixed performance with governance concerns. ┃
┃ I can now create a detailed comparison report. ┃
┃ Confidence: 0.95 ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┏━ Tool Calls ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ┃
┃ • think(title=Understanding user request and recalling their favorite stocks, thought=The user is asking me to ┃
┃ compare their favorite stocks. From the memories, I can see that their favorite stocks are NVIDIA and TSLA ┃
┃ (Tesla). I should gather comprehensive information about both stocks to provide a meaningful comparison. This ┃
┃ would include current stock prices, company information, analyst recommendations, and recent news for both ┃
┃ companies., action=Gather comprehensive data for both NVIDIA and TSLA stocks including current prices, company ┃
┃ info, analyst recommendations, and recent news, confidence=0.95) ┃
┃ • get_current_stock_price(symbol=NVDA) ┃
┃ • get_current_stock_price(symbol=TSLA) ┃
┃ • get_company_info(symbol=NVDA) ┃
┃ • get_company_info(symbol=TSLA) ┃
┃ • get_analyst_recommendations(symbol=NVDA) ┃
┃ • get_analyst_recommendations(symbol=TSLA) ┃
┃ • get_company_news(symbol=NVDA, num_stories=3) ┃
┃ • get_company_news(symbol=TSLA, num_stories=3) ┃
┃ • analyze(title=Comprehensive data gathered for both favorite stocks, result=Successfully gathered ┃
┃ comprehensive data for both NVIDIA (NVDA) and Tesla (TSLA) including current stock prices, company information, ┃
┃ analyst recommendations, and recent news. NVIDIA is at $164.92 with a market cap of $4.02T and strong buy ┃
┃ recommendations, while Tesla is at $313.51 with a market cap of $1.01T and hold recommendations., analysis=I ┃
┃ have all the necessary data to provide a comprehensive comparison of the user's favorite stocks. The data ┃
┃ includes financial metrics, analyst opinions, and recent news for both companies. NVIDIA shows stronger analyst ┃
┃ sentiment and financial metrics, while Tesla shows mixed performance with governance concerns. I can now create ┃
┃ a detailed comparison report., next_action=final_answer, confidence=0.95) ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┏━ Response (38.6s) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ┃
┃ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃
┃ ┃ Stock Comparison Report: Your Favorite Stocks ┃ ┃
┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┃
┃ ┃
┃ ┃
┃ Overview ┃
┃ ┃
┃ ┃
┃ Metric NVIDIA (NVDA) Tesla (TSLA) ┃
┃ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃
┃ Current Price $164.92 $313.51 ┃
┃ Market Cap $4.02 trillion $1.01 trillion ┃
┃ Sector Technology Consumer Cyclical ┃
┃ Industry Semiconductors Auto Manufacturers ┃
┃ ┃
┃ ┃
┃ ┃
┃ Financial Performance ┃
┃ ┃
┃ ┃
┃ Metric NVIDIA (NVDA) Tesla (TSLA) ┃
┃ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃
┃ P/E Ratio 53.2 178.13 ┃
┃ EPS $3.10 $1.76 ┃
┃ Revenue Growth 69.2% -9.2% ┃
┃ Gross Margins 70.1% 17.7% ┃
┃ EBITDA Margins 59.4% 13.1% ┃
┃ Free Cash Flow $55.4B $3.4B ┃
┃ 52-Week Range $86.62 - $167.89 $182.00 - $488.54 ┃
┃ ┃
┃ ┃
┃ ┃
┃ Analyst Recommendations ┃
┃ ┃
┃ NVIDIA (NVDA) ┃
┃ ┃
┃ • Overall Rating: Strong Buy ┃
┃ • Distribution: 12 Strong Buy, 46 Buy, 7 Hold, 1 Sell, 0 Strong Sell ┃
┃ • Total Analysts: 57 ┃
┃ ┃
┃ Tesla (TSLA) ┃
┃ ┃
┃ • Overall Rating: Hold ┃
┃ • Distribution: 7 Strong Buy, 14 Buy, 16 Hold, 7 Sell, 3 Strong Sell ┃
┃ • Total Analysts: 41 ┃
┃ ┃
┃ ┃
┃ Recent News Highlights ┃
┃ ┃
┃ NVIDIA ┃
┃ ┃
┃ • Historic Milestone: Became the first company to close above $4 trillion market cap ┃
┃ • CEO Activity: Jensen Huang spotted at the White House, potentially signaling important developments ┃
┃ • Market Performance: Continues to be viewed as undervalued despite record highs ┃
┃ ┃
┃ Tesla ┃
┃ ┃
┃ • Governance Concerns: Analyst Dan Ives suggested board oversight for CEO Elon Musk, leading to public dispute ┃
┃ • Tax Credit Alert: EV buyers need to act quickly to secure $7,500 federal tax credit ┃
┃ • SpaceX Success: While Tesla faces challenges, Musk's SpaceX continues strong financial performance ┃
┃ ┃
┃ ┃
┃ Key Insights ┃
┃ ┃
┃ NVIDIA Strengths: ┃
┃ ┃
┃ • Dominant position in AI/semiconductor market ┃
┃ • Exceptional profit margins (70.1% gross, 59.4% EBITDA) ┃
┃ • Strong analyst consensus with "Strong Buy" rating ┃
┃ • Record-breaking market valuation milestone ┃
┃ ┃
┃ Tesla Challenges: ┃
┃ ┃
┃ • Declining revenue growth (-9.2%) ┃
┃ • High valuation concerns (P/E of 178.13) ┃
┃ • Mixed analyst sentiment with "Hold" rating ┃
┃ • Governance and leadership questions ┃
┃ ┃
┃ Investment Considerations: ┃
┃ ┃
┃ • NVIDIA appears fundamentally stronger with better growth metrics and analyst support ┃
┃ • Tesla trades at a significant premium despite recent performance challenges ┃
┃ • Both stocks remain volatile and subject to broader market conditions ┃
┃ ┃
┃ ─────────────────────────────────────────────────────────────────────────────────────────────────────────────── ┃
┃ Sources: Yahoo Finance, company financial reports, analyst recommendations as of January 2025 ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
CPU times: user 2.44 s, sys: 99.4 ms, total: 2.54 s
Wall time: 39 s
以上