from negotiation_agent.environment import NegotiationEnv from negotiation_agent.agent import QLearningAgent from usecases.train_agent_usecase import TrainAgentUseCase # 유스케이스 임포트 import config def main(): # 1. 의존성(객체) 생성: 필요한 모든 '재료'를 준비합니다. env = NegotiationEnv( scenario=config.SCENARIO, target_price=config.TARGET_PRICE, threshold_price=config.THRESHOLD_PRICE, ) agent = QLearningAgent( state_dims=env.observation_space.nvec, action_size=env.action_space.n, learning_rate=config.LEARNING_RATE, gamma=config.GAMMA, epsilon=config.EPSILON_START, ) # 2. 유스케이스 생성 및 실행: 준비된 재료로 '요리사'에게 '요리'를 지시합니다. train_use_case = TrainAgentUseCase(env=env, agent=agent) train_use_case.execute() if __name__ == "__main__": main()