ํธ์คํธ ์ฑ์ Agent ์ด๋ฆ๊ณผ ๊ด๊ณ์์ด ์ ์ฉํ๋ ๊ณต์ฉ ํ๋กํ์ด๋ค. Agent๋ ์์ฒญ์ ์กฐ์จํ๊ณ , Workspace์ ์ฝ๋ฉ Runtime ๋๋ command๊ฐ ํ์ผ ์์ ์ ์คํํ๋ค. Sandbox๋ ๋ณ๋ MCP ์๋ฒ๊ฐ ์๋๋ค.
- Agent ํ์ฌ ์ค์ ์์ ์ํฌ์คํ์ด์ค ๋๊ตฌ๋ฅผ ํ์ฑํํ๋ค.
- Models์์ Runtime๋ณ ๋ชจ๋ธ์ ์ ํํ๋ค.
- ์์ ์ยท๊ด๋ฆฌ์๊ฐ Agent์ ์ํฌ์คํ์ด์ค ๋๊ตฌ ํญ์์ ์ ์ฅ์ ์ ์ฑ ๊ณผ ๊ธฐ๋ณธ Runtime์ ์ค์ ํ๋ค.
- ์ค์น ์ธก์์ ๊ณ์ ยทWorkerยท์ด๋ฏธ์ง๋ฅผ ์ค์ ํ๋ค.
๊ธฐ๋ณธ ์ ์ฅ์๋ ์์ผ๋ฉฐ ์ ๊ทผ ๋ชจ๋ ๊ธฐ๋ณธ์ ๋ฑ๋ก + ์ ๊ท๋ค. ์ง์ํ๋ ์ ์ฑ ์ ์ ์ฅ์ ๊ณ ์ , ์์ ์ ์ง์ , ๋ชจ๋ ์ ์ฅ์, ์ ๊ท ์๋ ํ์ฉ์ด๋ค. ์ ๊ท ๋ชจ๋๋ Workspace ๋๊ตฌ๊ฐ ์ค์ ๋ก ์์ฑํ ์ ์ฅ์๋ฅผ ์๋ ๋ฑ๋กํ๋ค. ๊ธฐ์กด ์ ์ฅ์๋ ์์ ์ยท๊ด๋ฆฌ์๊ฐ ๋ช ์์ ์ผ๋ก ๋ฑ๋กํ๋ค.
์ค๋ช ์์:
Workspace์ Sandbox์์ ์ฝ๋ยทํ์ผยท๋ฐ์ดํฐ ์์ ์ ์ํํ๋ ๊ณต์ฉ ์์ด์ ํธ๋ค. PR ๋ฆฌ๋ทฐ, Issue ์์ , ๊ธฐ๋ฅ ๊ตฌํ, ๋ฆฌํฉํ ๋ง, ์์กด์ฑ ์ ๊ทธ๋ ์ด๋, CI ์คํจ ์กฐ์ฌ, ๋ณด์ ์์ ๊ณผ ํ๋ก์ ํธ ์์ฑ์ ์ง์ํ๋ค. ๊ตฌํยท์์ ์์ ์ ๊ฒ์ฆ๊ณผ ์์ ๋ธ๋์น PR๊น์ง ์ ๊ณตํ๋ค. ๋ณํฉยทํ๊ทธยท๋ฆด๋ฆฌ์ฆยท๋ฐฐํฌ๋ ์์ฒญ๋ ๋ฒ์์์ ์กฐ์จํ๋ค.
์์คํ ํ๋กฌํํธ๋ workspace-agent.md๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๋ค. ์ฝ๋ฉ ์์ฒญ์ ๊ธฐ๋ณธ ์๋ฃ ๋ฒ์๋ ์ ์์ ๋ธ๋์น์ ๊ตฌํยท๊ฒ์ฆยท์ปค๋ฐยทํธ์ยทPR์ด๋ค. main ๋ฐ์ยทํ๊ทธยท๋ฆด๋ฆฌ์ฆยท๋ฐฐํฌ๋ ๋ณ๋ ์ฌ์ฉ์ ์์ฒญ๊ณผ ํ์ธ์ ๋ฐ๋ฅธ๋ค. ์กฐํยท๋ฆฌ๋ทฐ๋ ๊ฒ์ ์ ํ ์์ฒญ์ ๊ทธ ๋ฒ์๋ฅผ ์งํจ๋ค. ์์ ๋ณ ์์ธ ์ง์นจ๊ณผ Git ์์ ๋ ์ฐ๊ฒฐ Skill์์ ์ฝ๋๋ค. ์์คํ ํ๋กฌํํธ์ ํน์ ๊ณ์ ยท์ ์ฅ์ยทIssue๋ฅผ ๋ฃ์ง ์๋๋ค.
| ์์ | Skill | ๊ธฐ๋ณธ ์๋ฃ ๋ฒ์ |
|---|---|---|
| Review Pull Request | code-review | ํด๋น HEAD์ ๊ทผ๊ฑฐ ์๋ ๋ฆฌ๋ทฐ; ๊ฒ์ยท์์ ์ ์์ฒญ๋ ๊ฒฝ์ฐ๋ง |
| Fix Issue | fix-issue | ์์ธ ์์ ๊ณผ ํ๊ท ๊ฒ์ฆ |
| Implement Feature | implement-feature | ๊ด์ฐฐ ๊ฐ๋ฅํ ์๊ตฌ ๋์๊ณผ ๊ฒ์ฌ |
| Refactor | refactor-code | ๋ณด์กดํ ๊ณ์ฝ๊ณผ ์ ํ ๋๋ฑ์ฑ ๊ฒ์ฆ |
| Dependency Upgrade | dependency-upgrade | ๋์ ๋ฒ์ ยทmanifestยทlockfileยท์ด๊ดยท๊ฒ์ฌ |
| CI Failure Investigator | ci-failure-investigator | ์คํจ run/attempt/SHA์ ์์ธ; ์์ ยท์ฌ์คํ์ ์์ฒญ๋ ๊ฒฝ์ฐ๋ง |
| Security Remediation | security-remediation | ์ง์ ๋ ๋ฌธ์ ์ ์์ ยท์์ ํ ํ๊ท ๊ฒ์ฆยท๋จ์ ์ด์ ์กฐ์น |
| Project Generator | project-generator | ์คํ ๊ฐ๋ฅํ ์ด๊ธฐ ํ๋ก์ ํธ์ ๊ฒ์ฆยท์ฌ์ฉ๋ฒ |
| ์คํ ๊ณต๊ฐ๊ณผ ๊ฒ์ ์กฐ์จ | workspace-task | ๊ฐ์ Workspace/Session ์ฌ์ฌ์ฉ, ์ ์ยท์๋ฃยท์น์ธ ๊ตฌ๋ณ |
| ์ผ๋ฐ ํ์ผยท๋ฐ์ดํฐยท์๋ํ | sandbox-task | ์๋ณธ ๋ณด์กดยท๋ณํยท์ง๊ณยท์คํฌ๋ฆฝํธ์ ๊ฒฐ๊ณผ ๊ฒ์ฌ |
| PR ์ ๋ชฉยท๋ณธ๋ฌธ | pr-description | ์ค์ ๋ณ๊ฒฝ๊ณผ ๊ฒ์ฌ์ ๊ทผ๊ฑฐํ ์ค๋ช |
์ 11๊ฐ๋ฅผ ๋ช ์์ ์ผ๋ก ์ฐ๊ฒฐํ๋ฉด ๋์ ๋ฐ๊ฒฌ์ ์์กดํ์ง ์๋๋ค. ๋ชจ๋ Skill์ ๋ณธ๋ฌธ์ ๋ฏธ๋ฆฌ ์ฝ๊ฑฐ๋ ํ ์์ฒญ์ 8๊ฐ ๊ฐ๋ฐ ์์ ์ ๋ชจ๋ ์ ์ฉํ์ง ์๋๋ค. ๋ชจ๋ธ๊ณผ ์ต๋ ํด์ ์์ ๊ท๋ชจยท์๋น์ค ์ ์ฑ ์ ๋ง์ถ๋ค. ๊ธด native ์์ ์ ๋ถ๋ชจ์ ์ํ ์กฐํ ํ๋๋ฅผ ๋๋ ค ์ ์งํ์ง ์๊ณ , ๋์ผ Workspace์์ ํ์ ํ์ธํ๋ค.
devops์ github ์ ์ธ์ ์ ์งํ๋ฉฐ MCP ์๋ฒ๋ฅผ ์ค๋ณต ๋ฑ๋กํ์ง ์๋๋ค. ๊ฐ์ ์ฐ๊ฒฐ์ ๋น๋ฐ์ด ์๋
Agent์ MCP ๋ฐ์ธ๋ฉ ํค๋๋ฅผ X-MCP-Toolsets: context,repos,issues,pull_requests,actions๋ก ์ค์ ํ๊ณ ์ฌ๋ฐ๊ฒฌํ๋ค.
Workspace๊ฐ Git ๊ฒ์ยท๋ฐฐํฌ๋ฅผ ๋ด๋นํ๋ ๊ธฐ๋ณธ ํ๋กํ์๋ X-MCP-Readonly: true๋ ์ค์ ํ๋ค.
๋ชจ๋ธยท๋๊ตฌ ์ ํ์ ์์ ํด๋ ์ด ํค๋๋ฅผ ์ ์งํ๋ค. mcp.json ๋๊ธฐํ๊ฐ ์์ ํ์ง ์๋ ์ค์น ์ค์ ์ด๋ค. ๊ณ์ ยทํ ํฐยทOAuth scope๋ ๋ณต์ฌํ๊ฑฐ๋ ํ๋ํ์ง ์๋๋ค.
GitHub๋ ์๊ฒฉ ์ฆ๊ฑฐ์ ์์ฒญ๋ ํ์ ์ ๋ด๋นํ๋ค. Workspace ํ์ผ์ Git ๊ฒ์์ ์ญํ ์ด ๊ฒน์น๋ create_repository, create_branch, push_files, create_pull_request, merge_pull_request๋ ์ด ํ๋กํ์์ ์ ์ธํ๋ค. IssueยทPR ์ฝ๊ธฐ, ํ์ผยทcommitยทrelease ์ฝ๊ธฐ์ ๊ฒ์์ ์ฐ๊ฒฐํ๊ณ CI ์กฐ์ฌ์๋ Actions์ actions_list, actions_get, get_job_logs ์ฝ๊ธฐ ๋๊ตฌ๋ฅผ ์ฐ๊ฒฐํ๋ค. workflow ์คํ/์ฌ์คํ ๋๊ตฌ๋ ์กฐ์ฌ์ ํ์ํ์ง ์๋ค. ์ ์ ์ฅ์ ์์ฑ์๋ Workspace.create_repository๋ฅผ ์ฌ์ฉํ๊ณ ๊ณ์ ยท์ ์ฅ์ ์กฐํ๋ฅผ ์ํด get_me์ ์กฐํ ๋๊ตฌ๋ฅผ ์ฐ๊ฒฐํ๋ค. ์์ฑ ์ ์ check_repository_access์ allowedยทcreation_allowed๋ฅผ ๊ตฌ๋ถํ๊ณ ์๋ฒ ์์ฑ ๊ฒฐ๊ณผ์ base_branch๋ฅผ ๊ฒ์ฌํ๋ค. ์ด๋ฆ์ด ํ์ฉ ๋ชฉ๋ก์ ์๋ค๋ ์ด์ ๋ก ๋ฐ๋ก cloneํ์ง ์๋๋ค. ๋ฆฌ๋ทฐยทIssue ํผ๋๋ฐฑ ๊ฒ์๊น์ง ํ์ํ ๋ณ๋ ํ๋กํ์ ์์ฒญ ๋ฒ์์ ๋ง๋ ์ฐ๊ธฐ ๋๊ตฌ๋ง ๋ช ์์ ์ผ๋ก ์ฐ๊ฒฐํ๋ค. ์ฝ๊ธฐ ์ ์ฉ ๊ธฐ๋ณธ ํ๋กํ์ ํด๋น ๊ฒ์๋ฅผ ์ง์ํ๋ค๊ณ ์ฝ์ํ์ง ์๋๋ค.
๋ณด์ ๊ฒฝ๊ณ API๋ ๋ณ๋ toolsetยท๊ถํ์ด ์์ ๋๋ง ์ฐ๊ฒฐํ๋ค. ์ ๊ทผ์ด ์์ผ๋ฉด ์ฌ์ฉ์ ์ ๊ณต advisoryยท์ค์บ ๊ฒฐ๊ณผ์ ํ์ฌ ์ฝ๋ยท์์กด์ฑ์ผ๋ก ๋์ํ๋ค. ์ ๊ทผ ๊ฑฐ์ ์ ๋ณด์ ๋ฌธ์ ๊ฐ ์๋ค๋ ๋ป์ผ๋ก ํด์ํ์ง ์๋๋ค. ์ฝ๋ยทGitHub ์๋ฃ๋ github MCP ์ด์ ์ง์นจ์ ๋ฐ๋ฅธ๋ค.
- ์ Workspace๋ฅผ ๋ง๋ค๊ธฐ ์ ์ options.current_workspace๋ฅผ ํ์ธํ๋ค. ํ์ ์์ฒญ์ run ๋๋ prepare_git๋ค.
- Runtime ์ง์ ์ด ์์ผ๋ฉด options.default_runtime์ ๋ฐ๋ฅธ๋ค. ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ณธ๊ฐ์ ModelsยทAgent ์ค์ ์์ ์์ ํ๋ค. ์ด๋ฏธ ์ฃผ์ด์ง ์ ธ ์คํฌ๋ฆฝํธยท๊ฒ์ฆ๋ ์งง์ ๋ช ๋ น์๋ command๋ฅผ ์ฌ์ฉํ๋ค. CLI ํ๋ก์ ํธ ์์ฑ๋ ์์ฐ์ด ์ฝ๋ฉ ์์ ์ด๋ค.
- PR ๋ฆฌ๋ทฐยทCI ์กฐ์ฌ๋ง์ผ๋ก ์ถฉ๋ถํ ์์ ์๋ Sandbox๋ฅผ ๋ง๋ค์ง ์๋๋ค. ์ฌํ์ด ํ์ํ๋ฉด ์ค์ HEAD๋ฅผ ํ์ธํ๋ค.
- start๋ branch ๊ธฐ๋ฐ clone์ด๋ค. ์์ SHA checkout, ํ์ฉ๋์ง ์์ fork, ๋ค๋ฅธ Runtime์ผ๋ก ์ ํํ๋ ๊ธฐ๋ฅ์ ์๋ค.
- Git-free ํ๋ก์ ํธ ์์ฑ์ ๊ฐ๋ฅํ๋ค. ์์ฑํ ํ์ผ์ด ์๋ ๊ณต๊ฐ์ ์ ์ฅ์๋ฅผ ๋ค๋ฆ๊ฒ attachํ ์๋ ์๋ค. ๊ฒ์ํ ํ๋ก์ ํธ๋ ์์ฑ ์ ์ ์ ์ฅ์ ๋๋ ์์ ์๊ฐ ํ์ฉ๋๋์ง ํ์ธํ๋ค. GitHub ์ฐ๊ฒฐ ์์ฒด๊ฐ Workspace ์ ์ฑ ์ ๋ฐ๊พธ์ง๋ ์๋๋ค.
- CSVยทJSONยท๋ก๊ทธ ๋ถ์, ํ์ผ ๋ณํ, ์ผ๊ด ์ฒ๋ฆฌ์ ๋ณด๊ณ ์ ์ฌ๋ฃ ์์ฑ๋ ๊ฐ์ ๊ณต๊ฐ์์ ์ํํ๋ค. ์ฒจ๋ถยทArtifact์ ์๋ mount, ๊ณต๊ฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ, ๋ค์ด๋ก๋ export, ํธ์คํธ ์ ๊ทผ์ ์ ๊ณต๋์ง ์๋ ํ ์ฝ์ํ์ง ์๋๋ค.
- Chat ์น์ธ ์๋ต์ source_chat_url์ด ์์ผ๋ฉด ์น์ธ ๊ฒฐ๊ณผ๊ฐ ์๋ ์ฑํ ์ ์ ๋ฌ๋๊ณ ๊ฐ์ SDK ์ด๋ ฅ์ผ๋ก ์ฌ๊ฐ๋๋ค. ๋ค๋จ๊ณ ์์ฒญ์ ๊ฐ ์ฑ๊ณต ํ ๋ค์ ๊ฒํ ๋ก ์ด์ด๊ฐ๋ฉฐ, ์คํจยท๊ฑฐ์ ยท๊ฒฐ๊ณผ ๋ถ๋ช ์ธ ๋์์ ์๋ ๋ฐ๋ณตํ์ง ์๋๋ค. PR ๊ฒ์ฌ pending์ ci_watch๋ก ์ต๋ 30๋ถ ๊ด์ฐฐํ๊ณ ๊ฒ์ฌ ๊ฒฐ๊ณผ๊ฐ ๊ฐ์ ์ฑํ ์ ์ฌ๊ฐํ๋ค. Playgroundยท์ง์ Workspace ์์ฒญ์๋ ์๋ Chat์ ์์๋ก ์ง์ ํ์ง ์๋๋ค.
- Workspace checks, ์ง์ ์คํํ ๊ฒ์ฌ์ GitHub CI๋ฅผ ๊ตฌ๋ถํ๋ค. Git ๊ฒ์ยทCIยท๋ฆด๋ฆฌ์คยท๋ฐฐํฌ๋ ์๋ก ๋ค๋ฅธ ๊ฒฐ๊ณผ๋ค.
Agent Settings์ Webhook URL์ GitHub Payload URL๋ก ์ฌ์ฉํ๊ณ Content type์ application/json์ผ๋ก ์ค์ ํ๋ค. Agent๊ฐ ๋ฐ๊ธํ ์ํฌ๋ฆฟ์ GitHub Secret์ ๋ฃ์ผ๋ฉด ์๋ช ์ผ๋ก ์ธ์ฆํ๋ฏ๋ก ์ปค์คํ ํค๋๊ฐ ํ์ ์๋ค. 202๋ ์ ์ ๊ฒฐ๊ณผ์ด๋ฉฐ ์ค์ ์๋ต์ Trigger ์ด๋ ฅ์์ ํ์ธํ๋ค. Webhook์ machine actor๋ก ์คํ๋๋ฉฐ ๊ฐ์ธ ์ฌ์ฉ์ Workspace ์คํ ๊ถํ์ด๋ Git ์น์ธ ๊ถํ์ ์๋์ผ๋ก ์ป์ง ์๋๋ค.
์ ์ฅ์ ์ ์ ๊ฒ์ฌ์ ํ๋ ํ๊ฐ๋ฅผ ์ฌ์ฉํ๋ค. ์๋๋ฆฌ์ค ๊ฒํ ์ ์ค์ ๋ชจ๋ธยท๋๊ตฌ ์คํ ๊ฒฐ๊ณผ๋ฅผ ๊ตฌ๋ถํ๋ค. ์ด์ ํ์ธ์ ์ฝ๊ธฐ ์์ ๊ณผ ๊ฒฉ๋ฆฌ๋ Git-free fixture๋ก ์์ํ๊ณ , ์๊ฒฉ ๊ฒ์ยท๋ณด์ ์ค์ ๋ณ๊ฒฝ์ ํ ์คํธ ๋ถ์์ฉ์ผ๋ก ์คํํ์ง ์๋๋ค.