
Hermes-Agent에서 Codex를 사용하는 방법
요약
Hermes-Agent 환경에서 Codex CLI를 활용하여 코드를 수정, 리팩토링, PR 리뷰 등을 수행하는 구체적인 유스케이스를 설명합니다. 단일 태스크 위임부터 병렬 실행, 백그라운드 작업까지 다양한 활용 방법을 다룹니다.
핵심 포인트
- Hermes에서 Codex를 terminal 또는 delegate_task로 호출 가능
- 단일 기능 추가, 대규모 리팩토링, 병렬 버그 수정 등 다양한 시나리오 지원
- PR 리뷰 및 안전한 코드 검토를 위한 워크트리/클론 활용법 제공
- 대화형 CLI 특성상 terminal 호출 시 pty=True 설정이 필수적임
Hermes 상에서 Codex를 사용하는 구체적인 유스케이스(Use Case)를 정리합니다.
Hermes 상에서 Codex를 사용하는 방법
Hermes 상에서는 Codex CLI를 terminal 도구나 delegate_task로 호출합니다.
유스케이스 1: 단일 태스크 위임
시나리오: 프로젝트에 새로운 기능을 추가하고 싶을 때
# Hermes 상에서 실행
terminal(
command='codex exec "Add error handling to the login function in src/auth.ts"',
...
결과: Codex가 직접 코드를 수정하고, Hermes가 결과를 반환합니다.
유스케이스 2: 장시간 태스크 (백그라운드)
시나리오: 대규모 리팩토링(Refactoring)을 맡기고 싶을 때
# Hermes 상에서 실행
terminal(
command='codex exec --full-auto "Refactor the entire authentication module"',
...
유스케이스 3: 복수 태스크의 병렬 실행
시나리오: 여러 개의 버그를 동시에 수정하고 싶을 때
# 1. 워크트리(Worktree) 생성
terminal(command="git worktree add -b fix/login-bug /tmp/login-bug main", workdir="/Users/user/my-project")
terminal(command="git worktree add -b fix/validation /tmp/validation main", workdir="/Users/user/my-project")
...
유스케이스 4: PR 리뷰
시나리오: 여러 개의 PR(Pull Request)을 리뷰하고 싶을 때
# 1. PR 페치(Fetch)
terminal(command="git fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'", workdir="/Users/nobuyoshi/my-project")
# 2. 병렬 리뷰
...
유스케이스 5: 안전한 코드 리뷰용 클론
시나리오: 외부 리포지토리(Repository)의 PR을 안전하게 리뷰
# 클론하여 리뷰
terminal(
command='REVIEW=$(mktemp -d) && git clone https://github.com/user/repo.git $REVIEW && cd $REVIEW && git fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*' && git checkout pr/86 && codex exec "Review this PR against origin/main"',
...
유스케이스 6: Hermes를 경유한 위임 (delegate_task)
시나리오: Hermes가 Codex를 중개하여 태스크를 실행
delegate_task(
go="Add unit tests for the authentication module",
context="Project is a TypeScript Express app at /Users/nobuyoshi/my-project. Use Jest for testing.",
...
Hermes 상에서 사용할 때의 주의점
pty=True가 필수
- Codex는 대화형 CLI이므로, 반드시
pty=True를 지정해야 합니다:
# ✅ 올바른 예
terminal(command="codex exec ...", pty=True)
# ❌ 잘못된 예 (프리징 발생)
...
git 리포지토리 내부일 것
# 확인
terminal(command="git rev-parse --git-dir", workdir="/path/to/project")
# 리포지토리가 아닌 경우
...
백그라운드 시에는 notify_on_complete=True
✅ 완료 시 알림 전송
terminal(command="codex exec --full-auto ...", background=True, notify_on_complete=True)
❌ 알림 없음 (잊어버리기 쉬움)
...
###
**Hermes 게이트웨이 내의 제한 사항**
4. Hermes 게이트웨이(Telegram 등) 내에서 Codex를 사용할 경우, 샌드박스 (Sandbox) 에러가 발생할 수 있습니다:
에러 발생 시
codex exec --sandbox danger-full-access "Task"
## 구체적인 유스케이스 (Use Case) 예시
| 유스케이스 | Hermes에서의 실행 방법 |
|---|---|
| 신규 기능 추가 | `terminal(command='codex exec "Add feature"', workdir="...", pty=True)` |
| 버그 수정 | `terminal(command='codex --yolo exec "Fix bug"', workdir="...", pty=True)` |
| 리팩토링 (Refactoring) | `terminal(command='codex exec --full-auto "Refactor"', workdir="...", background=True, pty=True)` |
| 테스트 추가 | `terminal(command='codex exec "Add tests"', workdir="...", pty=True)` |
| 코드 리뷰 (Code Review) | `terminal(command='codex exec "Review PR"', workdir="...", pty=True)` |
| 문서 업데이트 | `terminal(command='codex exec "Update docs"', workdir="...", pty=True)` |
## 실용적인 워크플로우 (Workflow) 예시
### 예시 1: 기능 개발 플로우
1. 계획
terminal(command='codex exec "Plan the implementation for dark mode"', workdir="~/project", pty=True)
2. 구현
...
### 예시 2: 버그 수정 플로우
1. 워크트리 (Worktree) 생성
terminal(command="git worktree add -b fix/issue-123 /tmp/fix-123 main", workdir="~/project")
2. 수정
...
### Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기