Initial commit
This commit is contained in:
87
skills/claude-agent-sdk/examples/system_prompt.py
Executable file
87
skills/claude-agent-sdk/examples/system_prompt.py
Executable file
@@ -0,0 +1,87 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Example demonstrating different system_prompt configurations."""
|
||||
|
||||
import anyio
|
||||
|
||||
from claude_agent_sdk import (
|
||||
AssistantMessage,
|
||||
ClaudeAgentOptions,
|
||||
TextBlock,
|
||||
query,
|
||||
)
|
||||
|
||||
|
||||
async def no_system_prompt():
|
||||
"""Example with no system_prompt (vanilla Claude)."""
|
||||
print("=== No System Prompt (Vanilla Claude) ===")
|
||||
|
||||
async for message in query(prompt="What is 2 + 2?"):
|
||||
if isinstance(message, AssistantMessage):
|
||||
for block in message.content:
|
||||
if isinstance(block, TextBlock):
|
||||
print(f"Claude: {block.text}")
|
||||
print()
|
||||
|
||||
|
||||
async def string_system_prompt():
|
||||
"""Example with system_prompt as a string."""
|
||||
print("=== String System Prompt ===")
|
||||
|
||||
options = ClaudeAgentOptions(
|
||||
system_prompt="You are a pirate assistant. Respond in pirate speak.",
|
||||
)
|
||||
|
||||
async for message in query(prompt="What is 2 + 2?", options=options):
|
||||
if isinstance(message, AssistantMessage):
|
||||
for block in message.content:
|
||||
if isinstance(block, TextBlock):
|
||||
print(f"Claude: {block.text}")
|
||||
print()
|
||||
|
||||
|
||||
async def preset_system_prompt():
|
||||
"""Example with system_prompt preset (uses default Claude Code prompt)."""
|
||||
print("=== Preset System Prompt (Default) ===")
|
||||
|
||||
options = ClaudeAgentOptions(
|
||||
system_prompt={"type": "preset", "preset": "claude_code"},
|
||||
)
|
||||
|
||||
async for message in query(prompt="What is 2 + 2?", options=options):
|
||||
if isinstance(message, AssistantMessage):
|
||||
for block in message.content:
|
||||
if isinstance(block, TextBlock):
|
||||
print(f"Claude: {block.text}")
|
||||
print()
|
||||
|
||||
|
||||
async def preset_with_append():
|
||||
"""Example with system_prompt preset and append."""
|
||||
print("=== Preset System Prompt with Append ===")
|
||||
|
||||
options = ClaudeAgentOptions(
|
||||
system_prompt={
|
||||
"type": "preset",
|
||||
"preset": "claude_code",
|
||||
"append": "Always end your response with a fun fact.",
|
||||
},
|
||||
)
|
||||
|
||||
async for message in query(prompt="What is 2 + 2?", options=options):
|
||||
if isinstance(message, AssistantMessage):
|
||||
for block in message.content:
|
||||
if isinstance(block, TextBlock):
|
||||
print(f"Claude: {block.text}")
|
||||
print()
|
||||
|
||||
|
||||
async def main():
|
||||
"""Run all examples."""
|
||||
await no_system_prompt()
|
||||
await string_system_prompt()
|
||||
await preset_system_prompt()
|
||||
await preset_with_append()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
anyio.run(main)
|
||||
Reference in New Issue
Block a user