Skip to content

ตัวแทน

และตัวแทนพิเศษ

เจ้าหน้าที่คือผู้ช่วย 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


เรื่องนั้น

  1. สำหรับตัวแทนหลักให้ใช้ปุ่ม Tab เพื่อวนดูตัวแทนที่มีความสำคัญ โปรดใช้การผูกปุ่ม switch_agent ที่โรงยิมไว้ได้

  2. สามารถตัวแทนย่อยได้:

    • ****โดยตัวแทนหลักโดยเฉพาะพิเศษตามคำอธิบาย

    • เพิ่มเติมโดย @ ต้องการ ตัวแทนย่อยในข้อความของคุณเช่น

      @general help me search for this function
  3. ปรับปรุงระหว่างการปรับปรุง: เมื่อตัวแทนย่อยสร้างหลังคาและเรียนรู้ร่วมกันระหว่างการปรับปรุงหลักและหลังคาทั้งหมดได้ทั้งหมด:

    • <Leader>+Right (หรือ session_child_cycle keybind ที่คุณรู้ไว้) ในวนผ่าน parent → child1 → child2 → … → parent
    • <Leader>+Left (หรือฟัง session_child_cycle_reverse keybind) เพื่อวนย้อนกลับผ่าน parent ← child1 ← child2 ← … ← parent

    เรียนรู้การดำเนินการระหว่างการดำเนินการหลักและงานตัวแทนย่อยเฉพาะเจาะจง


การกำหนดค่า

ปรับแต่งเอเจนต์ในหรือสร้างเอเจนต์ได้ผ่านมาได้อย่างไม่น่าเชื่อตัวแทนได้สองวิธี:


JSON

ไม่เชื่อตัวแทนในไฟล์ในกรุง opencode.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/
~/.config/opencode/agents/review.md
---
description: Reviews code for quality and best practices
mode: subagent
model: anthropic/claude-sonnet-4-20250514
temperature: 0.1
tools:
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 เพื่อให้คำอธิบายสีนี้ทำอะไรและแนะนำเมื่อใด

opencode.json
{
"agent": {
"review": {
"description": "Reviews code for best practices and potential issues"
}
}
}

รายการไม่จำเป็น จำเป็น


Temperature

เหตุผลของการสุ่มและการตอบกลับของ LLM ด้วย temperature

ค่าที่ต่ำกว่านี้จะตอบสนองมีจุดมุ่งหมายและทราบถึงค่าที่จะช่วยลดการส่งผลและส่งผลถึง

opencode.json
{
"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: คำตอบที่สร้างสรรค์และหลากหลายมากขึ้นซึ่งมีประโยชน์สำหรับการศึกษาและต่อไป
opencode.json
{
"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

จำนวนส่วนประกอบของการวนซ้ำของเอเจนต์ที่เอเจนต์เป็นผลสืบเนื่องด้วยข้อความเท่านั้นวิธีการที่ต้องการควบคุมต้นทุนสามารถกำหนดได้ในแนวทางที่ตัวแทนได้

หากไม่ได้ตั้งค่านี้ เอเจนต์จะดำเนินต่อไปจนกว่าโมเดลจะจะหยุดหรือผู้ใช้ขัดจังหวะ

opencode.json
{
"agent": {
"quick-thinker": {
"description": "Fast reasoning with limited iterations",
"prompt": "You are a quick thinker. Solve problems with minimal steps.",
"steps": 5
}
}
}

ไปถึงความโดดเด่นจะได้รับพร้อมท์พิเศษที่แนะนำให้เรียนรู้ด้วยการสรุปงานและงานที่เหลืออีกครั้ง


Disable

ตั้งค่าเป็น true ไปถึงสมาชิก

opencode.json
{
"agent": {
"review": {
"disable": true
}
}
}

Prompt

ระบุไฟล์พร้อมท์ระบบสำหรับเอเจนต์นี้ด้วย promptความละเอียดสูงพร้อมคำแนะนำเฉพาะสำหรับกรณีของตัวแทน

opencode.json
{
"agent": {
"review": {
"prompt": "{file:./prompts/code-review.txt}"
}
}
}

เกี่ยวเนื่องกับสิ่งนี้กับระบบไฟล์ที่อาจเป็นสาเหตุว่าทำไมจึงสามารถใช้ได้กับทั้ง OpenCode ส่วนกลางและเฉพาะโครงการ


Model

ใช้ฟังก์ชัน model ในส่วนของโมเดลโมเดลสำหรับเอเจนต์นี้มีประโยชน์สำหรับการใช้โมเดลโมเลกุลซึ่งปรับให้เหมาะกับงานโครงสร้างเช่นโมดูลสำหรับโมดูลที่ตรวจสอบที่เก็บข้อมูลจำนวนมากสำหรับการดำเนินการ

opencode.json
{
"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

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"tools": {
"write": true,
"bash": true
},
"agent": {
"plan": {
"tools": {
"write": false,
"bash": false
}
}
}
}

จำเป็นต้องใช้ไวด์การ์ดเพื่อควบคุมเครื่องมือหลายรายการพร้อมกันได้ยืนยันว่าเครื่องมือทั้งหมดจากเซิร์ฟเวอร์ MCP:

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"readonly": {
"tools": {
"mymcp_*": false,
"write": false,
"edit": false
}
}
}
}

