OpenHands Agent System Prompt ๆถๆ่ฏดๆ
๐๏ธ ๆดไฝๆถๆ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ OpenHands Agent โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ System Prompt (Jinja2 ๆจกๆฟ) โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โ โ โ <ROLE> Agent ็่ง่ฒๅฎไน โ โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค โ โ
โ โ โ <PRINCIPLES> ๆ ธๅฟ่กไธบๅๅ โ โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค โ โ
โ โ โ <WORKFLOW> ๅทฅไฝๆต็จ โ โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค โ โ
โ โ โ <CONSTRAINTS> ็บฆๆๆกไปถ โ โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค โ โ
โ โ โ {% if custom_instructions %} โ โ โ
โ โ โ {{ custom_instructions }} โ ๅ้ๆณจๅ
ฅ โ โ โ
โ โ โ {% endif %} โ โ โ
โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Tools โ โ
โ โ โข TerminalTool - ๆง่กๅฝไปค โ โ
โ โ โข FileEditorTool - ็ผ่พๆไปถ โ โ
โ โ โข TaskTrackerTool - ่ท่ธชไปปๅก โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ LLM โ โ
โ โ Model: vertex_ai/gemini-2.5-flash โ โ
โ โ API Key: *** โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโ
โ Conversation โ
โ (ๅฏน่ฏ็ฎก็ๅจ) โ
โโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโ
โ Workspace โ
โ (ๅทฅไฝ็ฎๅฝ) โ
โโโโโโโโโโโโโโโโโโโโ
๐ ่ชๅฎไน System Prompt ็ไธๅฑๆถๆ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ็ฌฌ 1 ๅฑ: Agent ๅๅงๅๅๆฐ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ agent = Agent( โ
โ llm=llm, โ
โ tools=tools, โ
โ system_prompt_filename="custom.j2", โ ๆๅฎๆจกๆฟๆไปถ โ
โ system_prompt_kwargs={...} โ ไผ ้ๅ้ โ
โ ) โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ็ฌฌ 2 ๅฑ: Jinja2 ๆจกๆฟๆไปถ (custom.j2) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ You are an AI agent... โ
โ โ
โ <ROLE> โ
โ * Your primary role is... โ
โ </ROLE> โ
โ โ
โ {% if custom_instructions %} โ ๆกไปถๅคๆญ โ
โ <CUSTOM> โ
โ {{ custom_instructions }} โ ๅ้ๅผ็จ โ
โ </CUSTOM> โ
โ {% endif %} โ
โ โ
โ {% if project_name %} โ
โ <CONTEXT> โ
โ Project: {{ project_name }} โ
โ Task: {{ task_type }} โ
โ </CONTEXT> โ
โ {% endif %} โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ็ฌฌ 3 ๅฑ: ๆธฒๆๅ็ๆ็ป Prompt (ๅ้็ป LLM) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ You are an AI agent... โ
โ โ
โ <ROLE> โ
โ * Your primary role is... โ
โ </ROLE> โ
โ โ
โ <CUSTOM> โ
โ Focus on code evolution and optimization... โ
โ </CUSTOM> โ
โ โ
โ <CONTEXT> โ
โ Project: ShinkaEvolve โ
โ Task: Code Evolution โ
โ </CONTEXT> โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
ๅ้็ป LLM ๆง่ก
๐ ๆฐๆฎๆต็จๅพ
โโโโโโโโโโโโโโโโโโโ
โ User Message โ "่ฏทไผๅ่ฟๆฎตไปฃ็ "
โโโโโโโโโโฌโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Conversation โ
โ โข ็ฎก็ๅฏน่ฏๅๅฒ โ
โ โข ๆ ผๅผๅ็จๆทๆถๆฏ โ
โโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Agent โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ System Prompt (่ชๅฎไน็ๆผๅ prompt) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค โ
โ โ User Message: "่ฏทไผๅ่ฟๆฎตไปฃ็ " โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค โ
โ โ Conversation History: [...] โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ LLM โ
โ โข ็่งฃๆไปคๅไธไธๆ โ
โ โข ็ๆๅๅบ โ
โ โข ๅณๅฎไฝฟ็จๅชไบๅทฅๅ
ท โ
โโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Tool Execution โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โ โ TerminalTool โ โFileEditorToolโ โTaskTracker โ โ
โ โโโโโโโโโโโโโโโโค โโโโโโโโโโโโโโโโค โโโโโโโโโโโโโโโโค โ
โ โ ่ฟ่กๆต่ฏ โ โ ไฟฎๆนไปฃ็ โ โ ๅๅปบไปปๅก โ โ
โ โ ๆฃๆฅๆง่ฝ โ โ ไฟๅญๆไปถ โ โ ๆดๆฐ็ถๆ โ โ
โ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Tool Results โ
โ โข ๅฝไปค่พๅบ โ
โ โข ๆไปถไฟฎๆน็กฎ่ฎค โ
โ โข ไปปๅก็ถๆ โ
โโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ LLM (ๅๆฌกๅค็) โ
โ โข ๅๆๅทฅๅ
ทๆง่ก็ปๆ โ
โ โข ็ๆๆ็ปๅๅบ โ
โ โข ๆๅณๅฎๆง่กๆดๅคๅทฅๅ
ท โ
โโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโ
โ User Response โ "ไปฃ็ ๅทฒไผๅ๏ผๆง่ฝๆๅ 20%"
โโโโโโโโโโโโโโโโโโโ
๐ฏ ๅ็ง่ชๅฎไนๆนๆณๅฏนๆฏ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๆนๆณ 1: ้ป่ฎค Prompt โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Agent(llm, tools) โ
โ โ โ
โ โโโ ่ชๅจไฝฟ็จ system_prompt.j2 โ
โ โโโ ้็จๆไปค๏ผ้็จไบๅคงๅคๆฐไปปๅก โ
โ โ
โ โ ๆ็ฎๅ โ
โ โ ๆ ๆณ่ชๅฎไน โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๆนๆณ 2: ้ๆฉๅ
็ฝฎๆจกๆฟ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Agent( โ
โ llm, tools, โ
โ system_prompt_filename="system_prompt_planning.j2" โ
โ ) โ
โ โ โ
โ โโโ ไฝฟ็จ OpenHands ้ขๅฎไน็ๆจกๆฟ โ
โ โโโ ้ๅฏน็นๅฎไปปๅก็ฑปๅไผๅ๏ผ่งๅ/ไบคไบ/้ฟๆไปปๅก็ญ๏ผ โ
โ โ
โ โ ็ฎๅ๏ผๆ ้่ชๅทฑๅ prompt โ
โ โ ้ๆฉๆ้๏ผๅชๆ 5-6 ไธชๆจกๆฟ๏ผ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๆนๆณ 3: ่ชๅฎไนๆจกๆฟ + ๅ้ๆณจๅ
ฅ (ๆจ่) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Agent( โ
โ llm, tools, โ
โ system_prompt_filename="custom_evolution_prompt.j2", โ
โ system_prompt_kwargs={ โ
โ "custom_instructions": "...", โ
โ "project_name": "ShinkaEvolve", โ
โ "task_type": "Code Evolution", โ
โ } โ
โ ) โ
โ โ โ
โ โโโ ไฝฟ็จ่ชๅฎไนๆจกๆฟๆไปถ โ
โ โโโ ๅจๆๆณจๅ
ฅไปปๅก็นๅฎไฟกๆฏ โ
โ โโโ ็ตๆดป้ๅบไธๅๅบๆฏ โ
โ โ
โ โ ้ซๅบฆ็ตๆดป โ
โ โ ๅฏ้็จๆจกๆฟ โ
โ โ ๅจๆ้
็ฝฎ โ
โ โ ้่ฆ็ปดๆคๆจกๆฟๆไปถ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๆนๆณ 4: ๅฎๅ
จ่ชๅฎไนๆจกๆฟ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Agent( โ
โ llm, tools, โ
โ system_prompt_filename="path/to/fully_custom.j2" โ
โ ) โ
โ โ โ
โ โโโ ๅฎๅ
จไป้ถ็ผๅ prompt โ
โ โโโ ้ๅฏน็นๅฎ้ขๅๆทฑๅบฆๅฎๅถ โ
โ โโโ ๅ
ๅซไธไธ้ขๅ็ฅ่ฏ โ
โ โ
โ โ ๆๅคง็ตๆดปๆง โ
โ โ ๅฎๅ
จๆงๅถ โ
โ โ ้่ฆๆทฑๅ
ฅ็่งฃ prompt engineering โ
โ โ ็ปดๆคๆๆฌ้ซ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ง ๅ ณ้ฎ API ๅๆฐ่ฏฆ่งฃ
Agent ็ฑป็ๆ ธๅฟๅๆฐ
class Agent:
def __init__(
self,
llm: LLM, # LLM ้
็ฝฎ
tools: List[Tool], # ๅฏ็จๅทฅๅ
ทๅ่กจ
# System Prompt ็ธๅ
ณ
system_prompt_filename: str = "system_prompt.j2",
system_prompt_kwargs: Dict[str, Any] = {},
# ๅ
ถไป้
็ฝฎ
security_policy_filename: str = "security_policy.j2",
agent_context: Optional[AgentContext] = None,
condenser: Optional[CondenserBase] = None,
critic: Optional[CriticBase] = None,
# ๅทฅๅ
ท่ฟๆปค
filter_tools_regex: Optional[str] = None,
include_default_tools: List[str] = [],
# MCP ้
็ฝฎ
mcp_config: Dict[str, Any] = {},
):
...
ๅๆฐ่ฏดๆ
| ๅๆฐ | ็ฑปๅ | ้ป่ฎคๅผ | ่ฏดๆ |
|---|---|---|---|
llm |
LLM |
ๅฟ ้ | LLM ้ ็ฝฎๅฏน่ฑก |
tools |
List[Tool] |
ๅฟ ้ | Agent ๅฏ็จ็ๅทฅๅ ทๅ่กจ |
system_prompt_filename |
str |
"system_prompt.j2" |
Prompt ๆจกๆฟๆไปถๅๆ่ทฏๅพ |
system_prompt_kwargs |
Dict |
{} |
ไผ ้็ปๆจกๆฟ็ๅ้ๅญๅ ธ |
security_policy_filename |
str |
"security_policy.j2" |
ๅฎๅ จ็ญ็ฅๆจกๆฟๆไปถ |
agent_context |
AgentContext |
None |
Agent ไธไธๆไฟกๆฏ |
condenser |
CondenserBase |
None |
ๅฏน่ฏๅ็ผฉๅจ |
critic |
CriticBase |
None |
ๆน่ฏ่ ็ปไปถ |
๐จ Jinja2 ๆจกๆฟ่ฏญๆณ้ๆฅ
ๅบๆฌๅ้ๅผ็จ
{{ variable_name }} # ็ดๆฅ่พๅบๅ้
{{ project_name }} # ่พๅบ: ShinkaEvolve
ๆกไปถๅคๆญ
{% if custom_instructions %}
<CUSTOM>
{{ custom_instructions }}
</CUSTOM>
{% endif %}
{% if not use_default %}
ไฝฟ็จ่ชๅฎไน้
็ฝฎ
{% else %}
ไฝฟ็จ้ป่ฎค้
็ฝฎ
{% endif %}
ๅพช็ฏ
{% for tool in available_tools %}
- {{ tool.name }}: {{ tool.description }}
{% endfor %}
ๅ ๅซๅ ถไปๆจกๆฟ
{% include 'security_policy.j2' %}
{% include 'self_documentation.j2' %}
ๆณจ้
{# ่ฟๆฏๆณจ้๏ผไธไผๅบ็ฐๅจๆ็ป่พๅบไธญ #}
่ฟๆปคๅจ
{{ text | upper }} # ่ฝฌๅคงๅ
{{ text | trim }} # ๅป้ค้ฆๅฐพ็ฉบ็ฝ
{{ items | length }} # ่ทๅ้ฟๅบฆ
๐ ๆไปถ็ป็ป็ปๆ
eval_agent/
โ
โโโ ๐ openhands_sample.py
โ โโโ ๅบ็ก็คบไพๅ่ชๅฎไน็คบไพ
โ โข basic_example() ไฝฟ็จ้ป่ฎค prompt
โ โข custom_evolution_example() ไฝฟ็จ่ชๅฎไน prompt
โ
โโโ ๐ openhands_custom_prompt_examples.py
โ โโโ ่ฏฆ็ป็ๆนๆณๅฏนๆฏๅ็คบไพ
โ โข example_custom_prompt_file() ๆนๆณ 1
โ โข example_with_kwargs() ๆนๆณ 2
โ โข example_builtin_templates() ๆนๆณ 3
โ โข example_with_custom_evolution_prompt() ๆนๆณ 4
โ โข print_comparison() ๆๅฐๅฏนๆฏ
โ
โโโ ๐ custom_evolution_prompt.j2
โ โโโ ไปฃ็ ๆผๅไธ็จ็ system prompt ๆจกๆฟ
โ ๅ
ๅซ๏ผ
โ โข <ROLE> ่ง่ฒๅฎไน
โ โข <CODE_EVOLUTION_PRINCIPLES> ๆผๅๅๅ
โ โข <MUTATION_STRATEGIES> ๅๅผ็ญ็ฅ
โ โข <WORKFLOW> ๅทฅไฝๆต็จ
โ โข ๅ้ๆณจๅ
ฅ็น
โ
โโโ ๐ README_CUSTOM_PROMPT.md
โ โโโ ๅฎๆด็ไฝฟ็จๆๅ๏ผไธญๆ๏ผ
โ โข ๅบ็กๆฆๅฟต
โ โข ๅ็ง่ชๅฎไนๆนๆณ่ฏฆ่งฃ
โ โข ๅฎๆดไปฃ็ ็คบไพ
โ โข ๆไฝณๅฎ่ทต
โ โข ๅธธ่ง้ฎ้ข
โ
โโโ ๐ QUICK_START_ZH.md
โ โโโ ๅฟซ้ๅ
ฅ้จๆๅ๏ผไธญๆ๏ผ
โ โข ๆ ธๅฟ่ฆ็น
โ โข ๆนๆณๅฏนๆฏ
โ โข ็ซๅณๅฏ็จ็็คบไพไปฃ็
โ
โโโ ๐ ARCHITECTURE_ZH.md (ๆฌๆไปถ)
โโโ ๆถๆ่ฏดๆๅๅฏ่งๅๅพ่กจ
โข ๆดไฝๆถๆๅพ
โข ๆฐๆฎๆต็จๅพ
โข API ๅๆฐ่ฏฆ่งฃ
๐ผ ๅฎ้ ไฝฟ็จๅบๆฏ
ๅบๆฏ 1: ไปฃ็ ไผๅไปปๅก
agent = Agent(
llm=llm,
tools=[TerminalTool, FileEditorTool],
system_prompt_filename="custom_evolution_prompt.j2",
system_prompt_kwargs={
"custom_instructions": "Focus on performance optimization",
"task_type": "Performance Optimization",
}
)
conversation.send_message("Optimize the sorting algorithm in utils.py")
ๅบๆฏ 2: Bug ไฟฎๅคไปปๅก
agent = Agent(
llm=llm,
tools=[TerminalTool, FileEditorTool, TaskTrackerTool],
system_prompt_filename="custom_evolution_prompt.j2",
system_prompt_kwargs={
"custom_instructions": "Focus on finding and fixing bugs",
"task_type": "Bug Fixing",
}
)
conversation.send_message("Find and fix the memory leak in server.py")
ๅบๆฏ 3: ไปฃ็ ้ๆไปปๅก
agent = Agent(
llm=llm,
tools=[TerminalTool, FileEditorTool],
system_prompt_filename="custom_evolution_prompt.j2",
system_prompt_kwargs={
"custom_instructions": "Refactor for better readability and maintainability",
"task_type": "Code Refactoring",
}
)
conversation.send_message("Refactor the authentication module")
๐ ๆไฝณๅฎ่ทตๆป็ป
โ ๆจ่ๅๆณ
- ไฝฟ็จๆนๆณ 3๏ผ่ชๅฎไนๆจกๆฟ + ๅ้ๆณจๅ ฅ๏ผ ๅฏนไบๅคงๅคๆฐไธไธไปปๅก
- ไฟๆๆจกๆฟ็ปๆๆธ
ๆฐ ไฝฟ็จ
<SECTION>ๆ ็ญพ็ป็ปๅ ๅฎน - ไฝฟ็จๆกไปถๅ ่ฎฉๆจกๆฟๆด็ตๆดป๏ผ
{% if variable %} - ๆไพๅ ทไฝๆไปค ่ไธๆฏๆจก็ณ็ๆ่ฟฐ
- ๅ ๅซ็คบไพ ๅจ prompt ไธญๅฑ็คบๆๆ็่กไธบ
- ็ๆฌๆงๅถ ๅฏน prompt ๆจกๆฟๆไปถ่ฟ่ก็ๆฌ็ฎก็
- ๆต่ฏ้ช่ฏ ้่ฟๅฎ้ ไปปๅก้ช่ฏ prompt ็ๆๆ
โ ้ฟๅ ๅๆณ
- ่ฟไบๅ้ฟ ็ prompt ๅฏ่ฝ้ไฝๆๆ
- ็็พ็ๆไปค ไผ่ฎฉ agent ๅฐๆ
- ็กฌ็ผ็ ไปปๅก็นๅฎไฟกๆฏ๏ผๅบ่ฏฅ็จๅ้ๆณจๅ ฅ๏ผ
- ๅฟฝ็ฅๆต่ฏ ็ดๆฅๅจ็ไบง็ฏๅขไฝฟ็จๆช้ช่ฏ็ prompt
- ่ฟๅบฆๅคๆ ็ๆกไปถ้ป่พ
๐ ่ฐ่ฏๆๅทง
ๆฅ็ๆ็ป Prompt
agent = Agent(...)
print("="*80)
print("Final System Prompt:")
print("="*80)
print(agent.system_message)
print("="*80)
้ช่ฏๆจกๆฟๆธฒๆ
from pathlib import Path
from jinja2 import Template
template_path = Path("custom_evolution_prompt.j2")
template = Template(template_path.read_text())
rendered = template.render(
custom_instructions="Test instructions",
project_name="TestProject"
)
print(rendered)
ๆต่ฏ Agent ่กไธบ
# ็ฎๅไปปๅกๆต่ฏ
conversation.send_message("Describe your role and capabilities")
conversation.run()
# ๆฃๆฅๆฏๅฆ็่งฃ็นๅฎๆไปค
conversation.send_message("What are your constraints?")
conversation.run()
๐ ็ธๅ ณ่ตๆบ
- ๅฎๆดๆๅ:
README_CUSTOM_PROMPT.md - ๅฟซ้ๅ
ฅ้จ:
QUICK_START_ZH.md - ไปฃ็ ็คบไพ:
openhands_custom_prompt_examples.py - ๅบ็ก็คบไพ:
openhands_sample.py - ๆจกๆฟๆไปถ:
custom_evolution_prompt.j2
ๅๅปบๆฅๆ: 2026-01-29
็ๆฌ: 1.0
้กน็ฎ: ShinkaEvolve - OpenHands Integration