算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
prompt-engineering-patterns【设计与创意】Advanced prompt engineering for production LLM applications with LangGraph and Google ADK. Covers few-shot learning, chain-of-thought, Tree-of-Thought, self-consistency, system prompt design, prompt optimization, and reusable templates. Use when designing agent system prompts, implementing structured reasoning, optimizing LLM outputs, or debugging in…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
NO SYSTEM PROMPT WITHOUT ROLE + TASK + OUTPUT FORMAT — vague system prompts produce inconsistent LLM outputs and degrade agent reliability in both LangGraph and ADK. Every agent instruction must state what the agent IS, what it DOES, and what format it RETURNS.
What's the problem?
├── Output format is wrong / inconsistent
│ └── Apply Few-Shot Learning → reference/few-shot-learning.md
├── Model skips reasoning steps / wrong answers on complex tasks
│ └── Apply Chain-of-Thought → reference/chain-of-thought.md
├── Need to explore multiple solution branches
│ └── Apply Tree-of-Thought → reference/chain-of-thought.md#tot
├── Need highest accuracy (can afford 3-5x cost)
│ └── Apply Self-Consistency → reference/chain-of-thought.md#self-consistency
├── System prompt is vague or producing variable behavior
│ └── Apply System Prompt Design → reference/system-prompts.md
├── Prompts are too long / expensive / slow
│ └── Apply Prompt Optimization → reference/prompt-optimization.md
└── Need reusable structured prompts across agents
└── Apply Template Patterns → reference/prompt-templates.md
| Pattern | When | LangGraph | Google ADK | Reference |
|---|---|---|---|---|
| Few-Shot | Output format needs demonstration | HumanMessage with examples in node prompt | instruction= block with examples | reference/few-shot-learning.md |
| Chain-of-Thought | Multi-step reasoning, math, debugging | SystemMessage with "think step by step" | instruction= with numbered steps | reference/chain-of-thought.md |
| Tree-of-Thought | Complex exploration / planning | Parallel branch nodes + aggregator | ParallelAgent + synthesizer | reference/chain-of-thought.md |
| Self-Consistency | High-accuracy critical tasks | Multiple llm.invoke() + majority vote | Multiple ADK runs + vote | reference/chain-of-thought.md |
| System Prompt Design | Define agent role, behavior, constraints | SystemMessage as first message | LlmAgent(instruction=...) | reference/system-prompts.md |
| Prompt Templates | Reusable structured prompts | f-string + SystemMessage | instruction= with {variable} | reference/prompt-templates.md |
| Prompt Optimization | Reduce tokens, improve consistency | Offline A/B test framework | Offline A/B test framework | reference/prompt-optimization.md |
Always structure prompts in this order:
[System Context / Role] <- who the agent IS
[Task Instruction] <- what it MUST DO
[Constraints] <- what it MUST NOT DO
[Examples / Few-Shot] <- show, don't just tell
[Input Data] <- the actual input
[Output Format] <- exact expected output shape
from langchain_core.messages import SystemMessage, HumanMessage
COT_SYSTEM = SystemMessage(content="""You are a senior software architect.
When analyzing a problem:
1. State your understanding of the problem
2. Identify constraints and requirements
3. Consider 2-3 solution approaches with trade-offs
4. Select the best approach with justification
5. Outline implementation steps
Always show your reasoning explicitly before giving a recommendation.""")
def analysis_node(state: AgentState) -> AgentState:
response = llm.invoke([COT_SYSTEM, HumanMessage(content=state["problem"])])
return {"analysis": response.content}
from google.adk.agents import LlmAgent
analysis_agent = LlmAgent(
name="analysis_agent",
model="gemini-3.1-flash",
instruction="""You are a senior software architect.
When analyzing a problem, follow these steps explicitly:
1. State your understanding of the problem
2. Identify constraints and requirements
3. Consider 2-3 solution approaches with trade-offs
4. Select the best approach with justification
5. Outline implementation steps
Always show your reasoning before giving a recommendation.
Output format: structured analysis with sections for Understanding, Options, Decision, and Next Steps."""
)
| File | Content | When to Load |
|---|---|---|
reference/chain-of-thought.md | CoT, ToT, Self-Consistency patterns with LangGraph + ADK code | Complex reasoning, multi-step tasks |
reference/few-shot-learning.md | Example selection, dynamic retrieval, edge cases — LangGraph + ADK | Inconsistent output format, classification tasks |
reference/prompt-optimization.md | A/B testing, token reduction, versioning, metrics | Reducing cost, improving consistency |
reference/system-prompts.md | Role definition, constraints, output format — LangGraph + ADK | Designing new agent system prompts |
reference/prompt-templates.md | Reusable templates, variable interpolation, multi-turn — LangGraph + ADK | Building template systems |
reference/prompt-template-library.md | 15+ battle-tested copy-paste templates for common tasks | Finding a starting template fast |
After writing prompts or agent instructions, verify:
agentic-ai-reviewer — graph correctness, system prompt quality in LangGraph agentssecurity-reviewer — prompt injection defense, no sensitive data in prompts