เรียนรู้เพิ่มเติมเกี่ยวกับเครื่องมือ


สิทธิ์

หลักการที่ถูกต้องเพื่อประสิทธิภาพในการดำเนินการที่ตัวแทนหลายแห่งในปัจจุบันความสามารถในการสำหรับเครื่องมือ edit, bash และ webfetch ได้อย่างมีประสิทธิภาพเป็น:

  • "ask" — อนุมัติก่อนการเข้าถึงเครื่องมือ
  • "allow" — ประสิทธิภาพการทำงานทั้งหมดเป็นเพียง…
  • "deny" — มันเป็นเครื่องมือ
opencode.json
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "deny"
}
}

ทำให้คุณมีสิทธิ์ที่จะต่อตัวแทนได้

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "deny"
},
"agent": {
"build": {
"permission": {
"edit": "ask"
}
}
}
}

คุณไม่จำเป็นต้องมีสิทธิ์ในตัวแทน Markdown

~/.config/opencode/agents/review.md
---
description: Code review without edits
mode: subagent
permission:
edit: deny
bash:
"*": ask
"git diff": allow
"git log*": allow
"grep *": allow
webfetch: deny
---
Only analyze code and suggest changes.

การตั้งค่าเริ่มต้นสำหรับคำสั่งทุบตีเฉพาะได้

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"git push": "ask",
"grep *": "allow"
}
}
}
}
}

นี่อาจใช้รูปแบบ glob

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"git *": "ask"
}
}
}
}
}

และอีกครั้งใช้ * wildcard เพื่อให้สิทธิ์สำหรับคำสั่งทั้งหมดได้ เมื่อกฎเริ่มขึ้นล่าสุดมีความสำคัญมากกว่าที่จะใส่ * ไวด์การ์ดขึ้นนำและกฎเฉพาะตามหลัง

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"build": {
"permission": {
"bash": {
"*": "ask",
"git status *": "allow"
}
}
}
}
}

เรียนรู้เพิ่มเติมเกี่ยวกับเรื่องนี้


Mode

ต้นแบบโหมดของตัวแทนด้วย mode บันทึก mode บันทึกวิธีการกำหนดวิธีการใช้ตัวแทน

opencode.json
{
"agent": {
"review": {
"mode": "subagent"
}
}
}

สวัสดี mode สามารถตั้งค่าเป็น primary, subagent หรือ all หากไม่ได้ระบุ mode ระบบระบบควบคุมเป็น all


Hidden

ซ่อนตัวแทนย่อยจากเมนูเติมข้อความอัตโนมัติ @ ด้วย hidden: true มีประโยชน์สำหรับตัวแทนย่อยภายในจำเป็นต้องมีโปรแกรมโดยทางอื่นตัวแทนผ่านเครื่องมืองานเท่านั้น

opencode.json
{
"agent": {
"internal-helper": {
"mode": "subagent",
"hidden": true
}
}
}

ในที่สุดคุณจะพบในเมนูเติมข้อความอัตโนมัติเท่านั้นที่จำเป็นต้องมีเอเจนต์ที่เป็นได้ผ่านเครื่องมืองานหากต้องการ


Task permissions

ต้นแบบตัวแทนย่อยที่ตัวแทนสามารถต้องใช้เครื่องมือผ่านงานด้วย permission.task ใช้รูปแบบ glob ส่วนใหญ่ที่ใหญ่ขึ้น

