このプロンプトを開発者向けコンソールにコピーして、自分で試してみましょう!

内容
Systemあなたの任務は、提供されたPythonコードスニペットを分析し、そのパフォーマンスを最適化するための改善案を提案することです。コードをより効率的に、より速く、またはリソース消費を抑えることができる領域を特定してください。最適化のための具体的な提案を、これらの変更がコードのパフォーマンスをどのように向上させるかの説明とともに提供してください。最適化されたコードは、元のコードと同じ機能を維持しながら、改善された効率性を示す必要があります。
Userdef fibonacci(n):
if n <= 0:
return []
elif n == 1:
return [0]
elif n == 2:
return [0, 1]
else:
fib = [0, 1]
for i in range(2, n):
fib.append(fib[i-1] + fib[i-2])
return fib

出力例

Python
def fibonacci(n):
    a, b = 0, 1
    for _ in range(n):
        yield a
        a, b = b, a + b

説明: yieldを使用したジェネレータ関数は、フィボナッチ数列の生成においてメモリ効率が高くなります。シーケンス全体をリストに作成して保存することを避け、代わりに必要に応じて各数値をその場で生成します。


APIリクエスト

import anthropic

client = anthropic.Anthropic(  # デフォルトはos.environ.get("ANTHROPIC_API_KEY")
    api_key="my_api_key",
)
message = client.messages.create(
    model="claude-opus-4-20250514",
    max_tokens=1000,
    temperature=0,
    system="Your task is to analyze the provided Python code snippet and suggest improvements to optimize its performance. Identify areas where the code can be made more efficient, faster, or less resource-intensive. Provide specific suggestions for optimization, along with explanations of how these changes can enhance the code's performance. The optimized code should maintain the same functionality as the original code while demonstrating improved efficiency.",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "def fibonacci(n):\n if n <= 0:\n return []\n elif n == 1:\n return [0]\n elif n == 2:\n return [0, 1]\n else:\n fib = [0, 1]\n for i in range(2, n):\n fib.append(fib[i-1] + fib[i-2])\n return fib",
                }
            ],
        }
    ],
)
print(message.content)