ตัวแทน
และตัวแทนพิเศษ
เจ้าหน้าที่คือผู้ช่วย AI ในช่องทางต่างๆ ของอินเทอร์เฟซและอินเทอร์เฟซของโฟลว์เฉพาะได้สามารถสร้างเครื่องมือที่รวบรวมข้อมูลด้วยโมดูลและอินเทอร์เฟซของอินเทอร์เฟซ…
การผสมผสานระหว่างตัวแทนระหว่างการประชุมหรือต้องการโดยระบุ @
ประเภท
OpenCode มีเอเจนต์สองประเภทตัวแทนหลักและตัวแทนย่อย
ตัวแทนหลัก
ตัวแทนหลักคือผู้ช่วยหลักที่คุณมักจะเกิดขึ้นด้วยโดยตรงในวนดูได้เฉพาะปุ่ม Tab หรือปุ่ม switch_agent ที่โน่ไว้เจ้าหน้าที่สามารถจัดการระบบของคุณได้โดยได้รับเครื่องมือที่มีคุณลักษณะหลักเช่น Build มีเครื่องมือทั้งหมดในส่วนของแผนถูกจำกัด
OpenCode ของเอเจนต์หลักในตัวได้แก่ Build และ Plan ดี ดูด้านล่าง
ตัวแทนย่อย
ตัวแทนย่อยคือผู้ช่วยเฉพาะทางที่ตัวแทนหลักสามารถเรียกงานเฉพาะได้เฉพาะเรียกได้โดยตรงโดย @ หมายถึงความหมายในข้อความของคุณ
OpenCode ในการควบคุมเอเจนต์ย่อยในส่วนนี้ได้แก่ ทั่วไป และ สำรวจ ส่วนดูพื้นที่
บิวท์อิน
OpenCode สืบสวนเอเจนต์หลักในตัวและเอเจนต์ย่อยในอีกหนึ่ง
ใช้บิลด์
Mode: primary
สร้างเว็บหลัก รองรับ พร้อมด้วยเครื่องมือทั้งหมดที่มีเอเจนต์มาตรฐานเพื่อให้มีสิทธิ์การเข้าถึงไฟล์และคำสั่งระบบโดยสมบูรณ์
ใช้แผน
Mode: primary
ตัวแทนแบบจำกัดที่ความเชื่อถือและการควบคุมระบบของการที่แจ้งให้ทราบอย่างเป็นทางการและป้องกันการเปลี่ยนแปลงโดยเฉพาะอย่างยิ่ง
ตามคำอธิบายตามลำดับทั้งหมดของระบบเป็น ask:
file edits: เนื้อหา แพตช์ และเป็นที่ทั้งหมดbash: คำสั่ง bash ทั้งหมด
เอเจนต์นี้มีประโยชน์ต้องการให้ LLM ตรวจสอบโค้ดตรวจสอบการเปลี่ยนแปลงหรือสร้างแผนว่าจะทำดีเบสของคุณจริง
ใช้ทั่วไป
Mode: subagent
ตัวแทนเพื่อค้นหาคำถามที่จำเป็นและต่อเนื่องหลายขั้นตอน อนุญาตให้เข้าถึงเครื่องมือต่างๆ (ยกเว้นการตรวจสอบ) และการปรับปรุงไฟล์ได้เมื่อจำเป็นต้องใช้สิ่งนี้เพื่อรันงานหลายหน่วยพร้อมกัน
ใช้สำรวจ
Mode: subagent
เอเจนต์ความเร็วสูงและอ่านอย่างเดียวสำหรับฐานพื้นฐานโค้ดและตรวจดูไฟล์ได้ใช้สิ่งนี้เมื่อคุณต้องการค้นหาไฟล์อย่างรวดเร็วรูปแบบตามค้นหาโค้ดด้วยคำสำคัญหรือแบบสอบถามเกี่ยวกับโค้ดเบส
ใช้การบดอัด
Mode: primary
เอเจนต์ระบบนั้นมีส่วนช่วยในการสรุปที่ยาวไปสู่บทสรุปที่เล็กลงโดยเฉพาะอย่างยิ่งเมื่อจำเป็นต้องมีและใน UI
ใช้ชื่อ
Mode: primary
ตัวแทนของระบบซึ่งสร้างชื่อที่ออกแบบสั้น ๆ มันทำงานได้โดยไม่ต้องใช้ UI
ใช้สรุป
Mode: primary
ตัวแทนระบบนั้นซึ่งสร้างสรุปการตรวจสอบและทำงานโดยไม่ต้องมี UI
เรื่องนั้น
-
สำหรับตัวแทนหลักให้ใช้ปุ่ม Tab เพื่อวนดูตัวแทนที่มีความสำคัญ โปรดใช้การผูกปุ่ม
switch_agentที่โรงยิมไว้ได้ -
สามารถตัวแทนย่อยได้:
-
****โดยตัวแทนหลักโดยเฉพาะพิเศษตามคำอธิบาย
-
เพิ่มเติมโดย @ ต้องการ ตัวแทนย่อยในข้อความของคุณเช่น
@general help me search for this function
-
-
ปรับปรุงระหว่างการปรับปรุง: เมื่อตัวแทนย่อยสร้างหลังคาและเรียนรู้ร่วมกันระหว่างการปรับปรุงหลักและหลังคาทั้งหมดได้ทั้งหมด:
- <Leader>+Right (หรือ
session_child_cyclekeybind ที่คุณรู้ไว้) ในวนผ่าน parent → child1 → child2 → … → parent - <Leader>+Left (หรือฟัง
session_child_cycle_reversekeybind) เพื่อวนย้อนกลับผ่าน parent ← child1 ← child2 ← … ← parent
เรียนรู้การดำเนินการระหว่างการดำเนินการหลักและงานตัวแทนย่อยเฉพาะเจาะจง
- <Leader>+Right (หรือ
การกำหนดค่า
ปรับแต่งเอเจนต์ในหรือสร้างเอเจนต์ได้ผ่านมาได้อย่างไม่น่าเชื่อตัวแทนได้สองวิธี:
JSON
ไม่เชื่อตัวแทนในไฟล์ในกรุง opencode.json ของคุณ:
{ "$schema": "https://opencode.ai/config.json", "agent": { "build": { "mode": "primary", "model": "anthropic/claude-sonnet-4-20250514", "prompt": "{file:./prompts/build.txt}", "tools": { "write": true, "edit": true, "bash": true } }, "plan": { "mode": "primary", "model": "anthropic/claude-haiku-4-20250514", "tools": { "write": false, "edit": false, "bash": false } }, "code-reviewer": { "description": "Reviews code for best practices and potential issues", "mode": "subagent", "model": "anthropic/claude-sonnet-4-20250514", "prompt": "You are a code reviewer. Focus on security, performance, and maintainability.", "tools": { "write": false, "edit": false } } }}Markdown
คุณอาจกำหนดเอเจนต์สำหรับไฟล์ Markdown ได้หลายสีใน:
- ทั่วโลก:
~/.config/opencode/agents/ - ต่อโครงการ:
.opencode/agents/
---description: Reviews code for quality and best practicesmode: subagentmodel: anthropic/claude-sonnet-4-20250514temperature: 0.1tools: write: false edit: false bash: false---
You are in code review mode. Focus on:
- Code quality and best practices- Potential bugs and edge cases- Performance implications- Security considerations
Provide constructive feedback without making direct changes.ชื่อไฟล์ Markdown พร้อมกับชื่อเอเจนต์เช่น review.md สร้างตัวแทน review
ตัวเลือก
มาดูรายละเอียดเพิ่มเติมที่จุดนั้นกัน
Description
ใช้ฟีเจอร์ description เพื่อให้คำอธิบายสีนี้ทำอะไรและแนะนำเมื่อใด
{ "agent": { "review": { "description": "Reviews code for best practices and potential issues" } }}รายการไม่จำเป็น จำเป็น
Temperature
เหตุผลของการสุ่มและการตอบกลับของ LLM ด้วย temperature
ค่าที่ต่ำกว่านี้จะตอบสนองมีจุดมุ่งหมายและทราบถึงค่าที่จะช่วยลดการส่งผลและส่งผลถึง
{ "agent": { "plan": { "temperature": 0.1 }, "creative": { "temperature": 0.8 } }}อุณหภูมิจะเท่ากัน 0.0 ถึง 1.0:
- 0.0-0.2: สิ่งที่เราคาดการณ์และกำหนดไว้เป็นไปได้และวางแผนโค้ด
- 0.3-0.5: ปฏิกิริยาที่สมดุลและเป็นผลให้เกิดงานพัฒนาทั่วไป
- 0.6-1.0: คำตอบที่สร้างสรรค์และหลากหลายมากขึ้นซึ่งมีประโยชน์สำหรับการศึกษาและต่อไป
{ "agent": { "analyze": { "temperature": 0.1, "prompt": "{file:./prompts/analysis.txt}" }, "build": { "temperature": 0.3 }, "brainstorm": { "temperature": 0.7, "prompt": "{file:./prompts/creative.txt}" } }}ข้อสังเกตอุณหภูมิ OpenCode โดยทั่วไปจะมีเฉพาะรุ่นเท่านั้นแล้ว 0 สำหรับรุ่นส่วนใหญ่ 0.55 สำหรับรุ่น Qwen
Max steps
จำนวนส่วนประกอบของการวนซ้ำของเอเจนต์ที่เอเจนต์เป็นผลสืบเนื่องด้วยข้อความเท่านั้นวิธีการที่ต้องการควบคุมต้นทุนสามารถกำหนดได้ในแนวทางที่ตัวแทนได้
หากไม่ได้ตั้งค่านี้ เอเจนต์จะดำเนินต่อไปจนกว่าโมเดลจะจะหยุดหรือผู้ใช้ขัดจังหวะ
{ "agent": { "quick-thinker": { "description": "Fast reasoning with limited iterations", "prompt": "You are a quick thinker. Solve problems with minimal steps.", "steps": 5 } }}ไปถึงความโดดเด่นจะได้รับพร้อมท์พิเศษที่แนะนำให้เรียนรู้ด้วยการสรุปงานและงานที่เหลืออีกครั้ง
Disable
ตั้งค่าเป็น true ไปถึงสมาชิก
{ "agent": { "review": { "disable": true } }}Prompt
ระบุไฟล์พร้อมท์ระบบสำหรับเอเจนต์นี้ด้วย promptความละเอียดสูงพร้อมคำแนะนำเฉพาะสำหรับกรณีของตัวแทน
{ "agent": { "review": { "prompt": "{file:./prompts/code-review.txt}" } }}เกี่ยวเนื่องกับสิ่งนี้กับระบบไฟล์ที่อาจเป็นสาเหตุว่าทำไมจึงสามารถใช้ได้กับทั้ง OpenCode ส่วนกลางและเฉพาะโครงการ
Model
ใช้ฟังก์ชัน model ในส่วนของโมเดลโมเดลสำหรับเอเจนต์นี้มีประโยชน์สำหรับการใช้โมเดลโมเลกุลซึ่งปรับให้เหมาะกับงานโครงสร้างเช่นโมดูลสำหรับโมดูลที่ตรวจสอบที่เก็บข้อมูลจำนวนมากสำหรับการดำเนินการ
{ "agent": { "plan": { "model": "anthropic/claude-haiku-4-20250514" } }}รหัสโมเดลในบางครั้ง OpenCode ของคุณใช้รูปแบบ provider/model-id เช่นต้องใช้ OpenCode Zen แล้วก็ใช้ opencode/gpt-5.1-codex สำหรับ GPT 5.1 Codex
เครื่องมือ
พื้นฐานว่าเครื่องมือนี้สามารถตรวจสอบประสิทธิภาพของเอเจนต์ด้วย tools วิจัยเปิดหรือตรวจสอบเครื่องมือเฉพาะเจาะจงเป็น true หรือ false
{ "$schema": "https://opencode.ai/config.json", "tools": { "write": true, "bash": true }, "agent": { "plan": { "tools": { "write": false, "bash": false } } }}จำเป็นต้องใช้ไวด์การ์ดเพื่อควบคุมเครื่องมือหลายรายการพร้อมกันได้ยืนยันว่าเครื่องมือทั้งหมดจากเซิร์ฟเวอร์ MCP:
{ "$schema": "https://opencode.ai/config.json", "agent": { "readonly": { "tools": { "mymcp_*": false, "write": false, "edit": false } } }}เรียนรู้เพิ่มเติมเกี่ยวกับเครื่องมือ
สิทธิ์
หลักการที่ถูกต้องเพื่อประสิทธิภาพในการดำเนินการที่ตัวแทนหลายแห่งในปัจจุบันความสามารถในการสำหรับเครื่องมือ edit, bash และ webfetch ได้อย่างมีประสิทธิภาพเป็น:
"ask"— อนุมัติก่อนการเข้าถึงเครื่องมือ"allow"— ประสิทธิภาพการทำงานทั้งหมดเป็นเพียง…"deny"— มันเป็นเครื่องมือ
{ "$schema": "https://opencode.ai/config.json", "permission": { "edit": "deny" }}ทำให้คุณมีสิทธิ์ที่จะต่อตัวแทนได้
{ "$schema": "https://opencode.ai/config.json", "permission": { "edit": "deny" }, "agent": { "build": { "permission": { "edit": "ask" } } }}คุณไม่จำเป็นต้องมีสิทธิ์ในตัวแทน Markdown
---description: Code review without editsmode: subagentpermission: edit: deny bash: "*": ask "git diff": allow "git log*": allow "grep *": allow webfetch: deny---
Only analyze code and suggest changes.การตั้งค่าเริ่มต้นสำหรับคำสั่งทุบตีเฉพาะได้
{ "$schema": "https://opencode.ai/config.json", "agent": { "build": { "permission": { "bash": { "git push": "ask", "grep *": "allow" } } } }}นี่อาจใช้รูปแบบ glob
{ "$schema": "https://opencode.ai/config.json", "agent": { "build": { "permission": { "bash": { "git *": "ask" } } } }}และอีกครั้งใช้ * wildcard เพื่อให้สิทธิ์สำหรับคำสั่งทั้งหมดได้
เมื่อกฎเริ่มขึ้นล่าสุดมีความสำคัญมากกว่าที่จะใส่ * ไวด์การ์ดขึ้นนำและกฎเฉพาะตามหลัง
{ "$schema": "https://opencode.ai/config.json", "agent": { "build": { "permission": { "bash": { "*": "ask", "git status *": "allow" } } } }}เรียนรู้เพิ่มเติมเกี่ยวกับเรื่องนี้
Mode
ต้นแบบโหมดของตัวแทนด้วย mode บันทึก mode บันทึกวิธีการกำหนดวิธีการใช้ตัวแทน
{ "agent": { "review": { "mode": "subagent" } }}สวัสดี mode สามารถตั้งค่าเป็น primary, subagent หรือ all หากไม่ได้ระบุ mode ระบบระบบควบคุมเป็น all
Hidden
ซ่อนตัวแทนย่อยจากเมนูเติมข้อความอัตโนมัติ @ ด้วย hidden: true มีประโยชน์สำหรับตัวแทนย่อยภายในจำเป็นต้องมีโปรแกรมโดยทางอื่นตัวแทนผ่านเครื่องมืองานเท่านั้น
{ "agent": { "internal-helper": { "mode": "subagent", "hidden": true } }}ในที่สุดคุณจะพบในเมนูเติมข้อความอัตโนมัติเท่านั้นที่จำเป็นต้องมีเอเจนต์ที่เป็นได้ผ่านเครื่องมืองานหากต้องการ
Task permissions
ต้นแบบตัวแทนย่อยที่ตัวแทนสามารถต้องใช้เครื่องมือผ่านงานด้วย permission.task ใช้รูปแบบ glob ส่วนใหญ่ที่ใหญ่ขึ้น
{ "agent": { "orchestrator": { "mode": "primary", "permission": { "task": { "*": "deny", "orchestrator-*": "allow", "code-reviewer": "ask" } } } }}ตั้งเป็น deny แอดเจนต์ย่อยจะลบคำอธิบายเครื่องมืองานทั้งหมดนั่นคือโมเดลจะไม่พยายามทำอะไร
Color
ปรับแต่งความต้องการของตัวแทนใน UI ด้วยตัวเลือก color เพื่อดูลักษณะเฉพาะของตัวแทนในการปฏิบัติตาม
ใช้สีฐานสิบหกที่ถูกต้อง (เช่น #FF5733) หรือระบบควบคุม: primary, secondary, accent, success, warning, error, info
{ "agent": { "creative": { "color": "#ff6b6b" }, "code-reviewer": { "color": "accent" } }}Top P
หลักการของปฏิกิริยาด้วยตัวเลือก top_p ทางเลือกแทนการควบคุมการสุ่ม
{ "agent": { "brainstorm": { "top_p": 0.9 } }}ค่าครองชีพ 0.0 ถึง 1.0 ค่าที่ต่ำกว่าจะเน้นไปที่ค่าที่มักจะเป็นเวลานาน
Additional
ข้อมูลอื่นๆ ที่คุณระบุในบางครั้งตัวแทนของคุณไปที่ ส่งผ่านโดยตรง ในส่วนของโครงสร้างข้อมูล คุณจะต้องดำเนินการและตรวจสอบเฉพาะของข้อมูลเท่านั้นได้
เช่น ด้วยรูปแบบการใช้เหตุผลของ OpenAI อ่านการควบคุมเพื่อให้เหตุผล:
{ "agent": { "deep-thinker": { "description": "Agent that uses high reasoning effort for complex problems", "model": "openai/gpt-5", "reasoningEffort": "high", "textVerbosity": "low" } }}ตรวจสอบเพิ่มเติมในรุ่นและเฉพาะเจาะจงการสแกนเอกสารของคุณเพื่อดูภาพรวม
สร้างตัวแทน
การสร้างตัวแทนใหม่ได้อีกครั้งตามลำดับ:
opencode agent createคำสั่งแบบในเวลานี้:
- ถามว่าจะบันทึกตัวแทนได้ที่ไหนระดับโลกหรือเฉพาะโครงการ
- คำอธิบายสิ่งที่ตัวแทนควรทำ
- สร้างพรอมต์และตัวระบุชนิดของที่เหมาะสม
- ให้คุณเลือกเครื่องมือที่ตัวแทนอย่างเป็นทางการ
- ในที่สุดสร้างไฟล์ Markdown ด้วยเอเจนต์
กรณีการใช้งาน
ต่อไปเป็นกรณีการใช้งานทั่วไปสำหรับตัวแทนต่างๆ
- ตัวแทนที่กำลังพัฒนา: งานพัฒนาใหม่ล่าสุดโดยอาศัยเครื่องมือทั้งหมด
- ตัวแทนแผน: ผู้วิเคราะห์และวางแผนโดยไม่ทำการเปลี่ยนแปลง
- ตัวแทนตรวจสอบ: ตรวจสอบโค้ดพร้อมแบบอ่านเพียงอย่างเดียวพร้อมเครื่องมือเอกสารประกอบ
- ตัวแทนแก้ไขข้อบกพร่อง: ตรวจสอบโดยการตรวจสอบโดยการควบคุมตีและผู้อ่าน
- ตัวแทนเอกสาร: เนื้อหาเอกสารด้วยไฟล์จัดเก็บข้อมูลที่ระบบปฏิบัติตาม
แปลความหมายได้
ตัวแทนอธิบายว่าคุณอาจจะพบว่ามีประโยชน์
ตัวแทนเอกสาร
---description: Writes and maintains project documentationmode: subagenttools: bash: false---
You are a technical writer. Create clear, comprehensive documentation.
Focus on:
- Clear explanations- Proper structure- Code examples- User-friendly languageผู้ตรวจสอบความปลอดภัย
---description: Performs security audits and identifies vulnerabilitiesmode: subagenttools: write: false edit: false---
You are a security expert. Focus on identifying potential security issues.
Look for:
- Input validation vulnerabilities- Authentication and authorization flaws- Data exposure risks- Dependency vulnerabilities- Configuration security issues