opencode.json
{
"agent": {
"orchestrator": {
"mode": "primary",
"permission": {
"task": {
"*": "deny",
"orchestrator-*": "allow",
"code-reviewer": "ask"
}
}
}
}
}

ตั้งเป็น deny แอดเจนต์ย่อยจะลบคำอธิบายเครื่องมืองานทั้งหมดนั่นคือโมเดลจะไม่พยายามทำอะไร


Color

ปรับแต่งความต้องการของตัวแทนใน UI ด้วยตัวเลือก color เพื่อดูลักษณะเฉพาะของตัวแทนในการปฏิบัติตาม

ใช้สีฐานสิบหกที่ถูกต้อง (เช่น #FF5733) หรือระบบควบคุม: primary, secondary, accent, success, warning, error, info

opencode.json
{
"agent": {
"creative": {
"color": "#ff6b6b"
},
"code-reviewer": {
"color": "accent"
}
}
}

Top P

หลักการของปฏิกิริยาด้วยตัวเลือก top_p ทางเลือกแทนการควบคุมการสุ่ม

opencode.json
{
"agent": {
"brainstorm": {
"top_p": 0.9
}
}
}

ค่าครองชีพ 0.0 ถึง 1.0 ค่าที่ต่ำกว่าจะเน้นไปที่ค่าที่มักจะเป็นเวลานาน


Additional

ข้อมูลอื่นๆ ที่คุณระบุในบางครั้งตัวแทนของคุณไปที่ ส่งผ่านโดยตรง ในส่วนของโครงสร้างข้อมูล คุณจะต้องดำเนินการและตรวจสอบเฉพาะของข้อมูลเท่านั้นได้

เช่น ด้วยรูปแบบการใช้เหตุผลของ OpenAI อ่านการควบคุมเพื่อให้เหตุผล:

opencode.json
{
"agent": {
"deep-thinker": {
"description": "Agent that uses high reasoning effort for complex problems",
"model": "openai/gpt-5",
"reasoningEffort": "high",
"textVerbosity": "low"
}
}
}

ตรวจสอบเพิ่มเติมในรุ่นและเฉพาะเจาะจงการสแกนเอกสารของคุณเพื่อดูภาพรวม


สร้างตัวแทน

การสร้างตัวแทนใหม่ได้อีกครั้งตามลำดับ:

Terminal window
opencode agent create

คำสั่งแบบในเวลานี้:

  1. ถามว่าจะบันทึกตัวแทนได้ที่ไหนระดับโลกหรือเฉพาะโครงการ
  2. คำอธิบายสิ่งที่ตัวแทนควรทำ
  3. สร้างพรอมต์และตัวระบุชนิดของที่เหมาะสม
  4. ให้คุณเลือกเครื่องมือที่ตัวแทนอย่างเป็นทางการ
  5. ในที่สุดสร้างไฟล์ Markdown ด้วยเอเจนต์

กรณีการใช้งาน

ต่อไปเป็นกรณีการใช้งานทั่วไปสำหรับตัวแทนต่างๆ

  • ตัวแทนที่กำลังพัฒนา: งานพัฒนาใหม่ล่าสุดโดยอาศัยเครื่องมือทั้งหมด
  • ตัวแทนแผน: ผู้วิเคราะห์และวางแผนโดยไม่ทำการเปลี่ยนแปลง
  • ตัวแทนตรวจสอบ: ตรวจสอบโค้ดพร้อมแบบอ่านเพียงอย่างเดียวพร้อมเครื่องมือเอกสารประกอบ
  • ตัวแทนแก้ไขข้อบกพร่อง: ตรวจสอบโดยการตรวจสอบโดยการควบคุมตีและผู้อ่าน
  • ตัวแทนเอกสาร: เนื้อหาเอกสารด้วยไฟล์จัดเก็บข้อมูลที่ระบบปฏิบัติตาม

แปลความหมายได้

ตัวแทนอธิบายว่าคุณอาจจะพบว่ามีประโยชน์


ตัวแทนเอกสาร

~/.config/opencode/agents/docs-writer.md
---
description: Writes and maintains project documentation
mode: subagent
tools:
bash: false
---
You are a technical writer. Create clear, comprehensive documentation.
Focus on:
- Clear explanations
- Proper structure
- Code examples
- User-friendly language

ผู้ตรวจสอบความปลอดภัย

~/.config/opencode/agents/security-auditor.md
---
description: Performs security audits and identifies vulnerabilities
mode: subagent
tools:
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