AI 체계적으로 일 시키기(SDD 에이전트 구축) — Claude Code 에이전틱 자동화
강의 : [13. 5. SDD 워크플로우 러너 - AI 페어 프로그래밍] 문의지점 : 07:58~08~37 부분 SDD 워크플로우에서 <모든 검증 통과 후 Task.md 업데이트 -> HANDOFF.md 작성>을 클로드가 자동으로 하는 모습이 나오고, 강사님께서는 "오토 컴팩트를 신뢰하지 않기 때문에 전역설정에 무조건 핸드오프 문서(다음 세션에서 이전 세션에 뭐 했는지를 알아보기 위해 작성하는 문서)를 작성하라고 명령을 해두었다"고 말씀주셨는데 (** 경로 : claudedocs > HANDOFF.md ) 제 결과물에서는 HANDOFF.md 문서작성이 자동으로 되지 않더라구요. 요거 혹시 따로 설명주신 부분이 있을까요..? 찾지 못해 여쭙니다. 플코님 강의 너무 잘듣고 있습니다.
아래의 두 개의 설정을 변경하고 싶습니다. 커서툴 색상변경 => 업데이트?되면서 흰색 밝은환경으로 바뀌었는데 강사님처럼 어두운 버전으로 설정하고 싶습니다. 터미널 클로드 입력칸 위치 에서 클로드를 열고 프롬프트 입력칸이 크기를 키워도 하단에 있어 칸이 좁거나 불편합니다. 프롬프트 입력칸이 밑으로 고정되어있는것같은데 변경방법이 궁금합니다.
OpenAI를 활용한 나만의 AI 에이전트 만들기 (Agent Builder, GPT-5, Chatkit, Cloudflare, MCP, Fine Tuning, CoT 등)
다른 수강자 답변으로 달아주신 내용으로 진행해도 빌드에러가 나네요,, 에러는 다음과 같습니다. 2026-07-23T11:18:49.730273Z Cloning repository... 2026-07-23T11:18:50.368416Z From https://github.com/ykcho-sys/openai-chatkit-starter-app 2026-07-23T11:18:50.36871Z * branch ff735b20c151ce66bdc2847a8050d807483a8b82 -> FETCH_HEAD 2026-07-23T11:18:50.368796Z 2026-07-23T11:18:50.386756Z HEAD is now at ff735b2 Add files via upload 2026-07-23T11:18:50.386975Z 2026-07-23T11:18:50.430186Z 2026-07-23T11:18:50.430517Z Using v2 root directory strategy 2026-07-23T11:18:50.442575Z Success: Finished cloning repository files 2026-07-23T11:18:52.037942Z Checking for configuration in a Wrangler configuration file (BETA) 2026-07-23T11:18:52.038327Z 2026-07-23T11:18:52.174064Z No Wrangler configuration file found. Continuing. 2026-07-23T11:18:52.43705Z Detected the following tools from environment: nodejs@22.22.0, npm@10.9.2 2026-07-23T11:18:52.437473Z Installing nodejs 22.22.0 2026-07-23T11:18:53.206123Z Trying to update node-build... ok 2026-07-23T11:18:53.257603Z To follow progress, use 'tail -f /tmp/node-build.20260723111853.799.log' or pass --verbose 2026-07-23T11:18:53.299865Z Downloading node-v22.22.0-linux-x64.tar.gz... 2026-07-23T11:18:53.425752Z -> https://nodejs.org/dist/v22.22.0/node-v22.22.0-linux-x64.tar.gz 2026-07-23T11:18:56.367721Z 2026-07-23T11:18:56.368031Z WARNING: node-v22.22.0-linux-x64 is in LTS Maintenance mode and nearing its end of life. 2026-07-23T11:18:56.368121Z It only receives critical security updates, critical bug fixes and documentation updates. 2026-07-23T11:18:56.368191Z 2026-07-23T11:18:56.368268Z Installing node-v22.22.0-linux-x64... 2026-07-23T11:18:56.803215Z Installed node-v22.22.0-linux-x64 to /opt/buildhome/.asdf/installs/nodejs/22.22.0 2026-07-23T11:18:56.803575Z 2026-07-23T11:18:57.426449Z Installing project dependencies: npm clean-install --progress=false 2026-07-23T11:19:13.796845Z 2026-07-23T11:19:13.797222Z added 341 packages, and audited 342 packages in 16s 2026-07-23T11:19:13.797336Z 2026-07-23T11:19:13.797641Z 139 packages are looking for funding 2026-07-23T11:19:13.797826Z run npm fund for details 2026-07-23T11:19:13.955605Z 2026-07-23T11:19:13.956084Z 10 vulnerabilities (2 moderate, 6 high, 2 critical) 2026-07-23T11:19:13.956195Z 2026-07-23T11:19:13.956243Z To address all issues, run: 2026-07-23T11:19:13.95629Z npm audit fix 2026-07-23T11:19:13.956349Z 2026-07-23T11:19:13.956391Z Run npm audit for details. 2026-07-23T11:19:14.030591Z Executing user command: npx @cloudflare/next-on-pages@1 2026-07-23T11:19:14.711456Z npm warn exec The following package was not found and will be installed: @cloudflare/next-on-pages@1.13.16 2026-07-23T11:19:17.079863Z npm error code ERESOLVE 2026-07-23T11:19:17.080221Z npm error ERESOLVE unable to resolve dependency tree 2026-07-23T11:19:17.080302Z npm error 2026-07-23T11:19:17.08036Z npm error While resolving: undefined@undefined 2026-07-23T11:19:17.081724Z npm error Found: @cloudflare/workers-types@4.20260702.1 2026-07-23T11:19:17.081835Z npm error node_modules/@cloudflare/workers-types 2026-07-23T11:19:17.081892Z npm error peerOptional @cloudflare/workers-types@"^4.20240208.0" from @cloudflare/next-on-pages@1.13.16 2026-07-23T11:19:17.082Z npm error node_modules/@cloudflare/next-on-pages 2026-07-23T11:19:17.082047Z npm error @cloudflare/next-on-pages@"1.13.16" from the root project 2026-07-23T11:19:17.082085Z npm error 2026-07-23T11:19:17.08212Z npm error Could not resolve dependency: 2026-07-23T11:19:17.082171Z npm error peerOptional @cloudflare/workers-types@"^5.20260721.1" from wrangler@4.113.0 2026-07-23T11:19:17.082214Z npm error node_modules/wrangler 2026-07-23T11:19:17.082246Z npm error peer wrangler@"^3.28.2 || ^4.0.0" from @cloudflare/next-on-pages@1.13.16 2026-07-23T11:19:17.082318Z npm error node_modules/@cloudflare/next-on-pages 2026-07-23T11:19:17.082381Z npm error @cloudflare/next-on-pages@"1.13.16" from the root project 2026-07-23T11:19:17.082416Z npm error 2026-07-23T11:19:17.082454Z npm error Fix the upstream dependency conflict, or retry 2026-07-23T11:19:17.082493Z npm error this command with --force or --legacy-peer-deps 2026-07-23T11:19:17.082535Z npm error to accept an incorrect (and potentially broken) dependency resolution. 2026-07-23T11:19:17.082567Z npm error 2026-07-23T11:19:17.082597Z npm error 2026-07-23T11:19:17.082639Z npm error For a full report see: 2026-07-23T11:19:17.082705Z npm error /opt/buildhome/.npm/_logs/2026-07-23T11_19_14_182Z-eresolve-report.txt 2026-07-23T11:19:17.082791Z npm error A complete log of this run can be found in: /opt/buildhome/.npm/_logs/2026-07-23T11_19_14_182Z-debug-0.log 2026-07-23T11:19:17.106609Z Failed: Error while executing user command. Exited with error code: 1 2026-07-23T11:19:17.112055Z Failed: build command exited with code: 1 2026-07-23T11:19:17.646247Z Failed: error occurred while running build command
[질문 내용] SumTask의 run()메서드 안 for문에서 result += i;를 하지 않고 지역변수인 sum을 사용하여 마지막에 result = sum을 하신 이유가 지역변수(sum)는 스택영역, 멤버변수(result)는 힙 영역에 관리되어, 매번 메인 메모리에 있는 result의 값을 변경하는 것이 아닌 cpu 코어의 캐시 메모리를 사용하는 것이 더 빨라서일까요?
안녕하세요 강사님 29.TDD프로젝트2(프로젝트설정) 강의에서 말씀하신 깃허브의 menupan.git 레포지토리가 보이지 않아 문의 드립니다. 질문이 없는것으로 봐서 저만 못찾고 있는건가 싶어 죄송하네요. 확인해보시고 알려주시면 감사하겠습니다. 좋은 강의를 잘 보며 배우고 있습니다. 감사합니다.
안녕하세요. 001강과 마찬가지로 002강에서도 Gradio 실행 시 에러 뜹니다.. 어떻게 해결해야할까요? ERROR: Exception in ASGI application Traceback (most recent call last): File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_ impl.py ", line 422, in run_asgi result = await app( # type: ignore[func-returns-value] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/uvicorn/middleware/proxy_ headers.py ", line 63, in call return await self.app (scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/fastapi/ applications.py ", line 1163, in call await super().__call__(scope, receive, send) File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/ applications.py ", line 90, in call await self.middleware_stack(scope, receive, send) File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/middleware/ errors.py ", line 186, in call raise exc File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/middleware/ errors.py ", line 164, in call await self.app (scope, receive, send) File "/opt/anaconda3/envs/langchain env/lib/python3.11/site-packages/gradio/route_ utils.py ", line 761, in call await self.app (scope, receive, send) File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/middleware/ exceptions.py ", line 63, in call await wrap_app_handling_exceptions( self.app , conn)(scope, receive, send) File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/_exception_ handler.py ", line 53, in wrapped_app raise exc File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/_exception_ handler.py ", line 42, in wrapped_app await app(scope, receive, sender) File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/fastapi/middleware/ asyncexitstack.py ", line 18, in call ... File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/jinja2/ utils.py ", line 515, in getitem rv = self._mapping[key] ~~~~~~~~~~~~~^^^^^ TypeError: unhashable type: 'dict' Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings... Running on local URL: http://127.0.0.1:7862 ERROR: Exception in ASGI application Traceback (most recent call last): File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_ impl.py ", line 422, in run_asgi result = await app( # type: ignore[func-returns-value] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/uvicorn/middleware/proxy_ headers.py ", line 63, in call return await self.app (scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/fastapi/ applications.py ", line 1163, in call await super().__call__(scope, receive, send) File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/ applications.py ", line 90, in call await self.middleware_stack(scope, receive, send) File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/middleware/ errors.py ", line 186, in call raise exc File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/middleware/ errors.py ", line 164, in call await self.app (scope, receive, send) File "/opt/anaconda3/envs/langchain env/lib/python3.11/site-packages/gradio/route_ utils.py ", line 761, in call await self.app (scope, receive, send) File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/middleware/ exceptions.py ", line 63, in call await wrap_app_handling_exceptions( self.app , conn)(scope, receive, send) File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/_exception_ handler.py ", line 53, in wrapped_app raise exc File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/_exception_ handler.py ", line 42, in wrapped_app await app(scope, receive, sender) File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/fastapi/middleware/ asyncexitstack.py ", line 18, in call ... File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/jinja2/ utils.py ", line 515, in getitem rv = self._mapping[key] ~~~~~~~~~~~~~^^^^^ TypeError: unhashable type: 'dict' Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings...
안녕하세요, 강의 내용대로 Gradio를 이용하여 인터페이스를 실행하려는데 아래와 같이 ASGI application 에러가 발생하며 서버가 정상 동작하지 않습니다. 어떡해야할까요? ERROR: Exception in ASGI application Traceback (most recent call last): File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_ impl.py ", line 422, in run_asgi result = await app( # type: ignore[func-returns-value] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/uvicorn/middleware/proxy_ headers.py ", line 63, in call return await self.app (scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/fastapi/ applications.py ", line 1163, in call await super().__call__(scope, receive, send) File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/ applications.py ", line 90, in call await self.middleware_stack(scope, receive, send) File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/middleware/ errors.py ", line 186, in call raise exc File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/middleware/ errors.py ", line 164, in call await self.app (scope, receive, send) File "/opt/anaconda3/envs/langchain env/lib/python3.11/site-packages/gradio/route_ utils.py ", line 761, in call await self.app (scope, receive, send) File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/middleware/ exceptions.py ", line 63, in call await wrap_app_handling_exceptions( self.app , conn)(scope, receive, send) File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/_exception_ handler.py ", line 53, in wrapped_app raise exc File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/_exception_ handler.py ", line 42, in wrapped_app await app(scope, receive, sender) File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/fastapi/middleware/ asyncexitstack.py ", line 18, in call ... File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/jinja2/ utils.py ", line 515, in getitem rv = self._mapping[key] ~~~~~~~~~~~~~^^^^^ TypeError: unhashable type: 'dict' Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings... Running on local URL: http://127.0.0.1:**** ERROR: Exception in ASGI application Traceback (most recent call last): File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_ impl.py ", line 422, in run_asgi result = await app( # type: ignore[func-returns-value] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/uvicorn/middleware/proxy_ headers.py ", line 63, in call return await self.app (scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/fastapi/ applications.py ", line 1163, in call await super().__call__(scope, receive, send) File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/ applications.py ", line 90, in call await self.middleware_stack(scope, receive, send) File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/middleware/ errors.py ", line 186, in call raise exc File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/middleware/ errors.py ", line 164, in call await self.app (scope, receive, send) File "/opt/anaconda3/envs/langchain env/lib/python3.11/site-packages/gradio/route_ utils.py ", line 761, in call await self.app (scope, receive, send) File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/middleware/ exceptions.py ", line 63, in call await wrap_app_handling_exceptions( self.app , conn)(scope, receive, send) File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/_exception_ handler.py ", line 53, in wrapped_app raise exc File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/starlette/_exception_ handler.py ", line 42, in wrapped_app await app(scope, receive, sender) File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/fastapi/middleware/ asyncexitstack.py ", line 18, in call ... File "/opt/anaconda3/envs/langchain_env/lib/python3.11/site-packages/jinja2/ utils.py ", line 515, in getitem rv = self._mapping[key] ~~~~~~~~~~~~~^^^^^ TypeError: unhashable type: 'dict' Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings...
강사님 안녕하세요. 클로드 코드를 마케팅에 활용하는 접근을 잘 다뤄주셔서 유익하게 수강하고 있습니다. 다만 한 가지 요청드리고 싶은 부분이 있습니다. 강의 게시일은 5월인데, 일부 영상은 그보다 훨씬 이전(작년)에 촬영된 것으로 보입니다. AI 툴은 발전 속도가 빠르다 보니 이 부분을 감안하더라도 현재와 많이 다른 부분도 다소 있어서, 따라가는 데 혼란이 있었습니다. 그래서 가능하시다면, 1. 각 강의마다 실제 촬영일을 기재해주시거나 2. 최신 기준(혹은 강의 오픈일 기준에서라도)으로 달라진 부분에 대한 추가 설명을 붙여주시면 수강생 입장에서 훨씬 도움이 될 것 같습니다. 특히 클로드 코드 외 다른 툴을 다루시는 영상만이라도 반영해주시면 감사하겠습니다. 저는 게시일을 확인하고 구매했는데, 실제 촬영 시점이 그보다 오래된 영상이 있어 기대와 차이가 있어 요청드려요. 검토해주시면 감사하겠습니다. 좋은 강의 만들어주셔서 감사합니다!
@ac-verifier 진행중에는 /tdd-refactor 이나 /security-review를 하지 않고 대기해야 할까요? 대기해야 한다면 ac-verifier 작업도 그냥 스킬로 해도 되지 않을까요??? 매번 다르게 판단해야해서 agent로 썻지만.. 스킬도 절차만 있지 매번 다르게 판단 결과를 주잖아요..
헥사고날 아키텍처와 DDD를 적용할 때, 화면에 강하게 연관된 조회 데이터를 어떻게 다루는 게 좋은지 궁금합니다. 예를 들어 채팅방 목록 화면에서 각 채팅방마다 다음 정보를 한 번에 보여줘야 한다고 가정하겠습니다 . ex) 채팅방 이름, 마지막 채팅 내용, 읽지 않은 채팅 개수 이 정보를 구하려면 room, chat, read_status 같은 여러 테이블을 함께 조회해야 하고 , N+1 문제를 피하려면 Querydsl 이나 JDBC 등을 사용해서 한 번의 쿼리로 조회하는 방식이 필요해 보입니다 . 이 경우 제 생각에는 기존 포트와 분리해서 , 조회 전용 port 와 query repository interface 를 application 계층에 두고 , adapter 계층에서 Querydsl/JDBC/MyBatis 등으로 구현하는 것이 해결책 같습니다. 이런 식으로 cqrs패턴을 적용하는 것이 유일한 해결책인가요? 혹시 더 나은 방법이 있는지 궁금하여 질문남깁니다. (강의 너무 잘 보고 있습니다)